-
Notifications
You must be signed in to change notification settings - Fork 63
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
[Weatherflow Tempest] Bizarrely reporting 0ºC, even though the Tempest app does not #288
Comments
Happy to open a separate issue for mine, but my initial read is that I'm seeing the same thing: As of 5am this morning, I've also been receiving 0s for the Homebridge readings from my Tempest, despite the app reporting figures. What I did was run Here's the raw UDP output (note, on Mac OS, I seem to have to hold down
Homebridge logs for the same packets, which show it's reading the above as all zeroes for some reason:
|
Oh I see what’s happening. My Tempest is sending So now a second question is why is my Tempest claiming a bunch of sensor failures on UDP if it’s not showing any such thing in the app. |
Been digging a little more. I started a discussion in the community forums in case other folks have seen this. The person who replied made a set of python tools called wfudptools that make it easier to inspect packets if you have python3/pip3. I also started a private support request with Weatherflow to see what they say. @wimleers I'd suggest |
@jmissig Can't to the Using
Enabled Homebridge's debug mode, and I'm also seeing similar output:
|
Yeah your
|
I did the
☝️ Indeed nothing extra it seems. How are things going with Weatherflow support? 🤞 |
What's interesting there is the presence of
… whereas I'm still seeing 0ºC reported by the logic here… 😬 🤔 @jmissig Do you see the same (0 reported by |
@wimleers Yes. This is (new) intentional behavior by homebridge-weather-plus (see #279). It detects that the sensors are bad and therefore is discarding their readings. It’s meant to guard against recording wildly-inaccurate numbers. But it seems our Tempest hubs are incorrectly reporting bad sensors. And the plugin is recording zeroes when a sensor is bad. No reply from Weatherflow. Edit: From
|
That logic is not new. It was added in the original commit? 33ba5cc#diff-f68c26e0e5bee59f2afad0524c48b158169aacf6b8b8b801b15cbd3ca50c0822 I just modified the logic from
… and sure enough: temperature, humidity and light level sensor all failed 😞 |
@wimleers Apologies for my misunderstanding as to newness. But all-in-all I'm seeing the same as you. Sensors still seem fine so I don't think it's just that UDP is early or anything. Seems more likely some sort of Weatherflow-side bug setting those sensor failure bits incorrectly. |
Weatherflow support tells me they do not see any sensor issues with my station. Handing off to their developers to see if this value is expected. |
It is odd that it is reporting that all your sensors are failing. With the new handling of failing sensors, here and here, I address (a) by adding support for HomeKit's StatusFault Characteristic, and for (b) I kept the setting of Temperature and Humidity to zero (but not the Light sensor as it isn't used in calculations). For other values being zero, such as UV Index, Solar Radiation, Wind Lull, Wind Max, etc, I am unsure of any reason why they would be zero. The fact that you have: If it is useful, I can give you a line to change to have home bridge log the full data blocks it receives from the weather station. |
An alternative for setting temperature and humidity to zero, I could avoid all calculated values if the sensor is reporting as failed. That way values will still be reported (though they may be incorrect) but I won't run the risk of bad calculations. Also, I would verify that your temperature values are changing. For me, when my temperature sensor failed, I saw the same temperature continuously reported. |
In my case, temperature as reported in Tempest app is changing and seems to be changing similarly to other nearby stations. (Not that it matters, but I’m placing my overall bet on a bug in Weatherflow’s code that sets the higher-order private-use bits for I can’t explain why everything else gets zeroed on the weather-plus side, but I’ve not looked at the code all that closely. |
If it is helpful, if you change this line in weatherflow.js: |
FYI, my hub status on my weather station, I see this: |
Also, are you using a Tempest combined weather station, or are you using the separate Sky and Air units? |
Tempest weather station. I actually had the pressure sensor fail a few weeks back (I think this came up in another issue), and recently had the whole unit replaced with a new one. |
Ah, clearly I was wrong in #288 (comment) — the failing sensor handling has been refined since the original commit! What's odd:
This suggests to me that there was a regression in @jmissig When did you buy your Tempest? And do you have a Powerbooster? |
Just tried https://apidocs.tempestwx.com/reference/quick-start#get-latest-device-observation, i.e.
(The device ID is an integer that is not visible anywhere else — it's different from your station name! Use https://apidocs.tempestwx.com/reference/quick-start#get-station-meta-data to determine what it is for you. Took me 10 minutes to discover this 🤷) |
My Tempest hardware is a replacement unit they sent to me in January. They’re not particularly aggressive about rolling out the minor firmware updates to everyone so it’s no surprise mine’s on a more recent revision. No power booster. |
My unit is not transmitting anymore. I am only seeing hub status messages: I am seeing if I can find the last few records it sent before it went dead. (I am also logging the weather information to a local InfluxDB database for graphing with grafana) |
When my sensors status changed, I started to get empty (null?) observation data here and there. Then it stopped working reporting device_status and observation data all together. The failure point and last records are shown below. I still see hub_status messages.
|
Just double-checked, mine is still transmitting sane weather data over UDP locally. Sounds like your issue might be different!
|
WTF, three people, all with different failure modes and one on a replacement unit already! 😳🫣 Why was your unit replaced, @jmissig? |
@wimleers the pressure sensor failed. Weatherflow verified from their end and sent a replacement quickly, no fuss, I was impressed. At the moment I doubt that your issue and mine are hardware-related. |
I do find it odd that mine suddenly failed in the middle of the night after hearing about yours returning error codes. I filed a ticket about the hardware failure, I'll see what they say. In the mean time, is there a change that I should make so that even if sensors have failed, to continue updating the reported values? |
Yes: add a setting to ignore the failures. I've currently "hacked" the code like this:
☝️ Added the |
Actually … I have a different proposal:
|
👍 This way we'll still get a record of whatever the sensor was putting out, but we're not propagating potential errors into new data that weather-plus is calculating on a sensor's behalf. Which is how I interpreted @dacarson 's comment above:
Edit: I've not yet tested this, but here's a diff of roughly what I had in mind. |
The patch looks great to me. The only thing I would suggest is zeroing out the values for I can update my fork with this change. * Unlike the other API modules, the weatherflow one reuses the same structure and just updates the values. What this means is that a value will be reported as unchanged if it is not updated. The other API modules construct a new structure with the current data on each refresh call. |
Well … that will mean I won't be getting a wet bulb temperature anymore, which is what I'm using to determine whether it's cold/cool/nice/hot outside … and I have dozens of automations depending on that 😅 (In my case, all 3 sensors are reported as failed! Initial response from Weatherflow support: "everything seems fine now?" 😬 — no, the sensors are still reported to be failing!) I do agree that your proposal is sensible though. So for unlucky ones like me, I propose there's a config-without-UI flag to ignore failed sensors 🙈 |
Well we could report all the values for now until we get a better response from Weatherflow about what’s going on. And only then once whatever this UDP-failure-report issue is fixed, do the right thing by zeroing out calculated values. |
Let me see if out of bound numbers could cause a crash, and Homebridge go into constant rebooting mode - that is what I am trying to avoid with avoiding calculations. |
I heard back:
I pointed them to this issue (and #288 (comment) specifically because it's the raw, unprocessed data being broadcast) and gave them my contact info. Fingers crossed! 🤞 |
I also heard back for my issue, they essentially asked me to just reboot the Tempest unit and see if that works. This is unfortunately difficult to do as it isn't easy to get to. I do hope to do the reboot in the next week or so. |
@dacarson Interesting. My failure mode is different of course (data is coming in, but reporting sensor failures), but a reboot didn't make a difference for me. (First thing I tried — the ol' "Did you turn it off and on again?" 😄) |
I have setup my prev. generation Weatherflow devices, the 'Sky' and 'Air' units so that I can continue working on addressing this issue. When doing this, I noted that I need the |
Thanks, @naofireblade ! |
I heard back from Weatherflow support. My Tempest was updated. I'm currently on Most importantly: there's no difference. I still get:
|
I know this is closed, but in case participants come across this, Weatherflow Support tells me the erroneous
|
My Weatherflow Tempest was down for a few months due to low battery. I got the PowerBooster accessory, charged it up for a while and it instantly was up and running again. But then a few days ago, it started reporting 0ºC consistently:
And kind of "zero everything":
Even though according to the Tempest app everything is fine:
The online station view shows that there has not even been a single moment where it hit 0ºC: https://tempestwx.com/history/108422/day/2024/2/17 … but it definitely did something BIZARRE on Thursday, where it reported -13.4ºC for a moment (which is what you see in that first screenshot), although that absolutely did not happen: https://tempestwx.com/history/108422/day/2024/2/15
So … what's going on here? 😓 @dacarson What do you need me to test? (I've restarted Homebridge a few times since then, no impact.)
The text was updated successfully, but these errors were encountered: