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)?
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
}
}
}
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.
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!
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
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)…