[Solved] Error Logs with OH-340 and Netatmo Channel type netatmo:xxx could not be resolved

Dear all,

thank you for releasing OH-340! I just did my upgrade and adjusted the required config files. All looks good and seems working, however I am surprised to see these error logs in my openhab.log:

2022-12-28 12:41:16.319 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.337 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.340 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.353 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.367 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:16.381 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:battery could not be resolved.
2022-12-28 12:41:16.435 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'openweathermap:onecall-history:api:local' to inbox.
2022-12-28 12:41:16.498 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:16.539 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:16.563 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.621 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.622 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.662 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.664 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.687 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:airquality could not be resolved.
2022-12-28 12:41:16.717 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:signal could not be resolved.
2022-12-28 12:41:16.726 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:battery could not be resolved.
2022-12-28 12:41:16.946 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:16.948 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:16.950 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.952 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:16.967 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.000 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.012 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.017 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:airquality could not be resolved.
2022-12-28 12:41:17.019 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:signal could not be resolved.
2022-12-28 12:41:17.027 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:battery could not be resolved.
2022-12-28 12:41:17.065 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:17.067 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:humidity could not be resolved.
2022-12-28 12:41:17.070 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.072 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.074 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.077 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.079 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:temperature could not be resolved.
2022-12-28 12:41:17.081 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:airquality could not be resolved.
2022-12-28 12:41:17.084 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:signal could not be resolved.
2022-12-28 12:41:17.085 [ERROR] [.thing.internal.GenericThingProvider] - Channel type netatmo:battery could not be resolved

When checking the Netatmo Sitemap I can see all values and I can access them as well via the REST API - seems something is weird with these log entries… Anyone an idea (or even similar behavior)?

Thx,
Jens

@rlkoshak sorry to call you out - but do you have an idea on this behavior, too? Thx & Happy New Year.

Just noticed that my Netatmo Battery Alarm rule does not seem to work as well b/c of the above errors:

> 2022-12-31 15:32:43.507 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'netatmo.items'
> 2022-12-31 15:32:43.526 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Office_Battery' needed for rule 'netatmo-2' removed. Trigger '0' will no longer work.
> 2022-12-31 15:32:43.528 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bedroom_Battery' needed for rule 'netatmo-4' removed. Trigger '0' will no longer work.
> 2022-12-31 15:32:43.529 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bathroom_Battery' needed for rule 'netatmo-3' removed. Trigger '0' will no longer work.
> 2022-12-31 15:32:43.625 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Outdoor_Battery' needed for rule 'netatmo-1' added. Trigger '0' will now work.
> 2022-12-31 15:32:43.631 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Office_Battery' needed for rule 'netatmo-2' added. Trigger '0' will now work.
> 2022-12-31 15:32:43.638 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bedroom_Battery' needed for rule 'netatmo-4' added. Trigger '0' will now work.
> 2022-12-31 15:32:43.639 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bathroom_Battery' needed for rule 'netatmo-3' added. Trigger '0' will now work.

In the Sitemap and via the RESTAPI all items area accessible and show the correct values. Something seems really odd here :slight_smile:

Hope somebody can help.

Thx
Jens

Just if somebody wants to check here are my config files:

netatmo.things

Bridge netatmo:account:myaccount "Netatmo Account" [clientId="xxx, clientSecret="yyy", refreshToken="yyy"] {

	Bridge weather-station inside "Netatmo Inside Weather Station" [id="xx:xx:xx:xx:xx:xx"] {
        
		outdoor outside "Netatmo Outside Module" [id="xx:xx:xx:xx:xx:xx"] {
            Channels:
                Type temperature : value
				Type temperature : min-today
				Type temperature : max-today
				Type temperature : trend

				Type humidity : value
				Type humidity : humidex

				Type battery : value
				Type battery : low-battery
        }
        
		indoor office "Netatmo Office Module"  [id="xx:xx:xx:xx:xx:xx"] {
				Type humidity : value
				Type humidity : humidex
								
				Type temperature : value
				Type temperature : min-today
				Type temperature : max-Today
				Type temperature : trend
				Type temperature : heat-index
				Type temperature : dewpoint

				Type airquality : co2
				
				Type timestamp : last-seen
				Type timestamp : measures

				Type signal : strength
				Type signal : value
				Type battery : value
				Type battery : low-battery
		}

		indoor bedroom "Netatmo Bedroom Module"  [id="xx:xx:xx:xx:xx:xx"] {
				Type humidity : value
				Type humidity : humidex
								
				Type temperature : value
				Type temperature : min-today
				Type temperature : max-Today
				Type temperature : trend
				Type temperature : heat-index
				Type temperature : dewpoint

				Type airquality : co2
				
				Type timestamp : last-seen
				Type timestamp : measures

				Type signal : strength
				Type signal : value
				Type battery : value
				Type battery : low-battery
		}

		indoor bathroom "Netatmo Bathroom Module"  [id="xx:xx:xx:xx:xx:xx"] {
				Type humidity : value
				Type humidity : humidex
								
				Type temperature : value
				Type temperature : min-today
				Type temperature : max-Today
				Type temperature : trend
				Type temperature : heat-index
				Type temperature : dewpoint

				Type airquality : co2
				
				Type timestamp : last-seen
				Type timestamp : measures

				Type signal : strength
				Type signal : value
				Type battery : value
				Type battery : low-battery
		}

    }

}

Netatmo.items


// Indoor Module
Number:Temperature   Netatmo_Indoor_Temperature                "Temperature [%.1f %unit%]"                                  <temperature>      { channel = "netatmo:weather-station:myaccount:inside:temperature#value" }
Number:Temperature   Netatmo_Indoor_TemperatureMin             "Min Temperature Today [%.1f %unit%]"                        <temperature>      { channel = "netatmo:weather-station:myaccount:inside:temperature#min-today" }
Number:Temperature   Netatmo_Indoor_TemperatureMax             "Max Temperature Today [%.1f %unit%]"                        <temperature>      { channel = "netatmo:weather-station:myaccount:inside:temperature#max-today" }
String               Netatmo_Indoor_TempTrend                  "TempTrend [%s]"                                             <line>             { channel = "netatmo:weather-station:myaccount:inside:temperature#trend" }
Number:Dimensionless Netatmo_Indoor_Humidity                   "Humidity [%d %unit%]"                                       <humidity>         { channel = "netatmo:weather-station:myaccount:inside:humidity#value" }
Number               Netatmo_Indoor_Humidex                    "Humidex [%.0f]"                                             <temperature_hot>  { channel = "netatmo:weather-station:myaccount:inside:humidity#humidex" }
Number:Temperature   Netatmo_Indoor_HeatIndex                  "HeatIndex [%.1f %unit%]"                                    <temperature_hot>  { channel = "netatmo:weather-station:myaccount:inside:temperature#heat-index" }
Number:Temperature   Netatmo_Indoor_Dewpoint                   "Dewpoint [%.1f %unit%]"                                     <temperature_cold> { channel = "netatmo:weather-station:myaccount:inside:temperature#dewpoint" }
Number:Dimensionless Netatmo_Indoor_CO2                        "CO2 [%d %unit%]"                                            <carbondioxide>    { channel = "netatmo:weather-station:myaccount:inside:airquality#co2" }
Number:Pressure      Netatmo_Indoor_Pressure                   "Pressure [%.1f %unit%]"                                     <pressure>         { channel = "netatmo:weather-station:myaccount:inside:pressure#value" }
Number:Pressure      Netatmo_Indoor_AbsolutePressure           "AbsolutePressure [%.1f %unit%]"                             <pressure>         { channel = "netatmo:weather-station:myaccount:inside:pressure#absolute" }
Number:Dimensionless Netatmo_Indoor_Noise                      "Noise [%d %unit%]"                                          <soundvolume>      { channel = "netatmo:weather-station:myaccount:inside:noise#value" }
Number               Netatmo_Indoor_RadioStatus                "RadioStatus [%s]"                                           <signal>           { channel = "netatmo:weather-station:myaccount:inside:signal#strength" }
Number:Power         Netatmo_Indoor_RadioSignal                "RadioSignal [%.0f]"                                         <signal>           { channel = "netatmo:weather-station:myaccount:inside:inside:signal#value" }
DateTime             Netatmo_Indoor_TimeStamp                  "TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                  <calendar>         { channel = "netatmo:weather-station:myaccount:inside:timestamp#measures" }
DateTime             Netatmo_Indoor_LastSeen                   "LastSeen [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                   <text>             { channel = "netatmo:weather-station:myaccount:inside:timestamp#last-seen" }
Location        	 Netatmo_Indoor_Location                   "Location"                                                   <movecontrol>      { channel = "netatmo:weather-station:myaccount:inside:location#value" }

// Outdoor Module
Number:Temperature   Netatmo_Outdoor_Temperature               "Temperature [%.1f %unit%]"                                  <temperature>      { channel = "netatmo:outdoor:myaccount:inside:outside:temperature#value" }
String               Netatmo_Outdoor_TempTrend                 "TempTrend [%s]"                                             <line>             { channel = "netatmo:outdoor:myaccount:inside:outside:temperature#trend" }
Number:Dimensionless Netatmo_Outdoor_Humidity                  "Humidity [%d %unit%]"                                       <humidity>         { channel = "netatmo:outdoor:myaccount:inside:outside:humidity#value" }
Number               Netatmo_Outdoor_Humidex                   "Humidex [%.0f]"                                             <temperature_hot>  { channel = "netatmo:outdoor:myaccount:inside:outside:humidity#humidex" }
Number:Temperature   Netatmo_Outdoor_HeatIndex                 "heat-index [%.1f %unit%]"                                   <temperature_hot>  { channel = "netatmo:outdoor:myaccount:inside:outside:temperature#heat-index" }
Number:Temperature   Netatmo_Outdoor_Dewpoint                  "Dewpoint [%.1f %unit%]"                                     <temperature_cold> { channel = "netatmo:outdoor:myaccount:inside:outside:temperature#dewpoint" }
Number               Netatmo_Outdoor_RadioStatus               "RadioStatus [%.0f / 5]"                                     <signal>           { channel = "netatmo:outdoor:myaccount:inside:outside:signal#strength" }
Number               Netatmo_Outdoor_RadioSignal               "RadioSignal [%.0f]"                                         <signal>           { channel = "netatmo:outdoor:myaccount:inside:outside:signal#value" }
Number               Netatmo_Outdoor_Battery                   "Battery [%.0f %%]"                                          <battery>          { channel = "netatmo:outdoor:myaccount:inside:outside:battery#value" }
Switch               Netatmo_Outdoor_LowBattery                "LowBattery [%s]"                                            <siren>            { channel = "netatmo:outdoor:myaccount:inside:outside:battery#low-battery" }
DateTime             Netatmo_Outdoor_TimeStamp                 "Measures TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"         <calendar>         { channel = "netatmo:outdoor:myaccount:inside:outside:timestamp#measures" }
DateTime             Netatmo_Outdoor_LastMessage               "LastMessage [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                <text>             { channel = "netatmo:outdoor:myaccount:inside:outside:timestamp#last-seen" }

