After desciding to go back to openHAB and really try to get it to work properly I am still not much closer to solve my issue with channels that do not respond.
Outline:
I am experienced with openHAB v1.
Installed bindings: zwave, rfxcom (& some more not relevant)
I have ofc read the instructions and serached for answers to no avail
I have now stripped down my *.items and *.sitemap to only incluse my example and testing.
Things, Channels and Items have been created properly and in Simple mode.
Problem:
When I copy a channel name and try to activate a wallplug nothing happens.
It works perfectly fine in Control.
It works perfectly fine if I use the corresponding item in the channel directly in the sitemap (italic below).
In *.items: Switch WallPlug âFloorlamp testâ { channel=âzwave:device:c6d54a79:node6:switch_binaryâ }
In *.sitemap: Switch item=WallPlug
In sitemap (working): Switch item=zwave_device_c6d54a79_node6_switch_binary
I did try with rfxcom binding and Things as well with the same outcome. Channel is not responding and using the Item directly in the Sitemap works fine.
Hi Toby, and welcome back! Iâm confused as to what you mean by this:
If the item is working fine when you trigger it in your sitemap and your physical devices turns on/off, then it sounds like everythingâs working. I donât have experience with 1.x, but I wonder if youâre expecting something from the channel that perhaps no longer applies.
Thanks! I hope to stay now if only I can resolve this.
What I mean is that when I try to use the Channel to control the wallplug it will not work.
So as a part of testing the equipment I did try the direct call to the item, bypassing the channel.
Channel is new to openHAB2 and in v1 I relied solely on items.
Gotcha. I think youâve misunderstood the channel. You need it in order to tell an item how to control a device, but you donât use it for control purposes.
So, it sounds like your system is working properly.
Well, as I see it the Channels are a collection of âstuffâ you have available in your Thing. And this would minimize some of the administration since you need no longer have super long lists of items (hidden in simple mode). And the channel, according to the tutorial, could/should be used instead to control for isntance your wallplug or volume meter etc.
From the tutorial:
In *.items:
Switch Wallplug_FF_LR_TV "Wallplug TV" <poweroutlet> { channel="zwave:device:bb4d2b80:node30:switch_binary" }
In *.sitemap:
sitemap default label="My first sitemap"
{
Switch item=Wallplug_FF_LR_TV label="Wallplug TV"
}
If you are familiar with OH1 get rid of simple mode, it seems to lead people into roadblocks as soon as you get off the starting blocks. Youâve already got the idea about creating Items, sitemaps, etc. without automation.
You normally operate with idealized Items in rules and sitemaps, same as you did in OH1
channels take care of matching vagaries of real devices to standardized Items
I was going to say this, and @rossko57 beat me to it.
All you actually need from PaperUI is to discover things so that the channels will be available to you. Then youâll configure items for each channel that you want to use (and ignore the ones you donât need). To control a device, youâll change the state of its item and OH will communicate to the device through the channel.
Can you point to the section of the documentation that youâre referring to? I donât see anything that Iâd interpret this way, but if youâve gotten this impression then perhaps something could be clarified.
rossko57 said it well. Iâll put it another way in case that helps your understanding.
OH 1.x did not have a concept of Things. In OH 1.x you directly configured the binding on the Item between the { }, plus a little more configuration in openhab.cfg.
In OH 2 a new concept of Things was added. A Thing represents a device. A device may have one or more actuators or sensors. These are represented as separate Channels. Channels, by themselves, donât actually do anything. You canât actually interact with them on the UIs, in Rules (except n a couple of cases Iâll ignore for now), nor on your sitemap. To interact with a Channel you must link the Channel to an Item. Then you interact with the Item.
Definitely turn off Simple mode. Even for newcomers itâs more trouble than itâs worth. What simple mode does is automatically create Items for you for all the Channels on all of your Things. And it creates them using the Channel ID as the Item name so you end up with asinine Item names like zwave_device_sdsdfas_node12_switch whenBedroomLamp would be much more appropriate. And as you notice, you can end up with hundreds of Items you just donât want with Simple Mode. Furthermore, you canât configure the Items through PaperUI in Simple Mode (e.g. change the icon or label).
In PaperUI, you can interact with Channels that have been linked to Items in the Control tab (which is probably what the tutorial is referring to), but even there, you are sending commands to the Items, not the Channels directly. The screenshot you took of the Channels is only for linking the Channel to one or more Items, not to send commands to the Channel. For some bindings, you can also configure the Channel from that page. But you can not command the Channel from that page.
Would it make sense to change it so that Simple Mode is off by default when PaperUI is installed? I know that PaperUI is on its way out, but it seems like this is pretty common advice after new users get stumped by it.
First off, thanks for all the feedback guys. I still have hopes to solve this problem of mine.
This is precicely spot on. I do understand that in the end the command is actually down to the actual item (i.e the old command=switch_binary). And in the tutorial the do att the âitemâ Wallplug_FF_LR_TV which in turn is a channel () linked to an item. They get a button/skider in the UI to actually turn on and off the lamp from this. When I do the sam, nothing happens, but when I do use the actual item in the sitemap it works like a charm, even with a newly self created item.
In OH 1.x I grouped items in various ways and used those groups to populate my UI in some places and this is my aim now as well. I am quite confused if you do not use channels like in the tutorial, If you do not use the channel (created from the Paper UI) to connect an item, how do you get the items up and running to your binding? And to me this sounds as if I would use OH 2.x shell but still code it as OH 1.x. But the motor is changed in OH 2 with the channel being a vital part in the whole interaction model.
It may be I use the wrong words here.
Looking at that example you see them creating a button in the Simple UI for the wallplug. They do this in *.items using a channel which in turn is linked to the actual item. And in the *.sitemap they use the name given in the *.items file. Thus creating a fully funtional button. When I do the same thing, nothing happens. Only if I use the actual item (regardless if it is created from simple mode or I create it myself) and that it is in turn linked to a channel.
Where are you looking at your Items? PaperUI is an administratorâs toolbox (why you can poke at channels, which are essentially hidden machinery). Sitemaps are used with the user-facing UIs, like BasicUI.
There is no problem creating an Item in an xxx.items file, but obviously any channel link ID given needs to be a valid one, as can usually be found from PaperUI.
âfile basedâ Items created in that way cannot be manipulated from PaperUI.
If you turn off Simple Mode you can view your items. This is what I have done. Also I did try creating my own item and linking it to the correct channel. But still the probelm remains, Trying to create a button, followin the example and guide, nothing will happen. In the Paper UI when you remove Simple Mode you can click your Channel and it will reveal the actual item linked. I use the names from Paper UI, channel name, item name. It feels like the whole chain is there, but when it comes to âinteractingâ with the channel (again, perhaps the wrong wording) with the channel to actually turn on the wallplug, nothing happens. I.e. I have done precicely as in the tutorial if that helps explaining.
*.items : Switch WallPlug âFloor lamp testâ { channel=âzwave:device:c6d54a79:node6:switch_binaryâ } [channel name from Paper UI and valid if I can trust the Paper UI]
*.sitemap : Switch item=WallPlug[This is what I can using/manipulating/interacting. Creating the button for the Simple UI or any UI]
Above is explained in the tutorial and for me it seems it should work.
So I went ahead and simply made a new clean install. Started new *.items & *.sitemap files. And there we go, it works like a charm.
Now I need to investigate and test out how to best creake the items and links.
I have now clicked to add link and then had to select new item. But when I use the syntax for using the channel in the *.items file a new link to the channel is made. I will investigate if this is the best approach on how to add items and links as an overall strategy. But thatâs another topic I guess.