Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fields to Runtime based on returns from my thermostat #12

Merged
merged 1 commit into from
Jan 1, 2024
Merged

Add fields to Runtime based on returns from my thermostat #12

merged 1 commit into from
Jan 1, 2024

Conversation

petewall
Copy link
Contributor

These fields show up when I send a request to https://api.ecobee.com/1/thermostat, and I'd love to get that data.

Signed-off-by: Pete Wall <pete.wall@grafana.com>
@petewall
Copy link
Contributor Author

petewall commented Dec 31, 2023

Interestingly, the same data (i.e VOCs and CO2) does not show up on the thermostat's own entry in the RemoteSensors list. The entry is there, but the value is "unknown":

        {
          "id": "ei:0",
          "name": "Main floor",
          "type": "thermostat",
          "inUse": true,
          "capability": [
            {
              "id": "1",
              "type": "temperature",
              "value": "690"
            },
            {
              "id": "2",
              "type": "humidity",
              "value": "39"
            },
            {
              "id": "3",
              "type": "occupancy",
              "value": "true"
            },
            {
              "id": "4",
              "type": "airQualityAccuracy",
              "value": "unknown"
            },
            {
              "id": "5",
              "type": "airQuality",
              "value": "unknown"
            },
            {
              "id": "6",
              "type": "vocPPM",
              "value": "unknown"
            },
            {
              "id": "7",
              "type": "co2PPM",
              "value": "unknown"
            },
            {
              "id": "8",
              "type": "airPressure",
              "value": "unknown"
            }
          ]
        },

@petewall
Copy link
Contributor Author

Example runtime payload:

      "runtime": {
        "runtimeRev": "231231211135",
        "connected": true,
        "firstConnected": "2023-08-05 16:02:11",
        "connectDateTime": "2023-12-27 22:56:01",
        "disconnectDateTime": "2023-12-13 06:14:09",
        "lastModified": "2023-12-31 21:11:35",
        "lastStatusModified": "2023-12-31 21:11:35",
        "runtimeDate": "2023-12-31",
        "runtimeInterval": 252,
        "actualTemperature": 671,
        "actualHumidity": 39,
        "rawTemperature": 671,
        "showIconMode": 0,
        "desiredHeat": 670,
        "desiredCool": 740,
        "desiredHumidity": 36,
        "desiredDehumidity": 60,
        "desiredFanMode": "auto",
        "actualVOC": 551,
        "actualCO2": 525,
        "actualAQAccuracy": 4,
        "actualAQScore": 31,
        "desiredHeatRange": [
          450,
          790
        ],
        "desiredCoolRange": [
          650,
          920
        ]
      },

ActualVOC int `json:"actualVOC"`
ActualCO2 int `json:"actualCO2"`
ActualAQAccuracy int `json:"actualAQAccuracy"`
ActualAQScore int `json:"actualAQScore"`
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These fields are not documented at https://www.ecobee.com/home/developer/api/documentation/v1/objects/Runtime.shtml, but seem reasonable for the newer models. (The API documentation doesn't seem to have been updated in a few years.)

Copy link
Owner

@rspier rspier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@rspier rspier merged commit 15b5058 into rspier:master Jan 1, 2024
1 check passed
@rspier
Copy link
Owner

rspier commented Jan 1, 2024

(My Ecobee is an older model, so I can't test/confirm, but adding new fields is not risky.)

@petewall
Copy link
Contributor Author

petewall commented Jan 1, 2024

Awesome! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants