NetAtmo base module sensors lost since upgrade 0.101.2 < 0.102.X

What exactly do you mean?

This:

Others reported this issue too. Did not find a fix.

I use discovery.
My config is :

  api_key: <my_api_key>
  secret_key: <my_secret_key>
  username: <user>
  password: <password>
Errors in log file are always the same, ie:
2019-11-23 10:38:36 WARNING (SyncWorker_3) [homeassistant.components.netatmo.sensor] No data found for Fred station Jardin
2019-11-23 10:38:36 WARNING (SyncWorker_1) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor
2019-11-23 10:38:36 WARNING (SyncWorker_17) [homeassistant.components.netatmo.sensor] No data found for Fred station Jardin
2019-11-23 10:38:36 WARNING (SyncWorker_18) [homeassistant.components.netatmo.sensor] No data found for Fred station Jardin
2019-11-23 10:38:36 WARNING (SyncWorker_2) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor
2019-11-23 10:38:36 WARNING (SyncWorker_16) [homeassistant.components.netatmo.sensor] No data found for Fred station Jardin
2019-11-23 10:38:36 WARNING (SyncWorker_13) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor
2019-11-23 10:38:36 WARNING (SyncWorker_5) [homeassistant.components.netatmo.sensor] No data found for Fred station Jardin
2019-11-23 10:38:36 WARNING (SyncWorker_15) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor
2019-11-23 10:38:36 WARNING (SyncWorker_11) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor
2019-11-23 10:38:36 WARNING (SyncWorker_10) [homeassistant.components.netatmo.sensor] No data found for Fred station Indoor

Location name(in NetAtmo Android App) is ‘S80’

My sensors are called:
Base: wk
Module1: sk
Module2: bk
Module3: z
Outdoor: tuin
Rain: rm

In HA the are now called;

netatmo S80 BK Battery
sensor.netatmo_bk_battery
------
netatmo S80 BK battery_percent
sensor.netatmo_bk_battery_percent
------
netatmo S80 BK CO2
sensor.netatmo_bk_co2
------
netatmo S80 BK Humidity
sensor.netatmo_bk_humidity
------
netatmo S80 BK Max Temp.
sensor.netatmo_bk_max_temp
------
netatmo S80 BK Min Temp.
sensor.netatmo_bk_min_temp
------
netatmo S80 BK Radio
sensor.netatmo_bk_radio
------
netatmo S80 BK Reachability
sensor.netatmo_bk_reachability
------
netatmo S80 BK Temperature
sensor.netatmo_bk_temperature
------
netatmo S80 WK CO2
sensor.netatmo_indoor_co2
------
netatmo S80 WK Max Temp.
sensor.netatmo_indoor_max_temp
------
netatmo S80 WK Min Temp.
sensor.netatmo_indoor_min_temp
------
netatmo S80 WK Reachability
sensor.netatmo_indoor_reachability
------
netatmo S80 WK Temperature
sensor.netatmo_indoor_temperature
------
netatmo S80 WK Wifi
sensor.netatmo_indoor_wifi
------
netatmo S80 RM Battery
sensor.netatmo_rm_battery
------
netatmo S80 RM battery_percent
sensor.netatmo_rm_battery_percent
------
netatmo S80 RM Radio
sensor.netatmo_rm_radio
------
netatmo S80 RM Rain
sensor.netatmo_rm_rain
------
netatmo S80 RM Reachability
sensor.netatmo_rm_reachability
------
netatmo S80 RM sum_rain_1
sensor.netatmo_rm_sum_rain_1
------
netatmo S80 RM sum_rain_24
sensor.netatmo_rm_sum_rain_24
------
netatmo S80 WK Humidity
sensor.netatmo_s80_wk_humidity
------
netatmo S80 WK Noise
sensor.netatmo_s80_wk_noise
------
netatmo S80 WK Pressure
sensor.netatmo_s80_wk_pressure
------
netatmo S80 SK Battery
sensor.netatmo_sk_battery
------
netatmo S80 SK battery_percent
sensor.netatmo_sk_battery_percent
------
netatmo S80 SK CO2
sensor.netatmo_sk_co2
------
netatmo S80 SK Humidity
sensor.netatmo_sk_humidity
------
netatmo S80 SK Max Temp.
sensor.netatmo_sk_max_temp
------
netatmo S80 SK Min Temp.
sensor.netatmo_sk_min_temp
------
netatmo S80 SK Radio
sensor.netatmo_sk_radio
------
netatmo S80 SK Reachability
sensor.netatmo_sk_reachability
------
netatmo S80 SK Temperature
sensor.netatmo_sk_temperature
------
netatmo S80 Tuin Battery
sensor.netatmo_tuin_battery
------
netatmo S80 Tuin battery_percent
sensor.netatmo_tuin_battery_percent
------
netatmo S80 Tuin Humidity
sensor.netatmo_tuin_humidity
------
netatmo S80 Tuin Max Temp.
sensor.netatmo_tuin_max_temp
------
netatmo S80 Tuin Min Temp.
sensor.netatmo_tuin_min_temp
------
netatmo S80 Tuin Radio
sensor.netatmo_tuin_radio
------
netatmo S80 Tuin Reachability
sensor.netatmo_tuin_reachability
------
netatmo S80 Tuin Temperature
sensor.netatmo_tuin_temperature
------
netatmo S80 WM Angle
sensor.netatmo_wm_angle
------
netatmo S80 WM Battery
sensor.netatmo_wm_battery
------
netatmo S80 WM battery_percent
sensor.netatmo_wm_battery_percent
------
netatmo S80 WM Gust Angle
sensor.netatmo_wm_gust_angle
------
netatmo S80 WM Gust Strength
sensor.netatmo_wm_gust_strength
------
netatmo S80 WM Radio
sensor.netatmo_wm_radio
------
netatmo S80 WM Reachability
sensor.netatmo_wm_reachability
------
netatmo S80 WM Wind Strength
sensor.netatmo_wm_wind_strength
------
netatmo S80 Z Battery
sensor.netatmo_z_battery
------
netatmo S80 Z battery_percent
sensor.netatmo_z_battery_percent
------
netatmo S80 Z CO2
sensor.netatmo_z_co2
------
netatmo S80 Z Humidity
sensor.netatmo_z_humidity
------
netatmo S80 Z Max Temp.
sensor.netatmo_z_max_temp
------
netatmo S80 Z Min Temp.
sensor.netatmo_z_min_temp
------
netatmo S80 Z Radio
sensor.netatmo_z_radio
------
netatmo S80 Z Reachability
sensor.netatmo_z_reachability
------
netatmo S80 Z Temperature
sensor.netatmo_z_temperature
------

