For a dynamical offline detection, I try to achieve reading a thing channel which is not an Item. I know how to use Items, i just want to make it dynamical without use of Items for every channel. So here a simple channel example which shows no value, just to show you what I mean:
var thingStatusInfo = getThingStatusInfo(“homematic:HG-HM-Sen-MDIR-WM55:77553c53:OEQ0535505:3#BRIGHTNESS”)
My understanding is the main purpose of the Item is to tell OH to pay attention to that channel and let you manage it accordingly
Channels not linked to Things are therefore ignored by OH except for linking an Item.
Items represent capabilities that can be used by applications, either in user interfaces or in automation logic. Items have a State and they may receive commands.
As I mentioned, i loop all thing with gOfflineCounter.members.forEach to check their states to dynamically detect offline members. But this is a different topic. Would be elegant to read the channels without defining them as Item. Is there no way to read a channel by direct address?
Why would you do that? You assign a channel to an Item and read the Item. It doesn’t cost you anything. What do you hope to gain? Perhaps there is another approach.
I think some bindings don’t even bother to calculate channel states for channels that are not linked, so you could be disappointed anyway.
Home Assistant uses entities but OpenHAB breaks things down intoThings, Channels, and Items.
That is part of the core design of OpenHAB. Perhaps either you should approach the issue differently or openHAB may not be the tool you need to accomplish this.
Dropped over this topic when looking about a possibility how I could solve following problem:
Iteration over all of my battery powered Things and query the state of the battery state channels without to have to define an item for the battery state.
The code could be then written so that I do not have to take care when a new thing has been added.
I have to add each and every item manually. I am looking for a solution for traversing e.g.:
all things of type HomeMatic
look for channel named battery
get the state of that channel
send an alarm if the battery low is indicated.
the same for other thing type like Tradfri controls, and so on.
now that we can do rules in Python the things are much more simpler to write.
TMK, only Items store states (Channels do not), so this is not possible. But you could have a rule that triggers when new Things are created, filter on HomeMatic Things, then programmatically add Items linked to the battery Channels and added into a group, and then reload your “Member of” triggered battery monitor rule.
How do you manage the useful working channels of these devices, as it’s the same chore to make Items?
I’m just curious how much effort could be saved if you are in any case managing other stuff manually.
I appreciate a great many devices will have a battery state, it’s a good candidate for automation. Maybe it’s possible to examine thing or other linked Items to determine useful info - “battery alarm X1Q67” to “battery front door sensor”.
It’s all like making simple mode a bit less dimwitted.