Thank you for the intro. I will try and grab the descriptors as soon as I can and let you know but from memory this is what I found when I was trying to set up these switches in Smartthings.
The Osram 4 button switch has four endpoints for the buttons plus one for the battery. There may be more I am not sure. Each button end point is essetntially the same and supports the same cluster set. On initial configuration from a factory reset the device is configured to send an “All On” message when button 1 is pressed and an “All Off” message when button 3 is pressed but nothing on buttons 2 and 4. If the switch is bound to a light bulb using the ZLL join procedure it will then control only that bulb . I do not know if buttons 2 and 4 then do anything. Using the Osram gateway and their iPhone application with a wireshark trace running I found that to configure each button a string of attributes was being sent to the switch. By changing the attributes for each button the switch can be made to send a button pressed, button held and button released message. I also found that, for Smartthings, I needed to then bind the button to the hub for the button to send the message to the hub and not simply send the All On / All Off messages. All this was done in the configuration section of the Smartthings device handler and then I was able to write automations based on the events being triggered by the button actions.
This is what I am trying to achieve in Home Assistant.
I will read throught the documentation and try to work out how to do it. One pointer that would be extremely useful would be to where the files concerned might be located in my Home Assistant instance. I am relatively competent but a little help with these sort of things can save hours of hunting around, especially in a Docker environment where access to stuff is so much less intuitive. Perhaps I should reinstall Home Assistant in the host and not bother with docker at this point. My primary reason for using it was because I thought it would simplify recovery from problems and coexistence with NodeRed which is what I propose to use for automation. What would you recommend? As you can tell I am interested in becoming a fisherman not simply a diner.
It does sound to me like the right place to implement that switch device is in zha-device-handlers. You can override the bind
method so that when ZHA binds the device, it will also send the attributes to put the switch into the mode that you want. This will get you started: https://github.com/dmulcahey/zha-device-handlers/blob/91489d73cdd053f5da5e92d8b50f54e37a78c94d/CONTRIBUTING.md
I am using Hass.io for my main instance, and the zha-device-handlers are located at /usr/local/lib/python3.7/site-packages/zhaquirks
. It’s a bit tricky to get there though, with Docker. I use docker exec -it homeassistant /bin/bash
to log in.
To be honest I do my development on a separate HA instance so I don’t get negative WAF points. This is on a virtual machine with a separate USB coordinator, and not using Docker or Hass.io. Only after something is working do I move it over.
Excellent advice. I will study up and try to become productive as quickly as I can. I think I will stick with Docker for a bit. I worked out how to bind mount to effectively shift the files I am working on out to the host once I know where they are located. This way, if it all stops working I can remove the mount and my system is back to ‘out of the box’ state and I can recover easily.
Thank you very much for all your help.
Do you have discord? I’m the author (well one of them) of the device handlers lib. I can help you and then maybe we can even write a proper contribution guide. Also, can you share the traces that you spoke of? And a link to your SmartThings handler that provides the functionality that you spoke of? I’d love to look it over.
Quick question guys,
Does anybody know what zigbee channel the HUSBZB-1 uses? I have 2 separate networks in my house
- Asus mesh for main internet on mobile devices, PC’s and media players. This is the network my HA server is on (wired)
- 2nd wireless network on a separate Asus router just for my WiFi security cameras which consist of 3 x 720P and 1 x 1080P cameras (all are Amcrest)
I want to re evaluate the WiFi channels I’m using to ensure I’m not getting any WiFi interference from either of my networks. I thought I had read online that the zigbee channel of this device was 25
Bellows, the library the HUSBZB-1 uses, is set to default to channel 15. It’s possible to change the channel as I explain here: ZHA Zigbee change channel
My WiFi is on channel 6, I wonder if that could be part of my problem, my main router and HUSBZB-1 are in the same room as each other. I’ll have a look at the link you sent.
Is zigbee channel 25 the best one? I’d then put the router on channel 1
Please forgive what maybe a “Newbie Question”
How exactly do I run the command “bellows -d /dev/ttyUSB0 form -c 19”
You could just leave Zigbee on 15 and put your WiFi on 11 I suppose. Here is something I found on the web about selecting a channel. It looks like it has some good information.
This depends on your OS and installation. It would generally be run from the terminal, aka command line. This is pretty off topic for the Zigbee discussion but if you are using a Pi this might help you out:
https://www.raspberrypi.org/documentation/usage/terminal/
Thank you, that is exactly what I did, my main Wireless router is on Channel 11 and my secondary router is on channel 1. Channel 6 is now wide open where I live. I did come across the link you sent as well.
I am runnin HA on Ubuntu Mate on a HP Elite 8200 Ultra Small Form Factor. For now I will try and see if moving my main wireless router to a different channel helps
So, I am trying to add the Tradfri on/off button that comes with the outlet. When it is paring, two panels show up. One for the battery status and one for, what I assume, is the actual button. Unfortunately, the button itself will not finish pairing and only the battery stays available. What can I do so I can use this Tradfri on/off remote button?
I got a Paulmann Gent zigbee remote control with 3 group buttons and a color control field. I can pair the remote with HA and I get a binary_sensor and a switch. If I pair the remote via touchlink with a bulb that was paired to HA, the bulb becomes engaged with the remote control and no longer listens to HA. Another bulb stays with HA and does not want to mate with the remote. Quiet confusing…
Touchlink uses ZLL which is a different standard than ZHA. Some bulbs support both standards. I’d recommend using the “Device Binding” option in the ZHA configuration panel. You will see this option at the bottom of the page once you select your remote control. This should allow you to retain control of the bulb in HA, but also control the bulb with your remote.
Ok I have paired the remote and the bulb with HA, then I go into ZHA to the remote and select “bind” and as bindable device the bulb, and then?
All you should have to do is click the “BIND” button after you have selected the bulb. If the remote does not control the bulb at that point, look in your logs, maybe there is some clue.
I just need to know if this is a limitation of what I’m doing, or the hardware I’m using.
After much research and trail and error I’ve managed to get home assistant reading my Lutron Aurora. In fact, I have zero issue getting it to read the dimmer command “Move_to_level_with_on_off”. If I rotate the switch, I have an arg pop up of [(2-255 depending on the rotation of the switch), 2 ]
Now if I press the button instead of rotating it, I get an arg of [(2/255), 7] which i simulating a On/Off toggle of the switch, which is exactly what I want. However, I can only seem to randomly get this to read in zha_events. It will consistently read the 2 (rotation) arg, but only seemingly randomly read the 7 (toggle) arg. When it does read it, I can toggle for a few seconds before it no longer works.
Just need to know if I’m doing something wrong (which to be honest, I don’t believe I am in this case) or if I cannot reliably use this as a toggle switch and will have to rely on reading the rotation state.
I’ve experienced the same thing - with the on/off toggle it just isn’t consistent. For now I am only controlling a single zigbee bulb with it, I have found that it works most reliably by directly binding it to the bulb I want it to control. In this way even if HA goes down the remote will still work. No automations to worry about either, it just works.
Once ZHA gets full group support I think you’ll be able to bind it to a group of lights as well.
I created an issue over at the zha_device_handlers project when I first got them and experienced the same thing. https://github.com/dmulcahey/zha-device-handlers/issues/98#issuecomment-505676253
Unfortunately I’m using Lifx Lights in this instance, so no ability to simply bind them to the lights. I appreciate the input however, it’s nice to know I’m not simply doing something incorrect.
binding seems to do nothing for me for some reason
I usually have to try several times, and make sure the remote device is awake.