Interrupteur 4 scènes Legrand problème intégration

J’ai modifié le code, car effectivement j’avais été un peu trop rapide en conservant des éléments copiés/collés de deux autre modèles.
Ce code est maintenant bien mieux :

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 readInitialBatteryState = async (type, data, device) => {
    if (['deviceAnnounce'].includes(type)) {
        const endpoint = device.getEndpoint(1);
        const options = {manufacturerCode: 0x1021, disableDefaultResponse: true};
        await endpoint.read('genPowerCfg', ['batteryVoltage'], options);
    }
};


const definition = {
        zigbeeModel: [' Pocket remote\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000'+
            '\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000'],
        model: '067755',
        vendor: 'Legrand',
        description: 'Wireless and batteryless 4 scenes control',
        fromZigbee: [fz.identify, fz.command_on, fz.command_off, fz.command_toggle, fz.battery, fz.command_recall],
        exposes: [e.battery(), e.action(['identify', 'recall_1_1'])],
        toZigbee: [],
        meta: {multiEndpoint: true, battery: {voltageToPercentage: '3V_2500'}, publishDuplicateTransaction: true},
        onEvent: readInitialBatteryState,
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(1);
            await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'genOnOff', 'genLevelCtrl']);
        },


};

module.exports = definition;

j’ai pas réussi a avancé de mon coté.
Mon groupid est dans la ligne debug.
mon payload ne contient pas le action group :frowning:

Debug 2023-02-11 16:55:21Received Zigbee message from '0x0004740000834175', type 'commandRecall', cluster 'genScenes', data '{"groupid":65514,"sceneid":1}' from endpoint 1 with groupID null
Info 2023-02-11 16:55:21MQTT publish: topic 'zigbee2mqtt/0x0004740000834175', payload '{"action":"recall_1_1","battery":100,"linkquality":167,"voltage":3000}'
Info 2023-02-11 16:55:21MQTT publish: topic 'zigbee2mqtt/0x0004740000834175', payload '{"action":"","battery":100,"linkquality":167,"voltage":3000}'
Info 2023-02-11 16:55:21MQTT publish: topic 'zigbee2mqtt/0x0004740000834175/action', payload 'recall_1_1'

cependant j’ai un retour d’erreur par moment

Error 2023-02-11 17:02:27Failed to configure '0x0004740000834175', attempt 2 (Error: Bind 0x0004740000834175/1 genPowerCfg from '0x00212effff061a1e/1' failed (waiting for response TIMEOUT) at DeconzAdapter.bind (/app/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:768:19) at Endpoint.bind (/app/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:567:13) at Object.bind (/app/node_modules/zigbee-herdsman-converters/lib/reporting.js:40:9) at Object.configure (/app/data/extension/externally-loaded.js:30:13) at Configure.configure (/app/lib/extension/configure.ts:117:13))

Les exposes changent entre deux ? :thinking:

non du tout, j’essaie plein de chose mais j’arrive pas a mes fins :frowning:

mon patch est arrivé dans la dernière version de Z2M : cela ne fonctionne toujours pas ?

négatif, j’ai toujours mon groupid qui est en debug et passe pas dans la ligne info pour faire une scène.
J’ai essayer de contacter le dev a plusieurs reprise mais jamais eu une réponse.

Received Zigbee message from '0x0004740000834175', type 'commandRecall', cluster 'genScenes', data '{"groupid":65515,"sceneid":1}' from endpoint 1 with groupID null
Info 2023-03-05 11:38:49MQTT publish: topic 'zigbee2mqtt/0x0004740000834175', payload '{"action":"recall_1_1","battery":0,"linkquality":191,"voltage":2000}'
Info 2023-03-05 11:38:49MQTT publish: topic 'zigbee2mqtt/0x0004740000834175', payload '{"action":"","battery":0,"linkquality":191,"voltage":2000}'
Info 2023-03-05 11:38:49MQTT publish: topic 'zigbee2mqtt/0x0004740000834175/action', payload 'recall_1_1'