I filtered the “wk” sensors;

netatmo S80 WK CO2
sensor.netatmo_indoor_co2
------
netatmo S80 WK Max Temp.
sensor.netatmo_indoor_max_temp
------
netatmo S80 WK Min Temp.
sensor.netatmo_indoor_min_temp
------
netatmo S80 WK Reachability
sensor.netatmo_indoor_reachability
------
netatmo S80 WK Temperature
sensor.netatmo_indoor_temperature
------
netatmo S80 WK Wifi
sensor.netatmo_indoor_wifi
------
netatmo S80 WK Humidity
sensor.netatmo_s80_wk_humidity
------
netatmo S80 WK Noise
sensor.netatmo_s80_wk_noise
------
netatmo S80 WK Pressure
sensor.netatmo_s80_wk_pressure
------

The last 3 sensors are not in line with the “name convention” there seems to be.
When this happen or why this happened, I have no idea.

So the base sensors are named “indoor” and “wk” is mixed used, also in the location name is somehow in these 3.

I expect the name to be predictable by a name convention or so.

Remove all manual config and use discovery: true (actually it should be on by default). Don’t use discovery and manual configuration.

But how could this happen when I didn’t change the config the last months;
This is my config;

netatmo:
  api_key: !secret netatmo_clientid
  secret_key: !secret netatmo_client_secret
  username: !secret netatmo_username
  password: !secret netatmo_password

So;

netatmo:
  api_key: !secret netatmo_clientid
  secret_key: !secret netatmo_client_secret
  username: !secret netatmo_username
  password: !secret netatmo_password
  discovery: true

So I should remove it and then add it back with discovery; true?

The sensors (weather) now include the station name, so it’s <station_name> <module_name>.

Tried you suggestion by deleting the config from configuration.yaml, restarted HA, waited 5-10min, but it didn’t help to make the names follow some sort of name convention. Still the same entity_id’s and friendly_name’s.
So eventually I removed the NetAtmo config from configuration and the device(s) from known_devices/core.entity_register.
Restarted HA, then places the netatmo config with discovery true.

This helped…

netatmo S80 BK Battery
sensor.netatmo_s80_bk_battery
------
netatmo S80 BK battery_percent
sensor.netatmo_s80_bk_battery_percent
------
netatmo S80 BK CO2
sensor.netatmo_s80_bk_co2
------
netatmo S80 BK Humidity
sensor.netatmo_s80_bk_humidity
------
netatmo S80 BK Max Temp.
sensor.netatmo_s80_bk_max_temp
------
netatmo S80 BK Min Temp.
sensor.netatmo_s80_bk_min_temp
------
netatmo S80 BK Radio
sensor.netatmo_s80_bk_radio
------
netatmo S80 BK Reachability
sensor.netatmo_s80_bk_reachability
------
netatmo S80 BK Temperature
sensor.netatmo_s80_bk_temperature
------
netatmo S80 RM Battery
sensor.netatmo_s80_rm_battery
------
netatmo S80 RM battery_percent
sensor.netatmo_s80_rm_battery_percent
------
netatmo S80 RM Radio
sensor.netatmo_s80_rm_radio
------
netatmo S80 RM Rain
sensor.netatmo_s80_rm_rain
------
netatmo S80 RM Reachability
sensor.netatmo_s80_rm_reachability
------
netatmo S80 RM sum_rain_1
sensor.netatmo_s80_rm_sum_rain_1
------
netatmo S80 RM sum_rain_24
sensor.netatmo_s80_rm_sum_rain_24
------
netatmo S80 SK Battery
sensor.netatmo_s80_sk_battery
------
netatmo S80 SK battery_percent
sensor.netatmo_s80_sk_battery_percent
------
netatmo S80 SK CO2
sensor.netatmo_s80_sk_co2
------
netatmo S80 SK Humidity
sensor.netatmo_s80_sk_humidity
------
netatmo S80 SK Max Temp.
sensor.netatmo_s80_sk_max_temp
------
netatmo S80 SK Min Temp.
sensor.netatmo_s80_sk_min_temp
------
netatmo S80 SK Radio
sensor.netatmo_s80_sk_radio
------
netatmo S80 SK Reachability
sensor.netatmo_s80_sk_reachability
------
netatmo S80 SK Temperature
sensor.netatmo_s80_sk_temperature
------
netatmo S80 Tuin Battery
sensor.netatmo_s80_tuin_battery
------
netatmo S80 Tuin battery_percent
sensor.netatmo_s80_tuin_battery_percent
------
netatmo S80 Tuin Humidity
sensor.netatmo_s80_tuin_humidity
------
netatmo S80 Tuin Max Temp.
sensor.netatmo_s80_tuin_max_temp
------
netatmo S80 Tuin Min Temp.
sensor.netatmo_s80_tuin_min_temp
------
netatmo S80 Tuin Radio
sensor.netatmo_s80_tuin_radio
------
netatmo S80 Tuin Reachability
sensor.netatmo_s80_tuin_reachability
------
netatmo S80 Tuin Temperature
sensor.netatmo_s80_tuin_temperature
------
netatmo S80 WK CO2
sensor.netatmo_s80_wk_co2
------
netatmo S80 WK Humidity
sensor.netatmo_s80_wk_humidity
------
netatmo S80 WK Max Temp.
sensor.netatmo_s80_wk_max_temp
------
netatmo S80 WK Min Temp.
sensor.netatmo_s80_wk_min_temp
------
netatmo S80 WK Noise
sensor.netatmo_s80_wk_noise
------
netatmo S80 WK Pressure
sensor.netatmo_s80_wk_pressure
------
netatmo S80 WK Reachability
sensor.netatmo_s80_wk_reachability
------
netatmo S80 WK Temperature
sensor.netatmo_s80_wk_temperature
------
netatmo S80 WK Wifi
sensor.netatmo_s80_wk_wifi
------
netatmo S80 WM Angle
sensor.netatmo_s80_wm_angle
------
netatmo S80 WM Battery
sensor.netatmo_s80_wm_battery
------
netatmo S80 WM battery_percent
sensor.netatmo_s80_wm_battery_percent
------
netatmo S80 WM Gust Angle
sensor.netatmo_s80_wm_gust_angle
------
netatmo S80 WM Gust Strength
sensor.netatmo_s80_wm_gust_strength
------
netatmo S80 WM Radio
sensor.netatmo_s80_wm_radio
------
netatmo S80 WM Reachability
sensor.netatmo_s80_wm_reachability
------
netatmo S80 WM Wind Strength
sensor.netatmo_s80_wm_wind_strength
------
netatmo S80 Z Battery
sensor.netatmo_s80_z_battery
------
netatmo S80 Z battery_percent
sensor.netatmo_s80_z_battery_percent
------
netatmo S80 Z CO2
sensor.netatmo_s80_z_co2
------
netatmo S80 Z Humidity
sensor.netatmo_s80_z_humidity
------
netatmo S80 Z Max Temp.
sensor.netatmo_s80_z_max_temp
------
netatmo S80 Z Min Temp.
sensor.netatmo_s80_z_min_temp
------
netatmo S80 Z Radio
sensor.netatmo_s80_z_radio
------
netatmo S80 Z Reachability
sensor.netatmo_s80_z_reachability
------
netatmo S80 Z Temperature
sensor.netatmo_s80_z_temperature
------

I indeed had a manual configuration in sensors.yaml and discovery: false.

After commenting out the manual configuration and setting discovery to true the senors work again.

The thing is I also have some netatmo thermostat valves and when I set discovery to true I will get double climate entities with the ending _2.

How can I avoid these entities?

Edit: ok, I figured it out. I had to uncomment

climate: 
   platform: netatmo

to avoind double entities, because discovery: true discovers the climate entites too.

BTW: Now that it’s not possible to only set certain entities any more (in fact since 0.96), how do you avoid to add unwanted entites?

@cgtobi would you recommend to disbale them in the entity registry?

Just curious. Had it like this for a long time, so this isn’t new right?

From the top of my head it either only changed for weather stations or home coach devices.

The manual config should be back working with 0.102.2.

Sorry for the inconvenience caused by these changes.

1 Like

Looks like I had lost my netatmo station completely, ie it also did not respond to the Netatmo app.
I rebooted my base station and now all is OK again.

So this looks like bad timing, ie netatmo station going berzek while in parallel doing the HA upgrade.

1 Like

Thanks. In fact it works perfectly fine now after commenting out the climate section which caused double entities.

The thing is there was the possibility to only set choose sensors some versions ago. My notes in the configurtion tell me this changed in 0.96, you probably know what I’m talking about.

So this was possible before 0.96:

- platform: netatmo
  station: Netatmo
  modules:
    - livingroom
      - temperature
      - humidity
      #- co2
      - noise
    - bedroom
      - temperature
      - humidity

And after that we were not able to to choose certain entities any more, so for example this exposed all sensors of “living room” and “bedroom”

- platform: netatmo
  station: Netatmo
  modules:
    - livingroom
      - temperature
      - humidity
      - co2
      - noise
    - bedroom
      - temperature
      - humidity

So when you say that manual will be back, you mean the second way where we can’t exclude sensors, right?
If that’s true the manual configuration isn’t useful to me and discovery: true is the way to go (stay), because I need at least one sensors of each module.
Thanks in advance for clearing up @cgtobi

It was decided a while ago to expose that fine granularity. Please see ADR0003 for details and reasoning behind the decision.

Manual configuration should be possible with 0.102.2 again so that you can explicitly include only certain modules/stations/devices.

Ok, thanks. Seems like excluding sensors won’r come back in future for manual configuration, so discovery: true will work fine for me (again after commenting out the climate section, just want to repeat that for users that maybe face the same issue).

Just one more question @cgtobi

Wouldn’t this decision also mean that all modules of the netatmo station have to be exposed? Why is it possible to configure manually per physical device (like the windsensor which has attributes like battery, speed, direction). Or in other words who decides excluding sensors is too fine but excluding devices is not? Can’t find an answer to that in the linked text. I don’t ask because I want it to be changed, but I’d like to understand it.

That is a good question. I’ll have a look at excluding devices/stations/homes but I wont make any promises about a time frame. :wink:

I think there is a misunderstanding, because that’s what’s possible with 0.102.2 and the manual configuration, or am I wrong? I thought this is what the manuel config is about. If not what is for?

Because if I reed the decision you linked right it says everything of the api has to be exposed

And the question I wanted to ask was, why excluding an indoor module (for example, with the co2 sensor included) is allowed, but excluding a co2 sensor doesn’t isn’t any more.

Btw with „excluding“ I mean that you don’t put it in the manual configuration (discovery false).

I understood what you meant but I’ve accepted the decision as it has good reasons to drop that support.

What I mean by exclusion is to have discovery with manual exclusion/blacklisting of certain devices.

Why you can select individual modules even with ADR0003 in place is because a module is a device and not a subset/individual sensor type. I think this is somewhat specific to Netatmo and therefore not covered by the ADR.

1 Like

Thank you.

That would be nice. This would also mean the manual configuration in the sensor.yaml file would be deprecated, because this options should be directly under discovery. This is how so know it from other components.
However I totally understand that this is not high on your priority list.