home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.21k stars 30.23k forks source link

"Power Production" still shows last value, although "Power" is consumed #104070

Closed dinomyte76 closed 1 month ago

dinomyte76 commented 10 months ago

The problem

I recieved a new Tibber Pulse IR, because the old one was broken. I simply exchanged them and hadn't had to change anything in HA to get it to work again.

However, since then the "Power Production" is not cleared to 0 after the power consumption started: grafik

In the example it still shows 2 W, although it should be 0 W. Last night the value was on 45 W through the whole night.

Any idea what this could be?

Thanks! Br Dino

What version of Home Assistant Core has the issue?

core-2023.11.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

tibber

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 10 months ago

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

Code owner commands Code owners of `tibber` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign tibber` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


tibber documentation tibber source (message by IssueLinks)

Danielhiversen commented 10 months ago

The integration shows the last received (non None) value from the Tibber API. You can solve it by combining the value of import and export. One of them should always be 0.

dinomyte76 commented 10 months ago

Hi @Danielhiversen Do you mean i should solve it with kind of an if/else logic or mathematical calculation? What i am curious is, what has happened? as i never had that behavior one single time with the old Pulse IR. Was using it for about six months. Do i maybe need to reinstall the Integration or can i somehow log this? Would be interesting to know what the difference is…

actual: IMG_7833

Thanks a lot for your support!

dinomyte76 commented 10 months ago

Hmm, need to jump in on the actual status. Seems it is generally frozen right now, as i see the power production changing in the Tibber App but HA sensors of tibber integration are all frozen….

dinomyte76 commented 10 months ago

Very strange, after HA restart the integration works again. Before restart i checked the logs and has_real_time_consumption was false, after restart it was true again :-(

before restart:

  {
    "last_data_timestamp": "2023-11-17T23:00:00+01:00",
    "has_active_subscription": true,
    "has_real_time_consumption": false,
    "last_cons_data_timestamp": "2023-11-17T12:00:00+01:00",
    "country": "DE"
  }

after restart:

  {
    "last_data_timestamp": "2023-11-18T23:00:00+01:00",
    "has_active_subscription": true,
    "has_real_time_consumption": true,
    "last_cons_data_timestamp": "2023-11-17T13:00:00+01:00",
    "country": "DE"
  }
Danielhiversen commented 10 months ago

That is a different bug https://github.com/home-assistant/core/issues/100410#issuecomment-1720694559

The Tibber API sometimes wrongly reports "has_real_time_consumption": false,

issue-triage-workflows[bot] commented 7 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

dinomyte76 commented 7 months ago

Unfortunately, this issue is not yet solved. Updated everything over the weekend and exchanged batteries on the Tibber Pulse, thus i had to do a complete reinitilization setup of the Tibber Pulse.

Last night it was hanging on 7W and the night before at 14W. grafik

Is it possible to trace what the Tibber Pulse is sending and how often?

dinomyte76 commented 7 months ago

@Danielhiversen I think i made a step forward in my root cause analysis.

I finally found a way how i can check the API in more detail: https://gist.github.com/Lineflyer/20425f08928b53ebc863cae3ae803626

What i realized and where i was curious since a while, is why my new Tibber Pulse is refreshing the data not as frequently as my old Pulse. The new one is receiveing/sending the data, then after 28 seconds again, then 9 seconds, then again 28 seconds, and so on. E.g. "timestamp": "2024-02-20T14:09:21.000+01:00", "timestamp": "2024-02-20T14:09:50.000+01:00", "timestamp": "2024-02-20T14:09:59.000+01:00", "timestamp": "2024-02-20T14:10:27.000+01:00", "timestamp": "2024-02-20T14:10:36.000+01:00", "timestamp": "2024-02-20T14:11:04.000+01:00",

My old Pulse was updating the data every 2-3 seconds (asked also other users about their behaviour and they confirmed 2-3 seconds).

Like you said:

The integration shows the last received (non None) value from the Tibber API.

{ "liveMeasurement": { "timestamp": "2024-02-21T14:07:01.000+01:00", "power": 0, "powerProduction": 3386, } }

{ "liveMeasurement": { "timestamp": "2024-02-21T20:16:06.000+01:00", "power": 781, "powerProduction": null, } }

So my assumption now is that the API is sending the powerProduction as long as it receives values above 0, and then once or couple of times 0 until it switches to "null". Due to my long "breaks" in between the updates of the data (28 sec and 9 sec), i assume that in my case those are "missed". Does this make sense and could this be?

I am asking myself why the Tibber API is sending "null" for the powerProduction but for power they stay on 0 the whole day when the sun shines. From consistency pov i would expect it either or :-( both 0 or both null... if i am not mistaken.

However, would it make sense or would it be an issue to adapt the integration to this behaviour? or must "null" be "None" (i think i know the answer already ;-))

I really don't know why my new Pulse behaves different. I already rotated the IR slightly in both directions. The only thing i additionally changed at home was to exchange the Fritzbox with TP-Link Access Points and VPN Router setup, but i somehow cannot imagine that this might act differently. However i cannot prove it and this would be a hell of work to setup my old setup at home for a retest.

Thanks in advance for your feedback!

Br Dino

Abb4d0n commented 5 months ago

@Danielhiversen I am observing the same behaviour as @dinomyte76. When there is no power production, the tibber API returns "null" instead of a float value (checked in tibber developer explorer). As a result, power production was shown as "2W" even at night. Is it possible to treat null as 0?

Thanks!

Danielhiversen commented 5 months ago

null is not necessarily 0. null means missing value. So it needs some more logic

Abb4d0n commented 5 months ago

In general I agree. However, I don't think tibber is giving an expansion why the value for "powerProduction" is null. Leaving the last non null value is an option but from my perspective it is a wrong value. In this case, I think we can assume null means 0 Watts.

Danielhiversen commented 5 months ago

For some meters powerProduction is sent every 10 second and power production is sent every 2 second. With your suggestion, the powerProduction will be set to 0 most of the time, when there is production.

rschoell commented 5 months ago

I've opened a ticket with Tibber to ask, if they could potentially change the behaviour to the same as with "power". Don't know how this will go, but looking forward to their answer. @Danielhiversen for your 2nd last comment: I'm assuming that they currently will only provide "null", when there's no power production reported. yes, null means missing value, what in this case wouldn't be wrong to have 0 reported from my point of view until Tibber might change this to the same behaviour as with power being reported as 0, when you're producing power.

Danielhiversen commented 5 months ago

Not sure it makes sense to change this in the data from Tibber.

I will not replace null with 0. I will see if can add some logic here, to make it more correct.

Abb4d0n commented 5 months ago

I've created a virtual sensor which returns 0 if the sensor is unavailable or the consumption is > 0 Watts. Otherwise, the production value from the API is returned. This fits my setup.

rschoell commented 5 months ago

Yes, that's how I solved it as well. Just thought, if this isn't duplicate effort, if it could be programmed into the code directly.


Von: Abb4d0n @.> Gesendet: Montag, 6. Mai 2024 12:05 An: home-assistant/core @.> Cc: surfer2100 @.>; Comment @.> Betreff: Re: [home-assistant/core] "Power Production" still shows last value, although "Power" is consumed (Issue #104070)

I've created a virtual sensor which returns 0 if the sensor is unavailable or the consumption is > 0 Watts. This fits my setup.

— Reply to this email directly, view it on GitHubhttps://github.com/home-assistant/core/issues/104070#issuecomment-2095618549, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJUVD455BDKMF7VGF7UYB7DZA5IVRAVCNFSM6AAAAAA7N7AE3OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJVGYYTQNJUHE. You are receiving this because you commented.Message ID: @.***>

issue-triage-workflows[bot] commented 2 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.