-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Support for: Airam Led OP A60 ZB 9W/827 E27 and Airam CTR.U BX -remote #175
Comments
Here is devices.js entry I made for the bulb. Turns off and on via MQTT now. I can't get any trace of the remote on log when trying to pair it. |
Bulb is supported now, what is the model number of the remote? (e.g. for the bulb it was |
I was unable to get the remote paired at all. Bulb was easy to pair, just reset it and it appears immediately. Remote seems to pair with the bulb but not with ZB2M. Any tricks I should try with it? |
Thats indeed strange, even the tradfri remote can be paired. Do you see any extra logging when pairing and running with |
I think these are the lines you are interested in. This repeated couple of time in the log and I tried pairing twice. |
Is 0x00158d0001cded1c the address of your bulb? |
Bulb is 0x00158d0001cded1c "0x00158d0001cded1c" [label="{0x00158d0001cded1c|Router|Airam LED OP A60 ZB 9W/827 E27 (4713407)|offline}"]; |
It seems that I can pair the remote with bulb while bulb is paired with Zigbee2MQTT and I can control bulb with remote and Zigbee2MQTT. However bulb state doesn't get updated on ZB2M when controlled by remote. |
Perhaps it's only possible to pair the remote directly to the bulb because of some proprietary stuff. However can you update the definition of the bulb in // Airam
{
zigbeeModel: ['ZBT-DimmableLight'],
model: '4713407',
vendor: 'Airam',
description: 'LED OP A60 ZB 9W/827 E27',
supports: generic.light_onoff_brightness.supports,
fromZigbee: generic.light_onoff_brightness.fromZigbee,
toZigbee: generic.light_onoff_brightness.toZigbee,
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 1000, repChange: 0};
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
];
execute(device, actions, callback);
},
}, Can you check if the on/off state is now reported when changed by the remote? |
I did changes while at work and restarted ZB2M. At startup there was
I noticed that Zigbee2MQTT had crashed at some point after that. I do not know if someone touched the remote or what was happened at home, but here is what was on console:
And this is what was to be found on errorlog:
|
Started with DEBUG=* and I got this on crash, if this helps:
|
Please try with // Airam
{
zigbeeModel: ['ZBT-DimmableLight'],
model: '4713407',
vendor: 'Airam',
description: 'LED OP A60 ZB 9W/827 E27',
supports: generic.light_onoff_brightness().supports,
fromZigbee: generic.light_onoff_brightness().fromZigbee,
toZigbee: generic.light_onoff_brightness().toZigbee,
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const cfg = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 1000, repChange: 0};
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.foundation('genOnOff', 'configReport', [cfg], foundationCfg, cb),
];
execute(device, actions, callback);
},
}, |
Doesn't crash anymore with that:
Turn on:
And state gets updated when using remote. Dim/brightness change from remote doesn't trigger updates. |
Great, lets fix the brightness level, please try: // Airam
{
zigbeeModel: ['ZBT-DimmableLight'],
model: '4713407',
vendor: 'Airam',
description: 'LED OP A60 ZB 9W/827 E27',
supports: generic.light_onoff_brightness().supports,
fromZigbee: [fz.light_brightness, fz.light_state, fz.generic_state, fz.ignore_light_brightness_report],
toZigbee: generic.light_onoff_brightness().toZigbee,
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const cfgOnOff = {direction: 0, attrId: 0, dataType: 16, minRepIntval: 0, maxRepIntval: 1000, repChange: 0};
const cfgLevel = {direction: 0, attrId: 0, dataType: 32, minRepIntval: 0, maxRepIntval: 1000, repChange: 0};
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.foundation('genOnOff', 'configReport', [cfgOnOff], foundationCfg, cb),
(cb) => device.bind('genLevelCtrl', coordinator, cb),
(cb) => device.foundation('genLevelCtrl', 'configReport', [cfgLevel], foundationCfg, cb),
];
execute(device, actions, callback);
},
}, |
With the configuration above I experience crashing again:
I'm sorry that I'm not experienced (yet) to help myself in this. I greatly appreciate your input :) |
Are you on zigbee2mqtt 1.0.1? |
Yes. Should be 1.0.1 as is was the current release when I installed. |
Just got back home and made sure that version should be on 1.0.1 zigbee2mqtt:info 1/2/2019, 7:41:44 PM Starting zigbee2mqtt version 1.0.1 (commit #9380bbc) |
This is weird. I reverted back to your earlier entry (#175 (comment)) and crashing stopped.
I didn't even try to pair it. Brightness gets reported back when changed on remote.
In the log there is this message:
How in earth did the remote (ZBT-Remote-EU-DIMV1A2) that didn't want to pair with Zigbee2MQTT appeared now?! |
Thats really strange, could you find out how you did this? |
I'll try to reproduce this when I get back from work. What do I need to do to reset whole thing and start from scratch? Should I reflash the USB stick too? But the steps have been so far:
I also noticed at this point that remote could not control the bulb (I thought it was cause of the eletricity shortages we've had due huge amounts of snow).
I couldn't find trace of joining from the logs with
I could turn bulb off/on again with the remote when Zigbee2MQTT is running. Remote does not command the bulb now without Zigbee2MQTT even that I don't see any feedback from the remote on the ZB2M logs.
Only way I could think of how the remote got paired would be somekind of "introducing" by the bulb. But is that even possible? |
Yes that possible, devices can be paired through a router |
So my router (the bulb) was paired with remote and it just told the coordinator that it knows this device and information was passed even though I had no joining permitted? I was testing (aimlessly mostly) changing values on "fromZigbee:"-line to get rid of the nonstop warn:-message on the log and I noticed that when fz.ignore_light_brightness_report is there I experience crash. So line
does not crash but it still spams "No converter available".
causes the last crash message. |
I think I finally figured some parts out on my own. Now I have following entries: node_modules/zigbee-shepherd-converters/devices.js
And
Currently I do not see any "No converter available for"-entries anywhere :) However I get totally spammed with (>30 times per second) this kind of information:
I think it's related to these messages from zigbee:
I have a feeling that touching "configure" section of bulb defition would help to reduce spamming, but is there documentation for that? |
Please change the repchange of cfgLevel to 1 |
With this I still experience great amount of
-messages. |
Oh... missed this due spam:
So it seems configuration did not go through. |
Thats because the remote is sleeping, press some buttons while starting to keep it awake |
0x00158d0001cded1c is a light bulb, not the remote - should remote be also awake anyway? I'll test that when I'll get back to home (doing this remotely). |
Bulb works now :)
Remote gets introduced also when paired with bulb:
I do not get button presses to ZB2M log still yet. Bulb states get updated nicely. I'll try to make pull request for this later. |
great! |
Hopefully this PR is fine: #196 (my first ever, yay!) |
Merged, congratulations with your first pr! |
* Don't throw promise.reject() when permit joins fails. But try again. * Set network paramters according to configuration.yaml * Speed up command queues * Retry reset watchdog if it fails once * Force RaspBee and ConBee to use 16bit NWK addr in data indications * Fix wrong handling of 64bit src addresses in received data responses * Remove unnecessary debug output * Added writeparameter request to permit join request * Removed unnecessary console.log * Start on conbee * Updates. * conbee -> deconz. Koenkk/zigbee-herdsman#72 * Initial suppport for reading parameters - Add basic frame parser - Handle slip protocol and crc calculation - Add queue for read and write parameters * Add dummy function DeconzAdapter.supportsLED() * Start working on write parameters * supportsLED() returns false * Implemented getCoordinator() * Added deCONZ adapter dummy functions * Implemented getCoordinatorVersion() * Implemented getNetworkParameters() * Added constants for APS layer * Startet APS layer Added readReceivedStateRequest, deviceStateRequest, deviceStateResponse, readReceivedDataRequest * Added APS layer parser functions parseDeviceStateResponse, parseReadReceivedDataResponse, parseReceivedDataNotification, * Added parser for APS responses * Refactored some deCONZ adapter functions * Added sendZclFrameNetworkAddress, sendZclFrameNetworkAddressWithResponse and sendZclFrameGroup * Added constants for deCONZ adapter * Added deCONZ driver functions for sending APS commands * Added discoverRoute, supportsDiscoverRoute dummy functions * Implemented NodeDescriptor * Added constants * Reworked debug messages and fixed send unnecessary device state requests * Some smal fixes * Implemented permit join * Fixed check DeviceStatus variables * implemented Active Endpoint request * Implemented simple descriptor * Removed reading request_id if data confirm fail * Fixed reading payload of data indication * Fix nodedescriptor devicetype * Added waitFor dummy function * Implemented lqi() * Implemented routingTable() * implemented bind() * implmented unbind() * Implemented removeDevice() * Changes at driver.ts * Fix for resolve aps request error * ieeeAddr to String now add '0x' prefix * Get correct APS data payload * Fixes for some adapter functions * Delete old code * Added constant * Added support of timeout for aps requests * Refactored deCONZ adapter functions * Added constants * Refactored driver functions and debug logs * Refactored frameparser debug logs * Updated deCONZ adapter to newest adapter version * Added device state intervall wand tweaked watchdog * Removed unused code * Removed unused code * Added received msg event, removed discoverRoute * Added catch for devicestaterequest * Handle default response when sending zcl message * Refactored debug print * Added /* istanbul ignore file */ * Fixed/ implemented zclFrame.payload to Array (for dim and color commands) * Implemented waitFor() and some changes for OTA update * Update deconzAdapter.ts * Fixed sending manufacturere specific commands * Added some attributes to zclpayloadToArray conversion needed for e.g. configure reporting TODO: this has to be reworked completely * Fixed zclPayload to array function (used by configureReporting) handle arrays of objects correctly Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
I got my hands on Airam LED OP A60 ZB 9W/827 E27+CTR.U BX-box which has ZB3.0 led bulb and a remote which talks directly to the bulb (no bridge required). I think I can get the bulb working (maybe with little guidance) with the instructions provided here but how about the remote? I'm under impression that group support is almost there - should I leave messing with the dimmer/remote for the future or could I get something to work with it before that?
These things will be the first ZB devices I even try to use with ZB2M and since they are not yet on supported devices list it seems like an interesting journey :)
Thanks for the good folks here putting this piece of software together!
The text was updated successfully, but these errors were encountered: