Ajout ampoule Lexman dans Z2M (non supporté)

Bonjour la commu!

En quête d’ampoule RGBW en GU10 je suis tombé sur la Lexman vendu pour 460 lumens qui semble correct (à voir)
Elle fonctionne en zigbee (compatible enki). Evidement elle n’est pas encore supporté dans Z2M. :smiling_face_with_tear:

Du coup j’essais de l’ajouter [Support new devices | Zigbee2MQTT]

D’autre ampoule lexman sont supportées:
https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/adeo.js

Je m’en inspire donc pour faire le converters:

const exposes = require('zigbee-herdsman-converters/lib/exposes');
const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee};
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const e = exposes.presets;

const definition = {
    zigbeeModel: ['ZBEK-4'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
    model: 'IM-CDZDGAAA0005KA8MAN', // Vendor model number, look on the device for a model number
    vendor: 'Lexman', // Vendor of the device (only used for documentation and startup logging)
    description: 'RGBTW GU10 Bulb', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
    fromZigbee: [], // We will add this later
    toZigbee: [], // Should be empty, unless device can be controlled (e.g. lights, switches).
    extend: extend.light_onoff_brightness_colortemp_color(),
};

module.exports = definition;

Je redémarre Z2M et j’ajoute l’ampoule qui du coup est bien reconnue.


Info Device '0x04cd15fffec5ba65' joined
Info MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x04cd15fffec5ba65","ieee_address":"0x04cd15fffec5ba65"},"type":"device_joined"}'
Info Configuring '0x04cd15fffec5ba65'
Info MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x04cd15fffec5ba65"},"type":"device_connected"}'
Info Starting interview of '0x04cd15fffec5ba65'
Info MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x04cd15fffec5ba65","ieee_address":"0x04cd15fffec5ba65","status":"started"},"type":"device_interview"}'
Info MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x04cd15fffec5ba65"},"type":"pairing"}'
Info MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x04cd15fffec5ba65","ieee_address":"0x04cd15fffec5ba65"},"type":"device_announce"}'
Info MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0x04cd15fffec5ba65"},"type":"device_announced"}'
Info Successfully interviewed '0x04cd15fffec5ba65', device has successfully been paired
Info Device '0x04cd15fffec5ba65' is supported, identified as: Lexman RGBTW GU10 Bulb (IM-CDZDGAAA0005KA8MAN)
Info MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"RGBTW GU10 Bulb","exposes":[{"features":[{"access":7,"description":"On/off state of this light","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":7,"description":"Color temperature of this light","name":"color_temp","presets":[{"description":"Coolest temperature supported","name":"coolest","value":150},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":500}],"property":"color_temp","type":"numeric","unit":"mired","value_max":500,"value_min":150},{"access":7,"description":"Color temperature after cold power on of this light","name":"color_temp_startup","presets":[{"description":"Coolest temperature supported","name":"coolest","value":150},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":500},{"description":"Restore previous color_temp on cold power on","name":"previous","value":65535}],"property":"color_temp_startup","type":"numeric","unit":"mired","value_max":500,"value_min":150},{"description":"Color of this light in the CIE 1931 color space (x/y)","features":[{"access":7,"name":"x","property":"x","type":"numeric"},{"access":7,"name":"y","property":"y","type":"numeric"}],"name":"color_xy","property":"color","type":"composite"}],"type":"light"},{"access":2,"description":"Triggers an effect on the light (e.g. make light blink for a few seconds)","name":"effect","property":"effect","type":"enum","values":["blink","breathe","okay","channel_change","finish_effect","stop_effect"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"IM-CDZDGAAA0005KA8MAN","options":[],"supports_ota":false,"vendor":"Lexman"},"friendly_name":"0x04cd15fffec5ba65","ieee_address":"0x04cd15fffec5ba65","status":"successful","supported":true},"type":"device_interview"}'
Info MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"RGBTW GU10 Bulb","friendly_name":"0x04cd15fffec5ba65","model":"IM-CDZDGAAA0005KA8MAN","supported":true,"vendor":"Lexman"},"type":"pairing"}'
Info Successfully configured '0x04cd15fffec5ba65'

Seulement ca ne fonctionne pas pour toute action que je fait j’ai une erreur

No converter available for state ("ON")

Et là mes compétences bug :crazy_face: :upside_down_face:
Avez-vous des pistes, des solutions à me soumettre svp? :pray:

Merci d’avance

Hello,

J’ai fait la même démarche pour une autre ampoule. Je me suis arrêté à l’écriture du converter et puis je l’ai proposé sur github. Après, « magie » le développeur l’a intégré dans la dev-branch. J’ai pu la tester puis attendre la dernière version.

Je n’avais pas réussi non plus à faire fonctionner mon ampoule avant l’ajout du converter dans la dev-branch.

Si c’est ton converter complet, c’est tout à fait logique que tu es l’erreur No converter available for state ("ON") car le converter ne sait absolument pas comment interpréter les valeurs qu’il reçoit.
Essaie en ajoutant tz.on_off dans la partie toZigbee

1 « J'aime »

Effectivement j’avais pas saisie cette étape… j’ai mis ca dans fromzigbee mais ca changer rien :person_facepalming:
Aller faut que je creuse tout ça maintenant car le ON/OFF c’était pour l’exemple

Bonjour, avez-vous pu trouver la solution ? Merci :slight_smile:

Salut,

c’est un sujet d’il y a plus d’un an et demi.

Zigbee2MQTT garde une liste des appareils couverts.
Le lien ci-dessous est filtré sur les appareils Leroy Merlin/ADEO :