// Indoor Module Office
Number:Dimensionless Netatmo_Office_Humidity                  "Humidity [%d %unit%]"                                       <humidity>          { channel = "netatmo:indoor:myaccount:inside:office:humidity#value" }
Number               Netatmo_Office_Humidex                   "Humidex [%.0f]"                                             <temperature_hot>   { channel = "netatmo:indoor:myaccount:inside:office:humidity#humidex" }
Number:Temperature   Netatmo_Office_Temperature               "Temperature [%.1f %unit%]"                                  <temperature>       { channel = "netatmo:indoor:myaccount:inside:office:temperature#value" }
Number:Temperature   Netatmo_Office_Temperature_Min           "Temperature Min [%.1f %unit%]"                              <temperature>       { channel = "netatmo:indoor:myaccount:inside:office:temperature#min-today" }
Number:Temperature   Netatmo_Office_Temperature_Max           "Temperature Max [%.1f %unit%]"                              <temperature>       { channel = "netatmo:indoor:myaccount:inside:office:temperature#max-today" }
String               Netatmo_Office_TempTrend                 "TempTrend [%s]"                                             <line>              { channel = "netatmo:indoor:myaccount:inside:office:temperature#trend" }
Number:Temperature   Netatmo_Office_HeatIndex                 "heat-index [%.1f %unit%]"                                   <temperature_hot>   { channel = "netatmo:indoor:myaccount:inside:office:temperature#heat-index" }
Number:Temperature   Netatmo_Office_Dewpoint                  "Dewpoint [%.1f %unit%]"                                     <temperature_cold>  { channel = "netatmo:indoor:myaccount:inside:office:temperature#dewpoint" }
Number:Dimensionless Netatmo_Office_CO2      	              "CO2 [%d %unit%]"                                            <carbondioxide>     { channel = "netatmo:indoor:myaccount:inside:office:airquality#co2" }
DateTime             Netatmo_Office_LastMessage               "LastMessage [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                <text>              { channel = "netatmo:indoor:myaccount:inside:office:timestamp#last-seen" }
DateTime             Netatmo_Office_TimeStamp                 "Measures TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"         <calendar>          { channel = "netatmo:indoor:myaccount:inside:office:timestamp#measures" }
Number               Netatmo_Office_RadioStatus               "RadioStatus [%.0f / 5]"                                     <signal>            { channel = "netatmo:indoor:myaccount:inside:office:signal#strength" }
Number:Power         Netatmo_Office_RadioSignal               "RadioSignal [%.0f]"                                         <signal>            { channel = "netatmo:indoor:myaccount:inside:office:signal#value" }
Number               Netatmo_Office_Battery                   "Battery [%.0f %%]"                                          <battery>           { channel = "netatmo:indoor:myaccount:inside:office:battery#value" }
Switch               Netatmo_Office_LowBattery                "LowBattery [%s]"                                            <siren>             { channel = "netatmo:indoor:myaccount:inside:office:battery#low-battery" }

// Indoor Module Bedorom
Number:Dimensionless Netatmo_Bedroom_Humidity                  "Humidity [%d %unit%]"                                       <humidity>         { channel = "netatmo:indoor:myaccount:inside:bedroom:humidity#value" }
Number               Netatmo_Bedroom_Humidex                   "Humidex [%.0f]"                                             <temperature_hot>  { channel = "netatmo:indoor:myaccount:inside:bedroom:humidity#humidex" }
Number:Temperature   Netatmo_Bedroom_Temperature               "Temperature [%.1f %unit%]"                                  <temperature>      { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#value" }
Number:Temperature   Netatmo_Bedroom_Temperature_Min           "Temperature Min [%.1f %unit%]"                              <temperature>      { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#min-today" }
Number:Temperature   Netatmo_Bedroom_Temperature_Max           "Temperature Max [%.1f %unit%]"                              <temperature>      { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#max-today" }
String               Netatmo_Bedroom_TempTrend                 "TempTrend [%s]"                                             <line>             { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#trend" }
Number:Temperature   Netatmo_Bedroom_HeatIndex                 "heat-index [%.1f %unit%]"                                   <temperature_hot>  { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#heat-index" }
Number:Temperature   Netatmo_Bedroom_Dewpoint                  "Dewpoint [%.1f %unit%]"                                     <temperature_cold> { channel = "netatmo:indoor:myaccount:inside:bedroom:temperature#dewpoint" }
Number:Dimensionless Netatmo_Bedroom_CO2                       "CO2 [%d %unit%]"                                            <carbondioxide>    { channel = "netatmo:indoor:myaccount:inside:bedroom:airquality#co2" }
DateTime             Netatmo_Bedroom_LastMessage               "LastMessage [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                <text>             { channel = "netatmo:indoor:myaccount:inside:bedroom:timestamp#last-seen" }
DateTime             Netatmo_Bedroom_TimeStamp                 "Measures TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"         <calendar>         { channel = "netatmo:indoor:myaccount:inside:bedroom:timestamp#measures" }
Number               Netatmo_Bedroom_RadioStatus               "RadioStatus [%.0f / 5]"                                     <signal>           { channel = "netatmo:indoor:myaccount:inside:bedroom:signal#strength" }
Number:Power         Netatmo_Bedroom_RadioSignal               "RadioSignal [%.0f]"                                         <signal>           { channel = "netatmo:indoor:myaccount:inside:bedroom:signal#value" }
Number               Netatmo_Bedroom_Battery                   "Battery [%.0f %%]"                                          <battery>          { channel = "netatmo:indoor:myaccount:inside:bedroom:battery#value" }
Switch               Netatmo_Bedroom_LowBattery                "LowBattery [%s]"                                            <siren>            { channel = "netatmo:indoor:myaccount:inside:bedroom:battery#low-battery" }

// Indoor Module Bathroom
Number:Dimensionless Netatmo_Bathroom_Humidity                  "Humidity [%d %unit%]"                                       <humidity>         { channel = "netatmo:indoor:myaccount:inside:bathroom:humidity#value" }
Number               Netatmo_Bathroom_Humidex                   "Humidex [%.0f]"                                             <temperature_hot>  { channel = "netatmo:indoor:myaccount:inside:bathroom:humidity#humidex" }
Number:Temperature   Netatmo_Bathroom_Temperature               "Temperature [%.1f %unit%]"                                  <temperature>      { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#value" }
Number:Temperature   Netatmo_Bathroom_Temperature_Min           "Temperature Min [%.1f %unit%]"                              <temperature>      { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#min-today" }
Number:Temperature   Netatmo_Bathroom_Temperature_Max           "Temperature Max [%.1f %unit%]"                              <temperature>      { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#max-today" }
String               Netatmo_Bathroom_TempTrend                 "TempTrend [%s]"                                             <line>             { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#trend" }
Number:Temperature   Netatmo_Bathroom_HeatIndex                 "heat-index [%.1f %unit%]"                                   <temperature_hot>  { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#heat-index" }
Number:Temperature   Netatmo_Bathroom_Dewpoint                  "Dewpoint [%.1f %unit%]"                                     <temperature_cold> { channel = "netatmo:indoor:myaccount:inside:bathroom:temperature#dewpoint" }
Number:Dimensionless Netatmo_Bathroom_CO2                       "CO2 [%d %unit%]"                                            <carbondioxide>    { channel = "netatmo:indoor:myaccount:inside:bathroom:airquality#co2" }
DateTime             Netatmo_Bathroom_LastMessage               "LastMessage [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"                <text>             { channel = "netatmo:indoor:myaccount:inside:bathroom:timestamp#last-seen" }
DateTime             Netatmo_Bathroom_TimeStamp                 "Measures TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"         <calendar>         { channel = "netatmo:indoor:myaccount:inside:bathroom:timestamp#measures" }
Number               Netatmo_Bathroom_RadioStatus               "RadioStatus [%.0f / 5]"                                     <signal>           { channel = "netatmo:indoor:myaccount:inside:bathroom:signal#strength" }
Number:Power         Netatmo_Bathroom_RadioSignal               "RadioSignal [%.0f]"                                         <signal>           { channel = "netatmo:indoor:myaccount:inside:bathroom:signal#value" }
Number               Netatmo_Bathroom_Battery                   "Battery [%.0f %%]"                                          <battery>          { channel = "netatmo:indoor:myaccount:inside:bathroom:battery#value" }
Switch               Netatmo_Bathroom_LowBattery                "LowBattery [%s]"                                            <siren>            { channel = "netatmo:indoor:myaccount:inside:bathroom:battery#low-battery" }

netatmo.rules

val mailActions = getActions("mail","mail:smtp:xxxxsmtp")

// Battery Alarm
rule "battery-alarm-outdoor"
when
	Item Netatmo_Outdoor_Battery changed
then
    if (Netatmo_Outdoor_Battery.state <= 5) {
            // send alarm
        mailActions.sendMail("xxxx", "OpenHAB Alert: Low Battery", "Die Restkapazität der Batterie des Netatmo Modules Outdoor beträgt " + Netatmo_Outdoor_Battery.state)
    }
end

// Battery Alarm
rule "battery-alarm-office"
when
	Item Netatmo_Office_Battery changed
then
    if (Netatmo_Office_Battery.state <= 5) {
        // send alarm
        mailActions.sendMail("xxxxt", "OpenHAB Alert: Low Battery", "Die Restkapazität der Batterie des Netatmo Modules Office beträgt " + Netatmo_Office_Battery.state)
    }
end

// Battery Alarm
rule "battery-alarm-bathroom"
when
	Item Netatmo_Bathroom_Battery changed
then
    if (Netatmo_Bathroom_Battery.state <= 5) {
        // send alarm
        mailActions.sendMail("xxxx", "OpenHAB Alert: Low Battery", "Die Restkapazität der Batterie des Netatmo Modules Bathroom beträgt " + Netatmo_Bathroom_Battery.state)
    }
end

// Battery Alarm
rule "battery-alarm-bedroom"
when
	Item Netatmo_Bedroom_Battery changed
then
    if (Netatmo_Bedroom_Battery.state <= 5) {
        // send alarm
       mailActions.sendMail("xxxx", "OpenHAB Low Battery Alert", "Die Restkapazität der Batterie des Netatmo Modules Bedroom beträgt " + Netatmo_Bedroom_Battery.state)
    }
end

Why did you add channels? They are available by default for any netatmo thing. These added channels are very probably wrongly defined and that is the cause of your errors.

I’ve not seen these errors and have nothing to suggest. @Lolodomo would know more about this than I.

Hi @Lolodomo,

Thank you for your reply. Maybe I got the documentation wrong. Just to be sure I understand you correctly: the issue might be b/c of my things congratulation where I added channels? Does that mean it will it be sufficient to only have the Netatmo Main Module configured in the things file?

Will try out with an adjusted things file, once I am back on front of my keyboard!

Thx

  • Jens

Only extensible channels needs to be defined in the thing file. All standard channels do not need, they are available by default.

Dear @Lolodomo + @rlkoshak,

I have one more question: is there any chance that I can influence the sequence OpenHAB is loading items, rules,…

I observe the following logging which I would like to get rid of if possible (more my aspiration of having everything clean than a real issue - as well surprising to see all is being loaded multiple times…?):

> 2023-01-09 16:35:53.100 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'netatmo.rules'
> 2023-01-09 16:35:54.546 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rct-power.rules'
> 2023-01-09 16:36:00.859 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'netatmo.rules'
> 2023-01-09 16:36:02.689 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rct-power.rules'
> 2023-01-09 16:36:09.033 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'system.rules'
> 2023-01-09 16:36:09.961 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Outdoor_Battery' needed for rule 'netatmo-1' removed. Trigger '0' will no longer work.
> 2023-01-09 16:36:09.970 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Office_Battery' needed for rule 'netatmo-2' removed. Trigger '0' will no longer work.
> 2023-01-09 16:36:09.978 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bedroom_Battery' needed for rule 'netatmo-4' removed. Trigger '0' will no longer work.
> 2023-01-09 16:36:09.985 [WARN ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bathroom_Battery' needed for rule 'netatmo-3' removed. Trigger '0' will no longer work.
> 2023-01-09 16:36:09.987 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'netatmo.items'
> 2023-01-09 16:36:10.103 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Outdoor_Battery' needed for rule 'netatmo-1' added. Trigger '0' will now work.
> 2023-01-09 16:36:10.116 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Office_Battery' needed for rule 'netatmo-2' added. Trigger '0' will now work.
> 2023-01-09 16:36:10.119 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bedroom_Battery' needed for rule 'netatmo-4' added. Trigger '0' will now work.
> 2023-01-09 16:36:10.128 [INFO ] [dule.handler.ItemStateTriggerHandler] - Item 'Netatmo_Bathroom_Battery' needed for rule 'netatmo-3' added. Trigger '0' will now work

Thx,
Jens

Not at this time. Though there is almost seven seconds between the last Item loading message and the error messages from loading the rules. Perhaps you are on an underpowered machine? That should be more than enough time for the Items to be loaded before loading the rules.

Good catch Rich, I will update my resource assignments in Kubernetes for the OpenHAB POD - I am running a cluster of 4x Raspi4 4GB memory with SSD storage (yet, startup performance is clearly slower than on a standalone machine / VM)…

Jens