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

Vicare water entity show unknown state of water entity (hotWaterStorage) since 2022.05 #81618

Closed
neubi4 opened this issue Nov 5, 2022 · 10 comments · Fixed by #84720
Closed

Comments

@neubi4
Copy link

neubi4 commented Nov 5, 2022

The problem

My water entity show the state unknown for Vicare Water which is heating.dhw.sensors.temperature.hotWaterStorage in the Viessmann API.

Apparently this issue exists since core-2022.05 as stated in #73962.

Vicare Water has the state Unkown, but the graph still show the data:
image
image

My Heating is an Heatpump Vitocal 222-S.
When i set the Operating Mode in the ViCare App to only "domestic hot water", home assistant shows the correct state of the entity.
When setting Operating Mode to "heating and domestic hot water", it shows the unkown state but still has correct data in graph.

Also, the water entity is the only value from the ViCare integration that gets not written to the InfluxDB Community Addon. All other Sensors of the integration show up just fine.

The Diagnostics has an current and up to date heating.dhw.sensors.temperature.hotWaterStorage, so i think this is not an issue in PyViCare.

What version of Home Assistant Core has the issue?

core-2022.11

What was the last working version of Home Assistant Core?

core-2022.04

What type of installation are you running?

Home Assistant OS

Integration causing the issue

ViCare

Link to integration documentation on our website

https://www.home-assistant.io/integrations/vicare/

Diagnostics information

config_entry-vicare-b1f5451ed108135a2e7e753ac5a565a0.json.txt

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

home-assistant bot commented Nov 5, 2022

Hey there @oischinger, mind taking a look at this issue as it has been labeled with an integration (vicare) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of vicare can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign vicare Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


vicare documentation
vicare source
(message by IssueLinks)

@meks007
Copy link

meks007 commented Nov 24, 2022

same issue!

@oischinger
Copy link
Contributor

Note that PyVicare uses below code to get the actual numeric value from heating.dhw.sensors.temperature.hotWaterStorage
self.service.getProperty("heating.dhw.sensors.temperature.hotWaterStorage")["properties"]["value"]["value"]

Can you please check if the Json in your diagnostic info is structured accordingly?

By the way. it looks like this for me:
image

So it doesn't seem to be a problem for everyone

@neubi4
Copy link
Author

neubi4 commented Dec 11, 2022

Yes, the value is in my Json info and is correct:

        {
          "apiVersion": 1,
          "commands": {},
          "deviceId": "0",
          "feature": "heating.dhw.sensors.temperature.hotWaterStorage",
          "gatewayId": "################",
          "isEnabled": true,
          "isReady": true,
          "properties": {
            "status": {
              "type": "string",
              "value": "connected"
            },
            "value": {
              "type": "number",
              "unit": "celsius",
              "value": 47.2
            }
          },
          "timestamp": "2022-11-05T16:26:55.510Z",
          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/#######/gateways/################/devices/0/features/heating.dhw.sensors.temperature.hotWaterStorage"
        },

It is really strange. The graph is always corrent and has the temperature, but everywhere in homeassistant the value is displayed as unkown, see bottom of this screenshot:

image

@oischinger
Copy link
Contributor

I believe the issue is not the temperature but the active mode:

def getActiveMode(self): return self.service.getProperty(f"heating.circuits.{self.circuit}.operating.modes.active")["properties"]["value"]["value"]

does that endpoint contain data in your case?

@neubi4
Copy link
Author

neubi4 commented Dec 11, 2022

Its this in my current diagnose json:

        {
          "apiVersion": 1,
          "commands": {
            "setMode": {
              "isExecutable": true,
              "name": "setMode",
              "params": {
                "mode": {
                  "constraints": {
                    "enum": [
                      "standby",
                      "dhw",
                      "dhwAndHeatingCooling"
                    ]
                  },
                  "required": true,
                  "type": "string"
                }
              },
              "uri": "https://api.viessmann.com/iot/v1/equipment/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active/commands/setMode"
            }
          },
          "deviceId": "0",
          "feature": "heating.circuits.0.operating.modes.active",
          "gatewayId": "################",
          "isEnabled": true,
          "isReady": true,
          "properties": {
            "value": {
              "type": "string",
              "value": "dhwAndHeatingCooling"
            }
          },
          "timestamp": "2022-12-07T12:42:50.262Z",
          "uri": "https://api.viessmann.com/iot/v1/equipment/installations/#######/gateways/################/devices/0/features/heating.circuits.0.operating.modes.active"
        },

Json also contains heating.circuits.1.operating.modes.active and heating.circuits.2.operating.modes.active, but both have no data and are set to "isEnabled": false,, which is correct since i only have one heating circuit.

@oischinger
Copy link
Contributor

that explains it: The integration doesn't map dhwAndHeatingCooling properly.

I created a PR in the custom component: oischinger/ha_vicare#116

Do you mind testing it and give me some feedback?

@neubi4
Copy link
Author

neubi4 commented Dec 11, 2022

I just checked out your branch with the fix and copied the vicare folder into my custom_components, i think this is correct?

It looks like its working, thank you :)

image

Only issue i still have is that i can not find this value in my InfluxDB which is using the InfluxDB Community Addon. All other ViCare values/temperatures are there. But i need to dig into how the connection to InfluxDB works and debug it a bit before opening an issue.

Again, thank you very much :)

@sgurgul
Copy link

sgurgul commented Dec 11, 2022

Would this fix result in the update of the integration component ? Or it will rather wait for some other changes before release ?

@meks007
Copy link

meks007 commented Dec 18, 2022

Hi, I tested the custom component and it's working although I do have the same issue that the entity does not show in InfluxDB. The last value recorded is from Nov 8th. I think it's due to the fact that HA doesn't send unknown values to InfluxDB and that it should resolve itself once the integration sends correct values to HA.

EDIT: I can confirm data is pouring into InfluxDB now, too
image

@github-actions github-actions bot locked and limited conversation to collaborators Jan 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants