-
Notifications
You must be signed in to change notification settings - Fork 506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
device support: iCasa switches #1124
Comments
Cool, the dimmer looks very interesting have it already on my wish list since a few days :)
Do they send the commands without a former binding? And how, unicast or group-cast? |
Need to sniff. I thought the first one I tried didn't, but the other two did.
Address mode 1 is group cast, isn't it? EDIT And the REST API plugin spontaneously assigned a random group to |
As I was advised, no metering and no reporting for the connected push switch, but attribute reporting for OnOff and Current Level. No PowerOn OnOff, but working PowerOn Level. When set to 0, it doesn't light up on power cycle. It reports 255 as group capacity, even after I joined it to a group. The manual says it can be controlled by up to 30 Zigbee remotes or keypads, so I assume 30 groups. OTAU seems OK, Version 0x00000014 and Image 0x27ED. There's two push buttons on the device: one for reset, one for setting the minimum level. I don't see the minimum level reported anywhere over Zigbee. The dimmer seems small enough to hide behind a pulse switch. At 220V it's rated for 200W for LED lamps, drivers or electronic halogen trafos; and for 400W for incandescent lights. It supports resistive and capacitive loads - no mention of inductive (so no go for my ceiling fans). The REST API plugin already seems to like it well enough. We might need to whitelist it to configure the attribute reporting. The settings were 1, 65535 (and 0 for the Current Level) - I don't suppose the plugin did set these values? {
"etag": "1c07beb922f18c4ca7cb719c4d51c5bc",
"hascolor": false,
"manufacturername": "icasa",
"modelid": "ICZB-IW11D",
"name": "Light 1",
"state": {
"alert": "none",
"bri": 129,
"on": true,
"reachable": true
},
"swversion": "2.3.1_r20",
"type": "Dimmable light",
"uniqueid": "00:0d:6f:00:0f:94:86:ef-01"
} |
After binding the OnOff and Level clusters to the RaspBee and configuring reporting (1, 300, 1), deCONZ seems to receive the reports. While transitioning from bri: 1 to bri: 254 over 600 seconds, it only sends a report per minute, though:
I still need to wire a pulse switch to see how it reports external input. Edit that seems to work. One input needs to be connected to neutral, the other to the pulse switch. The dimmer alternates between on and off on pulse, and between dim up and dim down on hold. |
Great this looks like a really nice device to fix the usual wall switch problem. Power measurement would be a nice feature but the Green Power Proxy support is also cool. |
They send groupcasts. They pick a random group after reset, but after binding the OnOff, Level, and Scene clusters manually to another group, they use that group. The scene commands are hard-coded for group 0x0000 and scene 0x01, ..., 0x06. Very Hue: use the groupcast to recall the "global" scene only for the lights in the group. I think I got them working in deCONZ, except for polling the battery percentage. It's only populated when manually reading the Power Configuration cluster from the deCONZ GUI. @manup please help me: where do I whitelist the sensor for polling? |
Above mentioned PR adds support. Pulse 8S, exposed as single {
"config": {
"battery": 91,
"group": "31745",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "978bb3c741a540b38ec491228dfbe394",
"manufacturername": "icasa",
"mode": 1,
"modelid": "ICZB-KPD18S",
"name": "Pulse 8S",
"state": {
"buttonevent": 8002,
"lastupdated": "2019-01-13T15:04:53"
},
"swversion": "2.2.3_r10",
"type": "ZHASwitch",
"uniqueid": "00:0d:6f:00:10:65:8a:63-01-1000"
} With
Pulse 4S, exposed as single {
"config": {
"battery": 100,
"group": "19457",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "3c0db7d640581ffbb559349e6cd70fc4",
"manufacturername": "icasa",
"mode": 1,
"modelid": "ICZB-KPD14S",
"name": "Pulse 4S",
"state": {
"buttonevent": 4002,
"lastupdated": "2019-01-13T15:04:44"
},
"swversion": "2.2.3_r10",
"type": "ZHASwitch",
"uniqueid": "00:0d:6f:00:10:65:89:e0-01-1000"
} With
Pulse 2, exposed as single {
"config": {
"battery": 100,
"group": "8192",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "8f82350154add05632898ab9ac91c184",
"manufacturername": "icasa",
"mode": 1,
"modelid": "ICZB-KPD12",
"name": "Pulse 2",
"state": {
"buttonevent": 2002,
"lastupdated": "2019-01-13T14:52:09"
},
"swversion": "2.2.3_r10",
"type": "ZHASwitch",
"uniqueid": "00:0d:6f:00:10:65:8a:6e-01-1000"
} With
Dimmer, exposed as a single {
"etag": "b74453474c0f0889a65fd97763ce4cdc",
"hascolor": false,
"manufacturername": "icasa",
"modelid": "ICZB-IW11D",
"name": "Dimmer",
"state": {
"alert": "none",
"bri": 3,
"on": false,
"reachable": true
},
"swversion": "2.3.1_r20",
"type": "Dimmable light",
"uniqueid": "00:0d:6f:00:0f:94:86:ef-01"
} |
Guess this is good, just like Ikea remote works with the random group. Setup is easier with this, no binding is required.
I think this needs more logic. Usually polling sleeping devices is tricky and needs to planned carefully on a per device basis. For Xiaomi it is done right after the special reports since this is the only time they do mac data polling. |
I think I managed to read the battery on receiving a message from the keypad, see above commit. It almost seems too easy. The keypads seem to check for firmware updates every ~10 minutes, which triggers the read, see log below. I currently wait 300s before next reading the battery. My test network doesn't care, but I'm not sure if this is a wise choice for real. It might be prudent to wait longer. The Hue dimmer switch is configured to report battery every 5m; but the Hue motion sensor only every 2h. In order not to cause any additional traffic to the latter, we would have to wait for over 2h, which seems a bit long. Maybe whitelisting for which devices to read the battery is a better option? @manup, please advise.
|
For those looking to buy an icasa Pulse keypad or the icasa Dimmer: Wifimedia give a 10% discount if you enter discount code homebridgehue. They ship to the EU. |
In Home Assistant will it work as receiving events (each press will be an event)? |
20 Euro shipping cot ... crazy, 70 Euro for a switch ... I pass |
I don't know Home Assistant, but should be. See my earlier posts on the buttonevent values. |
It appears these keypads report battery percentage periodically after all, slightly under every four hours. see #1509 (comment) and #1124.
They now ship the iCasa dimmer with new ZigBee 3.0 firmware: They also upgraded the ZGP function from proxy to combo. Unfortunately, the firmware is not available for download. They also introduced an in-wall switch (relay): I looks, feels, and behaves very much like the dimmer. Notably, it also supports attribute reporting, especially useful when the relay is operated thru a connected push button. Obviously, the Level Control cluster is for responding to wireless switches that send with (On/Off) commands; the Current Level reflects the level requested by the most recent command, but the relay on turns on or off. bol.com now carry them as well. I'm not sure if they'll deliver these outside the Netherlands and Belgium. |
Above commits add support for the in-wall switch. Had to do some fiddling to suppress {
"etag": "d9311f4799782dce6400dce88b742d16",
"hascolor": false,
"manufacturername": "icasa",
"modelid": "ICZB-IW11SW",
"name": "Light 5",
"state": {
"alert": "none",
"on": true,
"reachable": true
},
"swversion": "2.4.1_r33",
"type": "On/Off light",
"uniqueid": "00:0d:6f:00:0f:d8:56:6c-01"
} |
This is interesting: the Hue bridge recognises the switch as
|
Hehe interesting, perhaps a nice little hack,seems like it was done on purpose :) I wonder how long it will last. |
More fun: the switch supports PowerOn On/Off and PowerOn Level. The dimmer (both old ZLL and new ZigBee 3.0 firmware) supports only PowerOn Level, but it won't turn on with PowerOn Level set to 0. |
I take it you’re already cooking up a custom firmware for the FLS-PP to check this? |
I also works for the dimmer (at least for the ZigBee 3.0 firmware - haven't tested the ZLL firmware). The Hue app claims power-on behaviour is not supported, though (presumably because of the missing PowerOn On/Off). |
Fix `type` for iCasa in-wall switch, see #1124.
I guess it is not possible to use direct bindings with the Pulse 8S like possible with the Hue Dimmer Switch and Tradfri grey/Black dimmer to keep it possible to switch a light even when deCONZ is offline? |
Yes it is. You need to create a group with an ID matching the switch’s
Once the group has been created, you can add (more) lights to it using the API. |
@ebaauw Thanks, Does this mean this kind of binding is possible with all kind of switches paired in deCONZ, for example the the Xiaomi Aqara double wirelss switch (WXKG02LM)? |
No, only with switches that send commands to lights or groups. Xiaomi switches only send reports to the coordinator. You want to look for switches that:
|
@manup |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Same issue here as @rendgeor. Switch shows up on Phoscon. I also see events being registered in the Deconz log, but the switch doesn't show up in the web app and HA. Any idea what's needed to achieve this? Tried to push buttons while registering the device, but didn't make any difference. |
The iCasa (Sunricher) switches will be added in the Phoscon App and Switch Editor in the coming releases. Note that the old WebApp is no longer actively maintained. For the HA part I don't know what is missing. |
Thanks @manup. What's the eta on that release? |
No ETA yet, but we're figuring out to provide a beta URL for the Phoscon App in the coming weeks, which provides more device integrations than the current stable/official version. |
Nice I'm looking forward to the new release. Will only the switches be added in the new release, or also the LED drivers from (Sunricher). |
@huubke80 If you’re using HA, the latest release of the deconz add on supports the switches. |
wifimedia.eu kindly provided me with iCasa switches to integrate in deCONZ and homebridge-hue.
The battery-powered Pulse 2, Pulse 4S, and Pulse 8S keypads seem like regular switches. They pair to deCONZ on first attempt. They all look the same from a Zigbee perspective, except for the Model Identifier:
ICZB-KPD12
;ICZB-KPD14S
;ICZB-KPD18S
.deCONZ receives APS indications for the_OnOff_ cluster (0x0006) on pressing the On or Off button; for the Scenes cluster (0x0005) on pressing or holding (store scene?) a scene button; and for the Level control cluster (0x0008) on holding and on releasing the On of Off button(except for the 4S - the light blinks instead of burns while holding the button Edit because of the low battery). I haven't yet brought out the sniffer, but this seems pretty standard.
I can bind the Power configuration cluster to the RaspBee, but get unsupported cluster commands when trying to read or write the report configuration for Battery Voltage or Battery Percentage Remaining. We might need to poll the switches for the battery percentage. They seem to poll their parent after a button is pressed.
The battery percentages are 100 (3.2V), 35 (2.5V) and 98 (3.0V) - I think they report in 1%, like the IKEA Trådfri, instead of the standard 0.5%.
They appear to be OTA upgradable; the OTAU plugin shows them with Version 0x0000000A and Image 0x2FAA.
The Power Descriptor does not seem valid. I see ZDP answers to 0x8003, but the Node Info panel continues to show them as Mains powered. The Node Descriptor seems fine, though.
The text was updated successfully, but these errors were encountered: