Skip to content

[New device support]: Hue Tap Dial RDM002 9290035001 #12927

Description

@xammmue

Link

https://www.philips-hue.com/en-gb/p/hue-tap-switch/8719514440999

Database entry

{"id":45,"type":"EndDevice","ieeeAddr":"0x001788010d13248f","nwkAddr":8963,"manufId":4107,"manufName":"Signify Netherlands B.V.","powerSource":"Battery","modelId":"RDM002","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":2096,"inClusterList":[0,1,3,64512,4096],"outClusterList":[25,0,3,4,6,8,5,4096],"clusters":{"genPowerCfg":{"attributes":{"61441":2667,"61442":2603,"61443":2714,"batteryPercentageRemaining":122}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff07ab97","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff07ab97","endpointID":1},{"cluster":64512,"type":"endpoint","deviceIeeeAddress":"0x00212effff07ab97","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff07ab97","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":62000,"repChange":0}],"meta":{}}},"appVersion":2,"stackVersion":1,"hwVersion":1,"dateCode":"20220316","swBuildId":"2.59.19","zclVersion":8,"interviewCompleted":true,"meta":{"configured":-289016272},"lastSeen":1656081001000,"defaultSendRequestWhen":"immediate"}

Comments

I already tried creating my own converter to be able to make the device usable. This made the interview process successful and the button presses seems to work as well.
I copied most of this from the hue dimmer switch which is probably also the reason why the buttons are labeled on, off, up and down.

I wasn't able to make the dial work properly, which is why I am writing here. I would probably need to use the correct converter but I don't feel comfortable just picking one and copy pasting it there.
Here are some logs of what happens when rotating:

Turning left "one click"

2022-06-24 16:49:45	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":1,"stepsize":8,"transtime":4}' from endpoint 1 with groupID null
2022-06-24 16:49:45	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":1,"stepsize":8,"transtime":4}'
2022-06-24 16:49:45	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":241,"type":1,"unknown1":3145984,"unknown2":255}' from endpoint 1 with groupID null

Turning left continuously:

2022-06-24 16:52:46	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":1,"stepsize":32,"transtime":4}' from endpoint 1 with groupID null
2022-06-24 16:52:46	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":1,"stepsize":32,"transtime":4}'
2022-06-24 16:52:46	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":181,"type":1,"unknown1":3145984,"unknown2":255}' from endpoint 1 with groupID null
2022-06-24 16:52:47	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":134,"type":2,"unknown1":3145984,"unknown2":254}' from endpoint 1 with groupID null
2022-06-24 16:52:47	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":1,"stepsize":202,"transtime":5}' from endpoint 1 with groupID null
2022-06-24 16:52:47	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":1,"stepsize":202,"transtime":5}'
2022-06-24 16:52:47	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":179,"type":2,"unknown1":3145984,"unknown2":254}' from endpoint 1 with groupID null
2022-06-24 16:52:47	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":1,"stepsize":87,"transtime":5}' from endpoint 1 with groupID null
2022-06-24 16:52:47	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":1,"stepsize":87,"transtime":5}'

Right "one click"

2022-06-24 16:53:05	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":1,"stepsize":8,"transtime":4}' from endpoint 1 with groupID null
2022-06-24 16:53:05	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":1,"stepsize":8,"transtime":4}'
2022-06-24 16:53:05	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":241,"type":1,"unknown1":3145984,"unknown2":255}' from endpoint 1 with groupID null

Right continuously:

2022-06-24 16:53:24	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":0,"stepsize":20,"transtime":4}' from endpoint 1 with groupID null
2022-06-24 16:53:24	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":0,"stepsize":20,"transtime":4}'
2022-06-24 16:53:24	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":45,"type":1,"unknown1":3145984,"unknown2":0}' from endpoint 1 with groupID null
2022-06-24 16:53:24	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":181,"type":2,"unknown1":3145984,"unknown2":0}' from endpoint 1 with groupID null
2022-06-24 16:53:24	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":0,"stepsize":99,"transtime":5}' from endpoint 1 with groupID null
2022-06-24 16:53:24	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":0,"stepsize":99,"transtime":5}'
2022-06-24 16:53:25	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":227,"type":2,"unknown1":3145984,"unknown2":0}' from endpoint 1 with groupID null
2022-06-24 16:53:25	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":0,"stepsize":111,"transtime":5}' from endpoint 1 with groupID null
2022-06-24 16:53:25	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":0,"stepsize":111,"transtime":5}'
2022-06-24 16:53:25	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":227,"type":2,"unknown1":3145984,"unknown2":0}' from endpoint 1 with groupID null
2022-06-24 16:53:25	Received Zigbee message from 'Hue Tap Dial 1', type 'commandStepWithOnOff', cluster 'genLevelCtrl', data '{"stepmode":0,"stepsize":93,"transtime":5}' from endpoint 1 with groupID null
2022-06-24 16:53:25	No converter available for '9290035001' with cluster 'genLevelCtrl' and type 'commandStepWithOnOff' and data '{"stepmode":0,"stepsize":93,"transtime":5}'
2022-06-24 16:53:25	Received Zigbee message from 'Hue Tap Dial 1', type 'commandHueNotification', cluster 'manuSpecificPhilips', data '{"button":20,"time":106,"type":2,"unknown1":3145984,"unknown2":0}' from endpoint 1 with groupID null

External converter

const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
    zigbeeModel: ['RDM002', '9290035001'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
    model: '9290035001', // Vendor model number, look on the device for a model number
    vendor: 'Signify Netherlands B.V.', // Vendor of the device (only used for documentation and startup logging)
    description: 'Hue tap dial', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
    fromZigbee: [fz.ignore_command_on, fz.ignore_command_off, fz.ignore_command_step, fz.ignore_command_stop,
            fz.hue_dimmer_switch, fz.battery, fz.command_recall], // We will add this later
    toZigbee: [], // Should be empty, unless device can be controlled (e.g. lights, switches).
    exposes: [e.battery(), e.action(['on_press', 'on_hold', 'on_press_release', 'on_hold_release',
            'off_press', 'off_hold', 'off_press_release', 'off_hold_release', 'up_press', 'up_hold', 'up_press_release', 'up_hold_release',
            'down_press', 'down_hold', 'down_press_release', 'down_hold_release', 'recall_0', 'recall_1'])], // Defines what this device exposes, used for e.g. Home Assistant discovery and in the fro>
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(1);
        await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'manuSpecificPhilips', 'genPowerCfg']);
        const options = {manufacturerCode: 0x100B, disableDefaultResponse: true};
        await endpoint.write('genBasic', {0x0031: {value: 0x000B, type: 0x19}}, options);
        await reporting.batteryPercentageRemaining(endpoint);
    }
};

module.exports = definition;

Supported color modes

No response

Color temperature range

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions