-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
RGBgenie Support Info #642
Comments
Let's start with the on/off buttons. In {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
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);
},
}, |
SummaryProgress with recognizing a button push for CmdOff and CmdOn which have existing converters. DetailThe On and Off buttons on the remote now produce messages that have existing converters so I an update devices.js so the battery and these two buttons will produce MQTT messages. All Off or 1 Off button All On or 1 On button I am also able to use the button labeled "1" to produce the same result for the On and Off positions. The other 4 buttons produce no messages when pressed in either the On or Off position. Each start of zigbee2MQTT results in a messages sequence repeated 5 times. It appears the remote is trying to configure. At this time the only Zigbee device that is powered in the remote. The snippit of the ending of the startup sequence is serialport:unixRead waiting for readable because of code: EAGAIN +2ms |
The timeout probably happens because the device is sleeping. Right before starting zigbee2mqtt, press some buttons on the remote to get it out of sleep. Can you try if more buttons work with: {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.report('genOnOff', 'onOff', 0, 1000, 0, cb),
(cb) => device.bind('genLevelCtrl', coordinator, cb),
(cb) => device.report('genLevelCtrl', 'currentLevel', 0, 1000, 0, cb),
];
execute(device, actions, callback);
},
}, |
Full debug at https://pastebin.com/99r4Xn7m for the first case described below. Pressed S1 button immediately before starting zigbee2mqtt serialport:main binding.read finished +2s |
Can you try with {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.bind('genOnOff', coordinator, cb),
(cb) => device.bind('genLevelCtrl', coordinator, cb),
];
execute(device, actions, callback);
},
}, |
When pressing 3 ON key shortly after startup while it likely was in its 2nd polling interval before timeout a continuous stream pasted at https://pastebin.com/8C056cpn appeared. Ctl-C to stop it. When pressing each key after the initial 5 cycle timeout resulted in a response to each key. End of log pasted at https://pastebin.com/6fk8zkcu While I believe it is the same as prior I also pasted the initial startup until the 10000 ms message was received. No key presses. It is at https://pastebin.com/wcaRjzDV |
You say that the on buttons are working now, but do you see any |
The All on key and 1 on key produce the same no-converter message such as the below from startup zigbee2mqtt:info 2018-12-7 14:30:24 zigbee-shepherd ready The All Off key and 1 off key produces similar 2018-12-7 14:28:49 No converter available for 'ZGRC-KEY-013' with cid 'genOnOff', type 'cmdOff' and data '{"cid":"genOnOff","data":{}}' 2018-12-7 14:29:50 No converter available for 'ZGRC-KEY-013' with cid 'genOnOff', type 'cmdOn' and data '{"cid":"genOnOff","data":{}}' The other keys usually produce no response, but I did capture in the prior post paste's the 3 ON key during startup where it looks as if the remote is looking for devices to which it can pair to control. |
Ok, can you try if more buttons report {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const ep1 = shepherd.find(ieeeAddr, 1);
const ep2 = shepherd.find(ieeeAddr, 2);
const ep3 = shepherd.find(ieeeAddr, 3);
const ep4 = shepherd.find(ieeeAddr, 4);
const actions = [
(cb) => ep1.bind('genOnOff', coordinator, cb),
(cb) => ep1.bind('genLevelCtrl', coordinator, cb),
(cb) => ep2.bind('genOnOff', coordinator, cb),
(cb) => ep2.bind('genLevelCtrl', coordinator, cb),
(cb) => ep3.bind('genOnOff', coordinator, cb),
(cb) => ep3.bind('genLevelCtrl', coordinator, cb),
(cb) => ep4.bind('genOnOff', coordinator, cb),
(cb) => ep4.bind('genLevelCtrl', coordinator, cb),
];
execute(device, actions, callback);
},
}, |
Run time error with the latest update to devices.js. root@MQTT:/opt/zigbee2mqtt# npm start
zigbee2mqtt:info 2018-12-9 12:31:38 Logging to directory: '/opt/zigbee2mqtt/data/log/2018-12-09.12-31-38' ReferenceError: device is not defined npm ERR! A complete log of this run can be found in: |
Sorry, made a mistake: {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const ep1 = shepherd.find(ieeeAddr, 1);
const ep2 = shepherd.find(ieeeAddr, 2);
const ep3 = shepherd.find(ieeeAddr, 3);
const ep4 = shepherd.find(ieeeAddr, 4);
const actions = [
(cb) => ep1.bind('genOnOff', coordinator, cb),
(cb) => ep1.bind('genLevelCtrl', coordinator, cb),
(cb) => ep2.bind('genOnOff', coordinator, cb),
(cb) => ep2.bind('genLevelCtrl', coordinator, cb),
(cb) => ep3.bind('genOnOff', coordinator, cb),
(cb) => ep3.bind('genLevelCtrl', coordinator, cb),
(cb) => ep4.bind('genOnOff', coordinator, cb),
(cb) => ep4.bind('genLevelCtrl', coordinator, cb),
];
execute(ep1, actions, callback);
},
}, |
Data detail at https://pastebin.com/mphfPrHZ Progress made with the 4 buttons that control on/off/dim. One of these buttons need to be pressed shortly after zigbee2mqtt is started. All 4 will then will be recognized subsequently. No progress with the two scene button S1 and S2. No matter when they are pressed there is no feedback from zigbee2mqtt. The on/off/dim buttons report cid:genOnOff or cid:genLevelCtrl depending upon short vs. long press. The long press yields a single feedback. It seems that one should be able to hold the dim control down and repeated messages produced to cause the end point to ramp up and down rather than expecting the remote user to pulse the button, but not certain of the remote design. The All On and All off buttons use cid:genOnOff control, but the screndpoint: parameter is fixed at a 4. The contents of 4-off and All-off messages are identical except the increment of the sequence number in the 6 data bytes. Remaining issues:
|
Let's fix the scene buttons next, {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const ep1 = shepherd.find(ieeeAddr, 1);
const ep2 = shepherd.find(ieeeAddr, 2);
const ep3 = shepherd.find(ieeeAddr, 3);
const ep4 = shepherd.find(ieeeAddr, 4);
const actions = [
(cb) => ep1.bind('genOnOff', coordinator, cb),
(cb) => ep1.bind('genLevelCtrl', coordinator, cb),
(cb) => ep2.bind('genOnOff', coordinator, cb),
(cb) => ep2.bind('genLevelCtrl', coordinator, cb),
(cb) => ep3.bind('genOnOff', coordinator, cb),
(cb) => ep3.bind('genLevelCtrl', coordinator, cb),
(cb) => ep4.bind('genOnOff', coordinator, cb),
(cb) => ep4.bind('genLevelCtrl', coordinator, cb),
(cb) => ep1.bind('genScenes', coordinator, cb),
];
execute(ep1, actions, callback);
},
}, If the scenes buttons don't work after this, please try different |
No response to either S1 or S2 buttons. Tried changing the following line to ep2, ep3 and ep4 with restart in each case. Also tried changing both the above line and the below line so the ep# were the same for both. The other buttons continued to function as the prior iteration. |
Can you try the same but then with |
Tried each of the eight bind/execute for ep# with no response from either S1 or S2 buttons. |
@mcsSolutions you would need to sniff the zigbee packets in order to find out what these buttons transmit (https://blog.jimmo.id.au/zigbee-packet-capture-724cf9346b47) |
I setup a sniffer and captured traffic on the RGBGenie. I started with removing database.db, state.json and editing configuration.yaml to remove all devices. I reset the RGBGenie to factory. I started zigbee2mqtt and whsniff/wireshark. I then tried to pair RGBGenie per pairing instructions in the manual. While much traffic was collected the pairing process never resulted in any change to .db or .yaml files and subsequent button pushes on RGBGenie saw no sniffer traffic. I repeated the process with the same result. The wireshark traffic and pertinent zigbee2mqtt files are available at http://mcsSprinklers.com/RGBGeniePairing2.zip. When I first started with zigbee2mqtt the RGBGenie was able to pair, but don't know why it is no longer able to. With all the traffic in wireshark it does look like it is trying, but zigbee2mqtt does not complete the handshake. |
@mcsSolutions without getting it to pair with zigbee2mqtt, we cannot continue. Could you perhaps try figuring out why you could do this previously? |
I did a restart of the computer where zigbee2mqtt is installed and added a bridge and was able to get RGBGenie pairing. I am not familiar with wireshark to filter for the message with the pairing encryption key so not able to view the data when not encrypted. The entire session including other device pairing was included in the wireshark capture at http://mcsSprinklers.com/RGBGenie3.zip The RGBGenie device ID ends in 4FDA. The coordinator in A280. The router in F2C8. During the session I also tried to pair Aqara Water Leak detector 0C6F as it was something easy to pair. At record starting 5900 was the press of the 1-On button. At record 5949 was press of the S1 button. In both cases wireshark reflected the communication, but nothing appeared in the zigbee2mqtt console and of course no MQTT message. The console for most of this RGBGenie activity is shown below. root@MQTT:/opt/zigbee2mqtt# npm start
zigbee2mqtt:info 2019-1-11 15:43:00 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-01-11.15-42-59' On a subsequent button push to request battery status the following was produced in console. The MQTT message was delivered,. On prior press of the 1-ON and S1 buttons there was no console feedback and no MQTT message. zigbee2mqtt:info 2019-1-11 16:14:47 MQTT publish: topic 'zigbee2mqtt/0x000d6f000fc74fda', payload '{"battery":66,"linkquality":76}' All related files are included in the referenced zip. |
The device functions similar as the TRADFRI five button remote control.
|
I added the coordinatorGroup.js to my setup. Changed 1524 to 7701 in the file, but don't know if it makes any difference or not. Also added the coordinator line in the configuration. After restarting zigbee2mqtt there was no mqtt or console response to any button press on the RGBGenie. What should I try next? |
Are you on the latest dev branch? Otherwise that file will not be used. |
I copied the dev branch to overwrite my install on RPi except the /Data folder. Configuration.yaml was editted per the second link above. It is shown below. I then ran npm install and npm start. I continue to obtain nothing in the console or mqtt related to RGBGenie when any button is pushed. I do get feedback for router and a vibration sensor that I used to confirm it is otherwise working. It is also shown below. homeassistant: false zigbee2mqtt:info 2019-1-14 12:41:54 MQTT publish: topic 'zigbee2mqtt/0x00158d0002b23edc', payload '{"angle_x":3,"angle_y":0,"angle_z":87,"angle_x_absolute":87,"angle_y_absolute":90,"linkquality":63,"unknown_data":720896,"battery":31,"voltage":2965,"action":"vibration","last_seen":"2019-01-14T20:41:54.276Z"}' |
Can you provide the complete log? |
Turns out that the battery was dead. The only thing I have done with it is the testing for zigbee2mqtt so the battery life must not be very good. What I did today is installed new battery. Did a factory reset of the remote. Paired the device. This was around record 4600 in the first/larger wireshark file and about 12:15 PM in the log-1.txt. Looking at the console I received the not-recognized message and then observed that devices.js was a download and not the one that included the prior work. I placed my latest devices.js on the RPi and restarted zigbee2mqtt and whsniff. Pressed the button pair to request battery status. Console abort resulted. The console-2.txt and the other -2 files are included in http://mcsSprinklers.com/RGBGenie4.zip. In the devices.js I have further edits than was last posed on this thread in an attempt to inlcude the battery reporting as well as get mqtt for the previously recognized buttons. I may have made some error in trying to follow other patterns. |
Did you also make the changes mentioned in #642 (comment) ? |
Thought I had responded previously, but I guess it got lost somewhere. Today I repeated the testing after I updated devices.js and coordinator.js to reflect RGBGenie rather than IKEA for the remote. I did get the "Successfully applied coordinator group ..." feedback. Pressing All On, All Off and 1 brighten buttons no MQTT response. Pressing battery status request button pair resulted in rgbgenie crash. The following is the console contents. All related files including wireshark capture is located at http://mcsSprinklers.com/RGBGenie5.zip zigbee2mqtt:info 2019-1-19 09:10:20 Sucesfully applied coordinator group for RGBGenie RGBenie remote control (0x000d6f000fc74fda) TypeError: Cannot read property 'cid' of undefined npm ERR! A complete log of this run can be found in: |
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. |
Sorry for the late response, somehow I missed it. Many things have been changed in the meantime and #642 (comment) isn't needed anymore. Let's start fresh:
Do any |
Flashed latest firmware and updated to latest zigbee2mqtt On buttonzigbee2mqtt:info 2019-3-23 12:50:55 MQTT publish: topic 'zigbeeWA/0x00124b0008c1f2c8', payload '{"state":false,"linkquality":49,"description":"0/0x00124B0018E1A280","type":"COORD","rssi":3}' Add to devices.js
{ Results in abort when On button pressed/opt/zigbee2mqtt/lib/extension/deviceReceive.js:79 TypeError: Cannot read property 'cid' of undefined npm ERR! A complete log of this run can be found in: Changed devices.js to remove converter reference
{ after restarting andd pressing On button abort with the following, including startup
zigbee2mqtt:info 2019-3-23 13:27:24 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-23.13-27-24' TypeError: Cannot read property 'filter' of undefined npm ERR! A complete log of this run can be found in: remove RGBGenie definition from devices.js. After restart operation returns to same as initially attempt with ZGRC-KEY-013 not being supported |
You should define the converters as empty arrays: {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
description: 'RGBenie remote control',
supports: 'on off, brightness up/down, scene select',
vendor: 'RGBGenie',
fromZigbee: [],
toZigbee: [],
}, |
Much more progress. added the following to fromZigbee.js
added to devices.js:
Remaining Issues#1 There are four brightness buttons using any of the four results in the same MQTT message. Before updating devices.js with brightness conversion direction the following was obtained when brightness #4 and brightness #2 were pressed. i.e. the same data without anything to distinguish button #4 vs. button #2. What is the best way to coax more info so the converter can be updated to include the button id? Button #4 Button #2 #2 The MQTT payload always contains the scene payload even though the scene button was not pressed. It should only deliver scene content following a button push. Likely a result of how I defined the converter for the scene. #3 When the scene 1 or scene 2 button is pressed there are 4 identical MQTT messages published. THey each look like: {"battery":68,"linkquality":36,"scene":{"groupid":0,"sceneid":1}}' |
Can you update to the latest dev branch, remove all converters from |
I am not clear on how to update to the Dev branch. What I did is from Github selected dev as the branch. Downloaded the zip, unzipped and copied all the files to the /opt/zigbee2mqtt folder on the RPi that has the CC2531. Edited the yaml and devices.js file as specified in prior post. When I do npm start the log file is created, but no zigbee traffic is recognized. This included from other working devices as well as the RGBGenie. What is the process to update to Dev branch? The log that was produced is 2019-3-28 15:54:35 - info: Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-28.15-54-35' |
Started fresh with factory reset of RGBGenie. setup zigbee2mqtt using "git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt -b dev", followed by "npm install" Ran four test cases. The logs of three are at http://mcsSprinklers.com/RGBGenie.zip. The forth had no applicable log data. In this fourth case I waited several minutes before pressing button after "npm start". Other three a button was pressed soon after startup. It did not matter which button initially pressed. 'devInterview' interview messages repeated after being pressed. After they stopped a button push resulted in log entries, but generally no further button pushes resulted in log entries. devices.js with RGBGenie appended, the .yaml, and the .db from data folder were also included with the three annotated logs. Manual for RGBGenie is at https://rgbgenie.com/wp-content/uploads/2018/12/ZB-5001-user-manual.pdf |
Sorry for the delay, what is the difference between the attempts? Why do some button works and in another attempt they don't? Let's fill in this overview:
group 1
group 2
group 3
group 4
group 5
|
I believe the unit is in some learning mode with 'devInterview' being broadcast. Once any button is pushed the mode is exited and subsequent buttons are not recognized. The multiple attempts showed it did not matter which button was first pushed. If no buttons were pushed before 'devInterview' stopped being broadcast then no log/console info was produced with any button push. It seems to enter the 'devInterview' with each zigbee2mqtt start. The manual describes pairing with other zigbee devices as I think that is its primary design function to operate independent of hub. I do not know what 'devInterview' is in the zigbee 3 schema. I was able to get relatively full functionality before I did the factory reset on the unit and before I set fromZigbee to []. The problem was that each brightness control button produced the same mqtt message as if the unit only had one up/down/on/off button. |
I think this is happening because the {
zigbeeModel: ['ZGRC-KEY-013'],
model: 'ZGRC-KEY-013',
vendor: 'RGBgenie',
description: '3 Zone remote and dimmer',
supports: 'onoff dim scene control',
fromZigbee: [],
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);
},
}, |
Started over with new flash, no db, no devices in yaml, reset/re-pair rgbgenie. Log at http://mcsSprinklers.com/RGBGenie_4_10_2019.zip contains pairing and initial handshake. No buttons pushed for several minutes. The log annotated with each button push. Observations: Also included in zip is yaml and db from end of test. |
@mcsSolutions as far as I can see there is a difference, you see that the endpoint it gets the message from is different (1 - 4, it's and the end of the log lines). This converter: https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/converters/fromZigbee.js#L977 shows how to take the endpoint ID from the message. |
I am able to get the button number in the MQTT payload, but it reserves a position in the MQTT payload as each button is pressed. What I want is a MQTT message where the payload only contains the event of a specific button being pressed to the On or OFF state. I do not understand the syntax well enough to accomplish this. Another problem I continue to have is the lack of distinction between the All On/All Off buttons and the button 1 On/button1 Off. Pressing All On and Button 1 On produce the same MQTT message. The prior posting at http://mcsSprinklers.com/RGBGenie_4_10_2019.zip shows that both button id 1 is reported for both All and Button 1. Two converters I added to fromZigbee.js are: ZGRC013_cmdOn: { Example of pressing the Button 2, 3 and 4 ON buttons 2019-4-11 11:18:45 - info: MQTT publish: topic 'zigbee/bridge/state', payload 'online' |
Let's first try to distinguish the all / 1 on/off messages. Could you provide a wireshark sniff log of both of these buttons? (Please provide the message ID, most left column, of the messages) |
Process was to reset RGBGenie to factory, reflash CC2531. remove .db and edit .yaml to remove devices section. Start wireshark, start zigbee2mqtt. Pair RGBGenie. Pairing Device Announcement is at record 188 in Wireshark. Interview proceeded and some random buttons pushed. Interview stopped and controlled button push with the following collected in Wireshark record #'s Wireshark, log, devices.js and fromZigbee at http://mcsSprinklers.com/RBGGenie_Pair_Interview_All_1_2.zip |
I have no clue how bulbs are distinguishing between group 1 and all off, 1268 and 1300 are exactly the same message. My guess is that when paired it will send it to a specific bulb only, something which is not possible when paired to only the coordinator. |
How about the syntax so only the last button push is reported? |
You can use the following converters: ZGRC013_cmdOn: {
cid: 'genOnOff',
type: 'cmdOn',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
if (button) {
return {click: `${button}_on`}
}
},
},
ZGRC013_cmdOff: {
cid: 'genOnOff',
type: 'cmdOff',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
if (button) {
return {click: `${button}_off`}
}
},
},
ZGRC013_brightness_up: {
cid: 'genLevelCtrl',
type: 'cmdMove',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
if (button) {
return {click: `${button}_down`}
}
},
},
ZGRC013_brightness_down: {
cid: 'genLevelCtrl',
type: 'cmdMoveWithOnOff',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
if (button) {
return {click: `${button}_up`}
}
},
},
ZGRC013_brightness_stop: {
cid: 'genLevelCtrl',
type: 'cmdStopWithOnOff',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
if (button) {
return {click: `${button}_stop`}
}
},
},
ZGRC013_scene: {
cid: 'genScenes',
type: 'cmdRecall',
convert: (model, msg, publish, options) => {
return {click: `scene_${msg.data.data.groupid}_${msg.data.data.sceneid}`};
},
}, (it might be that you need to clear |
Progress with still some questions The up/down buttons produce a Payload field in the Zigbee Cluster Library Frame that contains direction of motion. I captured it in Wireshark at http://mcsSprinklers.com/RGBGenie_Up_Down_7_19_48_56.zip. Records 7 and 48 for the two directions. I tried to update fromZigbee.js but did not have success with the following:
What shows up in the console/log (below) is "undefined" for direction. (i.e. '{"battery":69,"linkquality":0,"click":"4_undefined"}') zigbee2mqtt:debug 2019-4-16 09:40:00 Saving state to file /opt/zigbee2mqtt/data/state.json Second question relates to the above log snippet. The up/down button produce log message of "with groupID undefined of endpoint 4". Should something be done to avoid it. The third question is the startup operation. Each time I restart zigbee2mqtt I get the "devInterview" sequence after I press the first RGBGenie button. This takes a few minutes. It also requires that the RGBGenie be close to the CC2531. If it is a couple rooms away then button presses are not recognized after startup. After "devInterview" completes then RGBGenie can be moved away and works normally. The "devInterview" sequence was previously captured in the post above four days ago at http://mcsSprinklers.com/RBGGenie_Pair_Interview_All_1_2.zip |
1 ZGRC013_brightness_down: {
cid: 'genLevelCtrl',
type: 'cmdMoveWithOnOff',
convert: (model, msg, publish, options) => {
const button = msg.endpoints[0].epId;
const direction = msg.data.data.movemode == 0 ? 'up' : 'down';
if (button) {
return {click: `${button}_${direction}`}
}
},
}, 2 3 |
I started from scratch again and now things are working as expected after startup. The reporting is as desired with direction and with the button #. The All on and All off report the same as the 1 on and 1 off, but that was already known. The anomalies I noticed are:
devices.js added for RGBGenie
fromZigbee.js for RGBGenie added
|
|
I do not expect to do any more work with characterization of the RGBGenie and will use the April 18 devices.js and fromZigbee.js updates. The only shortcoming is that the All On/Off buttons and the 1 On/Off button produce the same mqtt message. In essence the All On/Off should be considered not operational. Will these be added to the mainline or do I continue to add edits moving forward? |
Thanks, this device is now supported in the dev branch and will be supported in zigbee2mqtt 1.5. |
RGBgenie is a handheld 3 zone remote and dimmer. I was able to pair it with zigbee2mqtt and was able to update devices.js and toZigbee.js with the following to get MQTT traffic on battery status.
Where I am stopped is with the primary function of the 12 buttons on the remote. When I pressed the 10 individual buttons the zigbee traffic was identical except timing and there was no WARN message about something without converter. I would expect each button to produce a unique payload.
When I pressed the All Off button then a very long stream of debug resulted, but no WARN message again. The debug and related information was pasted at https://pastebin.com/S8mbttRr
Don't know what my next step should be . The install instructions contain the following info:
RGBgenie is Zigbee 3.0 compliant. It is an end point device that can perform all available operations within the standard. It is able to bind up to 30 lighting devices for on/off and dimming control. It is compatible with universal ZigBee gateway products and universal Zigbee lighting devices. ...
The remote can pair with lighting devices that support Touch-Link commissioning.
My objective is to get MQTT message for each button push. I do not have a desire to link the remote with other ZigBee devices.
The text was updated successfully, but these errors were encountered: