briis / smartweather

WeatherFlow Smart Weather Component for Home Assistant
MIT License
108 stars 11 forks source link

Feels like sensor has been reading 0 degrees #88

Open Madbeefer opened 2 years ago

Madbeefer commented 2 years ago

For a week or so the Feels like sensor has been showing 0 degrees. I have logged into tempest's website and it shows a value that appears to be correct (closer to the temperature). I have the newest version of the integration and of home assistant. I've tried uninstalling and reinstalling the integration and it still has the same value. All the other sensors seem to be good.

briis commented 2 years ago

Could you try the WeatherFlow Swagger, and see what is returned as raw data?

This will then give you the raw data returned from the station and what I use in the Integration. Look for the field feels_like

Madbeefer commented 2 years ago

Looks like its not giving data for feels like..

{ "station_id": xxxx, "station_name": "home", "public_name": "xxxxx", "latitude": xxxxx, "longitude": xxxxxx, "timezone": "America/Los_Angeles", "elevation": 86.99063110351562, "is_public": true, "status": { "status_code": 0, "status_message": "SUCCESS" }, "station_units": { "units_temp": "f", "units_wind": "mph", "units_precip": "in", "units_pressure": "inhg", "units_distance": "mi", "units_direction": "cardinal", "units_other": "imperial" }, "outdoor_keys": [ "timestamp", "air_temperature", "barometric_pressure", "station_pressure", "pressure_trend", "sea_level_pressure", "relative_humidity", "precip", "precip_accum_last_1hr", "precip_accum_local_day", "precip_accum_local_yesterday_final", "precip_minutes_local_day", "precip_minutes_local_yesterday_final", "solar_radiation", "uv", "brightness", "lightning_strike_last_epoch", "lightning_strike_last_distance", "lightning_strike_count", "lightning_strike_count_last_1hr", "lightning_strike_count_last_3hr", "heat_index", "dew_point", "wet_bulb_temperature", "delta_t", "air_density" ], "obs": [ { "timestamp": 1638965428, "air_temperature": 6.8, "barometric_pressure": 998, "station_pressure": 998, "sea_level_pressure": 1009.1, "relative_humidity": 92, "precip": 0, "precip_accum_last_1hr": 0, "precip_accum_local_day": 0, "precip_accum_local_yesterday": 0, "precip_accum_local_yesterday_final": 0, "precip_minutes_local_day": 0, "precip_minutes_local_yesterday": 0, "precip_minutes_local_yesterday_final": 0, "precip_analysis_type_yesterday": 1, "solar_radiation": 0, "uv": 0, "brightness": 0, "lightning_strike_last_epoch": 1636707055, "lightning_strike_last_distance": 29, "lightning_strike_count": 0, "lightning_strike_count_last_1hr": 0, "lightning_strike_count_last_3hr": 0, "heat_index": 6.8, "dew_point": 5.6, "wet_bulb_temperature": 6.2, "delta_t": 0.6, "air_density": 1.24188, "pressure_trend": "rising" } ] }

briis commented 2 years ago

It seems there is something wrong with the data you are sending to WeatherFlow. If I should guess you have an AIR & SKY unit, and from the data above your SKY unit is not delivering any data. The formula WeatherFlow uses for Feels Like, is a combination of a few sensors, but two vital values are WindChill and HeatIndex. And without any wind readings your are not getting a WindChill value and without that, you are not getting Feels like.

So this is not this Integration failing, it just shows the data we can get and I would guess with what I see above, all your wind sensors should also be 0.

briis commented 2 years ago

Here is how my data look from my station:

  "obs": [
    {
      "timestamp": 1638966553,
      "air_temperature": 1.3,
      "barometric_pressure": 996.9,
      "station_pressure": 996.9,
      "sea_level_pressure": 1003.2,
      "relative_humidity": 89,
      "precip": 0,
      "precip_accum_last_1hr": 0,
      "precip_accum_local_day": 0.548151,
      "precip_accum_local_yesterday": 0,
      "precip_minutes_local_day": 69,
      "precip_minutes_local_yesterday": 0,
      "wind_avg": 2.8,
      "wind_direction": 130,
      "wind_gust": 4.9,
      "wind_lull": 0.6,
      "solar_radiation": 13,
      "uv": 0.05,
      "brightness": 1474,
      "lightning_strike_last_epoch": 1635258810,
      "lightning_strike_last_distance": 33,
      "lightning_strike_count": 0,
      "lightning_strike_count_last_1hr": 0,
      "lightning_strike_count_last_3hr": 0,
      "feels_like": -1.8,
      "heat_index": 1.3,
      "wind_chill": -1.8,
      "dew_point": -0.3,
      "wet_bulb_temperature": 0.6,
      "delta_t": 0.7,
      "air_density": 1.26537,
      "pressure_trend": "steady"
    }
  ]
Madbeefer commented 2 years ago

Hmm its weird.. I have a tempest and it was giving me the feels like data until recently. It still shows a value if I log into the tempest website and view the dashboard that way.

briis commented 2 years ago

Could you give me your station id, then I could try and see what I can figure out from here?

Madbeefer commented 2 years ago

Sure. 18736

briis commented 2 years ago

There is something wrong with your device. It does not deliver any wind data. If you use the call where you retrieve data directly from the device, this is the data we get:

{
  "status": {
    "status_code": 0,
    "status_message": "SUCCESS"
  },
  "device_id": 64342,
  "type": "obs_st",
  "source": "cache",
  "summary": {
    "pressure_trend": "rising",
    "strike_count_1h": 0,
    "strike_count_3h": 0,
    "precip_total_1h": 0,
    "strike_last_dist": 29,
    "strike_last_epoch": 1636707055,
    "precip_accum_local_yesterday": 0,
    "precip_accum_local_yesterday_final": 0,
    "precip_analysis_type_yesterday": 1,
    "heat_index": 6.5
  },
  "obs": [
    [
      1638966927,
      null,
      null,
      null,
      null,
      300,
      998.2,
      6.5,
      94,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      2.35,
      1,
      0,
      null,
      null,
      0
    ]
  ]
}

If you look under the obs section, you can see a few null values. Obs is an array that is described like this by WeatherFlow:


Tempest (type="obs_st")
Observation Layout
0 - Epoch (Seconds UTC)
1 - Wind Lull (m/s)
2 - Wind Avg (m/s)
3 - Wind Gust (m/s)
4 - Wind Direction (degrees)
5 - Wind Sample Interval (seconds)
6 - Pressure (MB)
7 - Air Temperature (C)
8 - Relative Humidity (%)
9 - Illuminance (lux)
10 - UV (index)
11 - Solar Radiation (W/m^2)
12 - Rain Accumulation (mm)
13 - Precipitation Type (0 = none, 1 = rain, 2 = hail, 3 = rain + hail (experimental))
14 - Average Strike Distance (km)
15 - Strike Count
16 - Battery (volts)
17 - Report Interval (minutes)
18 - Local Day Rain Accumulation (mm)
19 - Rain Accumulation Final (Rain Check) (mm)
20 - Local Day Rain Accumulation Final (Rain Check) (mm)
21 - Precipitation Aanalysis Type (0 = none, 1 = Rain Check with user display on, 2 = Rain Check with user display off)

Index 1-4 are all the Wind Values, and as you can see your Tempest does not send any data, and that is then causing all the other errors. The data you see on their website might be cached data - are seeing the Wind values changing all the time? They should change every 2 seconds.

I suggest you do the following:

Madbeefer commented 2 years ago

Good to know I will try that in the morning.