mince, c’est vraiment étrange que je n’ai pas le même comportement ;(
tu as mis à jour le firmware ?

ah pas du tout je sais pas du tout comment on fait vu que c’est pas pris en charge avec z2m.
Et j’ai pas de base legrand netamo.

Je me rend compte que j’ai également et la je seche

Error 2023-03-09 18:36:48Failed to configure '0x0004740000834175', attempt 3 (Error: Bind 0x0004740000834175/1 genOnOff from '0x00212effff061a1e/1' failed (Error: status: 130) at DeconzAdapter.bind (/app/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:768:19) at Endpoint.bind (/app/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:567:13) at Object.bind (/app/node_modules/zigbee-herdsman-converters/lib/reporting.js:40:9) at Object.configure (/app/data/extension/externally-loaded.js:30:13) at Configure.configure (/app/lib/extension/configure.ts:117:13))

Je viens de m’acheter un second interrepteur 4 scènes et il ne s’intégrait pas. J’ai donc adapté l’extension. La voici, en espérant qu’elle fonctionnera pour toi. Pour info, elle fonctionne avec le firmware 39.

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 ota = require('zigbee-herdsman-converters/lib/ota');

const readInitialBatteryState = async (type, data, device) => {
    if (['deviceAnnounce'].includes(type)) {
        const endpoint = device.getEndpoint(1);
        const options = {manufacturerCode: 0x1021, disableDefaultResponse: true};
        await endpoint.read('genPowerCfg', ['batteryVoltage'], options);
    }
};

const tzLocal = {
    auto_mode: {
        key: ['auto_mode'],
        convertSet: async (entity, key, value, meta) => {
            const mode = {'off': 0x00, 'auto': 0x02, 'on_override': 0x03};
            const payload = {data: Buffer.from([mode[value]])};
            await entity.command('manuSpecificLegrandDevices3', 'command0', payload);
            return {state: {'auto_mode': value}};
        },
    },
};

const definition = {
//        zigbeeModel: [' Wireless Scenes Command'],
        fingerprint: [{modelID: ' Wireless Scenes Command\u0000\u0000\u0000\u0000\u0000\u0000\u0000'}],

	//0x000474000092b308
	//        fingerprint: [{modelID: 'GreenPower_254', ieeeAddr: /^0x00000000005.....$/}],
	//Wireless Scenes Command
		//zigbeeModel: [' Wireless Scenes Command\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000'+
            //'\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000'],
        model: '067755',
        vendor: 'Legrand',
        description: 'Wireless Scenes Command',
        fromZigbee: [fz.identify, fz.battery, fz.command_recall],
        exposes: [e.battery(), e.action(['identify', 'recall_1_1'])],
        toZigbee: [],
        meta: {multiEndpoint: true, battery: {voltageToPercentage: '3V_2500'}, publishDuplicateTransaction: true},
        onEvent: readInitialBatteryState,
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(1);
            await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'genOnOff', 'genLevelCtrl']);
        },


};

module.exports = definition;

Merci je vais tester de nouveaux c’est vrai que depuis j’avais lâcher l’affaire :pensive:.
Pour le firmware comment tu procèdes pour le mettre à jours ?

2 solutions suivant la version de ton firmware

Ancien firmware (j’avais le 6 par ex)
:small_orange_diamond: Laisser appuyer un des boutons pendants 10 secondes et relâcher 10 s
:small_orange_diamond: Refaire l’opération 10 fois

Nouveau firmeware
:small_orange_diamond: Laisser appuyer deux boutons jusqu’à ce que la LED devienne violette

D’accord merci, mais le bouton va chercher la maj avec HA ou il faut le hub Legrand ?

il faut le hub Legrand

Voila mise a jour faite en 39 j’étais a 30. J’ai action_group qui remonte ENFIN :partying_face: :partying_face: :partying_face: premier essaie concluant plus qu’a finaliser avec mes scenarios finaux.

Voilà ce qui doit remonter

c’est laborieux quand même l’intégration Legrand. Mais ca fonctionne maintenant fallait juste une mise a jours pour debloqué mes remonté manquante

Salut,
es ce que par hasard tu serais comment faire pour par exemple.

Appuie bouton 1 ouverture volet, un second appuie stop l’ouverture j’ai pas reussi a faire le bon scenario

Si jamais tu as idée je suis preneur