Prise Zigbee non supporté

Oui j’ai réussi à créer un dossier, mais ce n’est pas si simple la suite, je vais essayer.

Je n’arrive pas à faire en sorte que le fichier yaml sois adapter à mes prises.
J’ai essayer d’adapter ce fichier:

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 = {
    fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_jd3z4yig'}],
        model: 'TS0505B',
        vendor: 'TuYa',
        description: 'Zigbee RGB+CCT light',
        whiteLabel: [{vendor: 'Mercator Ikuü', model: 'SMD4106W-RGB-ZB'},
            {vendor: 'TuYa', model: 'A5C-21F7-01'}, {vendor: 'Mercator Ikuü', model: 'S9E27LED9W-RGB-Z'},
            {vendor: 'Aldi', model: 'L122CB63H11A9.0W', description: 'LIGHTWAY smart home LED-lamp - bulb'},
            {vendor: 'Lidl', model: '14153706L', description: 'Livarno smart LED ceiling light'},
        ],
        extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
        meta: {applyRedFix: true, enhancedHue: false},
};

module.exports = definition;

Pour résumer j’ai ces prises

J’ai cru comprendre que je dois ajouter un convertisseur externe dans Z2M j’ai fait, mais sans succès et ensuite ajouter `external_converters:

  • TS0505B.js`

A Yaml Z2Mmqtt mais même résulta.

Si vous avez une idée pour coupler mes prises Aubess Zigbee avec Z2M… svp je suis paumé… :confused:

Regarde la video , cela pourrais t’aidé a avancé

Tu ferais mieux de partir d’un converter plus similaire à ton cas. Là transformer une lampe en prise, c’est pas simple quand on connait pas… Et ça a toutes les chances de ne pas marcher.

Regarde à la ligne 2054 de ça zigbee-herdsman-converters/tuya.js at ec9759482426c9da5055cf365d470c55c068e541 · Koenkk/zigbee-herdsman-converters · GitHub

Bon comme je ne sais pas si c’est un module ou une prise, il faut peut-être trouver encore plus proche en vérifiant la description.
ensuite, tu ajoute la bonne combinaison vendor/model et tu fais charger le fichier via l’ui (l’onglet converter)

Bonjour merci pour l’aide c’est une prise:
Zigbee model ‹ TS011F ›
Name ‹ _TZ3000_gvn91tmx ›

Sur le lien que tu ma envoyer il y a bien le bon model mais pas le même nom, puis-je le rajouter? C’est bien toutes ces lignes que j’ajoute à converter?
J’ai déja ajouter des converter et à chaque fois je ne peut plus ouvrir Z2M (502: Bad Gateway).

fingerprint: TS011Fplugs.map((manufacturerName) => {
            return {modelID: 'TS011F', manufacturerName};
        }),
        model: 'TS011F_plug_1',
        description: 'Smart plug (with power monitoring)',
        vendor: 'TuYa',
        whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
            {vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},
            {vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'}],
        ota: ota.zigbeeOTA,
        fromZigbee: [fz.on_off, fzLocal.electrical_measurement_skip_duplicate, fzLocal.metering_skip_duplicate, fz.ignore_basic_report,
            fz.tuya_switch_power_outage_memory, fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
        toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_plug_indicator_mode, tz.ts011f_plug_child_mode],
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(1);
            await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
            await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
            await reporting.rmsVoltage(endpoint, {change: 5});
            await reporting.rmsCurrent(endpoint, {change: 50});
            await reporting.activePower(endpoint, {change: 10});
            await reporting.currentSummDelivered(endpoint);
            endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
            endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
            device.save();
        },
        exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),
            e.energy(), exposes.enum('power_outage_memory', ea.ALL, ['on', 'off', 'restore'])
                .withDescription('Recover state after power outage'),
            exposes.enum('indicator_mode', ea.ALL, ['off', 'off/on', 'on/off', 'on'])
                .withDescription('Plug LED indicator mode'), e.child_lock()],
    },
    {
        fingerprint: [
            {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_nzkqcvvs'}],
        model: 'TS011F_plug_2',
        description: 'Smart plug (without power monitoring)',
        vendor: 'TuYa',
        fromZigbee: [fz.on_off, fz.tuya_switch_power_outage_memory, fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
        toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_plug_indicator_mode, tz.ts011f_plug_child_mode],
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(1);
            await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
        },
        exposes: [e.switch(), exposes.enum('power_outage_memory', ea.ALL, ['on', 'off', 'restore'])
            .withDescription('Recover state after power outage'),
        exposes.enum('indicator_mode', ea.ALL, ['off', 'off/on', 'on/off', 'on'])
            .withDescription('Plug LED indicator mode'), e.child_lock()],

Oui c’est justement l’objectif… Faire le converter à partir de ce modèle pour ta prise

Ca c’est quand le converter ne se charge pas. Contenu incorrect… Donc il faut corriger. C’est pour ça qu’il faut suivre strictement la méthodologie donnée plus haut

J’ai compris le système, mais même en modifiant le model et name toujours error 502. Une erreur dans mes modifications certainement, j’ai ajouté un model ID et un (whiteLabel) mais je ne sais pas si le vendeur est le bon (normalement Aubess sur la boite de la prise) pas indiqué sur Z2M:

fingerprint: TS011F.map((manufacturerName) => {
            return {modelID: 'TS011F', manufacturerName};
        }),
        model: 'TS011F',
        description: 'Smart plug (with power monitoring)',
        vendor: 'TuYa',
        whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
            {vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},
            {vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'},
	{vendor: 'AUBESS', model: 'TS011F'},{vendor: 'Tuya', model: 'TS011F'} ],
        ota: ota.zigbeeOTA,
        fromZigbee: [fz.on_off, fzLocal.electrical_measurement_skip_duplicate, fzLocal.metering_skip_duplicate, fz.ignore_basic_report,
            fz.tuya_switch_power_outage_memory, fz.ts011f_indicator_mode, fz.ts011f_child_mode],
        toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_indicator_mode, tz.ts011f_child_mode],
        configure: async (device, coordinatorEndpoint, logger) => {
            const endpoint = device.getEndpoint(1);
            await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
            await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
            await reporting.rmsVoltage(endpoint, {change: 5});
            await reporting.rmsCurrent(endpoint, {change: 50});
            await reporting.activePower(endpoint, {change: 10});
            await reporting.currentSummDelivered(endpoint);
            endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});
            endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});
            device.save();
        },
        exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),
            e.energy(), exposes.enum('power_outage_memory', ea.ALL, ['on', 'off', 'restore'])
                .withDescription('Recover state after power outage'),
            exposes.enum('indicator_mode', ea.ALL, ['off', 'off/on', 'on/off', 'on'])
                .withDescription('Plug LED indicator mode'), e.child_lock()],
    },
    {
        fingerprint: [
            {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'},
            {modelID: 'TS011F', manufacturerName: '_TZ3000_nzkqcvvs'},
	    {modelID: 'TS011F', manufacturerName: '_TZ3000_gvn91tmx'}],
{
        fingerprint: [].concat(...TS011F.map((manufacturerName) => {
            return [160, 69, 68, 65, 64].map((applicationVersion) => {
                return {modelID: 'TS011F', manufacturerName, applicationVersion};
            });


Merci pour la vidéo mais la whaou cela me parrais bien compliqué :no_mouth:

Les bonnes infos sont là

Oui c’est bien cela mais j’ai du raté quelque chose dans ma configuration car ça ne fonctionne pas (502).

ça doit être plus précis que 502. Là j’en déduis que le contenu n’est pas correct donc pas chargé

J’ai (502: Bad Gateway) au demarage de Z2M
Je me demande si ce que j’ai ajouté comme convertisseur est correct?

Oui mais ça suffit pas pour savoir ce qu’il se passe… 502 c’est que l’interface graphique ne se lance pas. L’important c’est encore (et toujours) le contenu des logs

Verifie le port de ta cle USB
Il a du changé lors d’un reboot de HA

C’est à dire le journal?
Il m’indique juste que mes prises sont déconnecté…
L’application fonctionne a nouveaux quand je supprime ce que le converter ma ajouter dans:

/config/zigbee2mqtt/configuration.yaml

Mais évidemment mes prises sont toujours inaccessible.

Dans la partie addons, puis dans z2m, tu as 3 onglets dont celui appelé journal (le 3ème), le 2ème c’est la config de base de z2m. C’est là, dans le 3ème que tu as toutes les infos de ce qu’il se passe
A coté de ça

Oh d’accord, je ne savais plus, je m’en souviendrais maintenant voici ce que ça raconte :

Zigbee2MQTT:info  2022-09-26 13:44:15: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'offline'
Zigbee2MQTT:info  2022-09-26 13:44:15: Disconnecting from MQTT server
Zigbee2MQTT:info  2022-09-26 13:44:15: Stopping zigbee-herdsman...
Zigbee2MQTT:info  2022-09-26 13:44:23: Stopped zigbee-herdsman
Zigbee2MQTT:info  2022-09-26 13:44:23: Stopped Zigbee2MQTT
Error: Cannot find module 'fingerprint: TS011F.map((manufacturerName) => {             return {modelID: 'TS011F', manufacturerName};         }),         model: 'TS011F',         description: 'Smart plug (with power monitoring)',         vendor: 'TuYa',         whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},             {vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},             {vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'}, 	{vendor: 'AUBESS', model: 'TS011F'},{vendor: 'Tuya', model: 'TS011F'} ],         ota: ota.zigbeeOTA,         fromZigbee: [fz.on_off, fzLocal.electrical_measurement_skip_duplicate, fzLocal.metering_skip_duplicate, fz.ignore_basic_report,             fz.tuya_switch_power_outage_memory, fz.ts011f_indicator_mode, fz.ts011f_child_mode],         toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_indicator_mode, tz.ts011f_child_mode],         configure: async (device, coordinatorEndpoint, logger) => {             const endpoint = device.getEndpoint(1);             await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);             await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);             await reporting.rmsVoltage(endpoint, {change: 5});             await reporting.rmsCurrent(endpoint, {change: 50});             await reporting.activePower(endpoint, {change: 10});             await reporting.currentSummDelivered(endpoint);             endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});             endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});             device.save();         },         exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),             e.energy(), exposes.enum('power_outage_memory', ea.ALL, ['on', 'off', 'restore'])                 .withDescription('Recover state after power outage'),             exposes.enum('indicator_mode', ea.ALL, ['off', 'off/on', 'on/off', 'on'])                 .withDescription('Plug LED indicator mode'), e.child_lock()],     },     {         fingerprint: [             {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_nzkqcvvs'}, 	    {modelID: 'TS011F', manufacturerName: '_TZ3000_gvn91tmx'}], {         fingerprint: [].concat(...TS011F.map((manufacturerName) => {             return [160, 69, 68, 65, 64].map((applicationVersion) => {                 return {modelID: 'TS011F', manufacturerName, applicationVersion};             });'
Require stack:
- /app/dist/util/utils.js
- /app/dist/util/settings.js
- /app/index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.getExternalConvertersDefinitions (/app/lib/util/utils.ts:167:25)
    at getExternalConvertersDefinitions.next (<anonymous>)
    at new ExternalConverters (/app/lib/extension/externalConverters.ts:12:20)
    at new Controller (/app/lib/controller.ts:84:58)
    at start (/app/index.js:108:18)
    at Timeout.restart [as _onTimeout] (/app/index.js:19:5)
[13:44:25] INFO: Handing over control to Zigbee2MQTT Core ...
Error: Cannot find module 'fingerprint: TS011F.map((manufacturerName) => {             return {modelID: 'TS011F', manufacturerName};         }),         model: 'TS011F',         description: 'Smart plug (with power monitoring)',         vendor: 'TuYa',         whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},             {vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},             {vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'}, 	{vendor: 'AUBESS', model: 'TS011F'},{vendor: 'Tuya', model: 'TS011F'} ],         ota: ota.zigbeeOTA,         fromZigbee: [fz.on_off, fzLocal.electrical_measurement_skip_duplicate, fzLocal.metering_skip_duplicate, fz.ignore_basic_report,             fz.tuya_switch_power_outage_memory, fz.ts011f_indicator_mode, fz.ts011f_child_mode],         toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_indicator_mode, tz.ts011f_child_mode],         configure: async (device, coordinatorEndpoint, logger) => {             const endpoint = device.getEndpoint(1);             await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);             await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);             await reporting.rmsVoltage(endpoint, {change: 5});             await reporting.rmsCurrent(endpoint, {change: 50});             await reporting.activePower(endpoint, {change: 10});             await reporting.currentSummDelivered(endpoint);             endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {acCurrentDivisor: 1000, acCurrentMultiplier: 1});             endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});             device.save();         },         exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),             e.energy(), exposes.enum('power_outage_memory', ea.ALL, ['on', 'off', 'restore'])                 .withDescription('Recover state after power outage'),             exposes.enum('indicator_mode', ea.ALL, ['off', 'off/on', 'on/off', 'on'])                 .withDescription('Plug LED indicator mode'), e.child_lock()],     },     {         fingerprint: [             {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'},             {modelID: 'TS011F', manufacturerName: '_TZ3000_nzkqcvvs'}, 	    {modelID: 'TS011F', manufacturerName: '_TZ3000_gvn91tmx'}], {         fingerprint: [].concat(...TS011F.map((manufacturerName) => {             return [160, 69, 68, 65, 64].map((applicationVersion) => {                 return {modelID: 'TS011F', manufacturerName, applicationVersion};             });'
Require stack:
- /app/dist/util/utils.js
- /app/dist/util/settings.js
- /app/index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.getExternalConvertersDefinitions (/app/lib/util/utils.ts:167:25)
    at getExternalConvertersDefinitions.next (<anonymous>)
    at new ExternalConverters (/app/lib/extension/externalConverters.ts:12:20)
    at new Controller (/app/lib/controller.ts:84:58)
    at start (/app/index.js:108:18)
[13:44:29] INFO: Handing over control to Zigbee2MQTT Core ..

Bon ben c’est clair, ton converteur n’est pas bon

Ah … J’ai modifier le nom TS011F.map à l’origine cétait TS011Fplugs.map
Si je comprend bien c’est une bibliothéque ou il vas récupérer les données de la prise.