Piloter indépendamment les prises de la multiprise NOUS A11Z avec Zigbee2MQTT


Si vous possédez une multiprise intelligente NOUS A11Z à 3 prises et que vous utilisez Zigbee2MQTT avec Home Assistant, vous avez peut-être rencontré un problème frustrant : les trois prises s’allument ou s’éteignent en même temps, même si vous essayez de contrôler une seule prise.

Dans cet article, nous allons détailler la cause de ce problème et comment le corriger grâce aux external converters de Zigbee2MQTT.
Doc sur les external_converters : https://www.zigbee2mqtt.io/advanced/more/external_converters.html


La problématique

La multiprise NOUS A11Z est en réalité un périphérique multi-endpoint. Chaque prise devrait être un endpoint indépendant (L1, L2, L3) exposant son état et sa consommation électrique.

Cependant, par défaut, l’addon Zigbee2MQTT ne gère pas correctement ce modèle, et il ne distingue pas les endpoints individuellement. Résultat :

  • Activer multi_01_l1 allume les trois prises.
  • Les capteurs d’énergie (power, voltage, current, energy) sont regroupés et ne reflètent pas correctement la consommation de chaque prise.

Même si les entités apparaissent dans Home Assistant (multi_01_l1, multi_01_l2, multi_01_l3), elles restent liées physiquement tant que le périphérique n’est pas pris en charge par un converter externe.


La solution : utiliser un external converter avec Zigbee2MQTT

Un converter externe permet d’ajouter la gestion spécifique de certains modèles qui ne sont pas parfaitement supportés par Zigbee2MQTT. Pour la NOUS A11Z, il existe déjà un script JS qui corrige le comportement multi-endpoint.

Le script

const tuya = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const e = exposes.presets;
const ea = exposes.access;

module.exports = [
{
fingerprint: tuya.fingerprint('TS011F', ['_TZ3210_6cmeijtd']),

    model: 'A11Z',
    vendor: 'Nous',
    description: 'Smart power strip 3 gang with energy monitoring & countdown',

    endpoint: (device) => {
        return { l1: 1, l2: 2, l3: 3 };
    },

    meta: {
        multiEndpoint: true,
        multiEndpointSkip: ['energy', 'current', 'voltage', 'power'],
    },

    extend: [
        tuya.modernExtend.tuyaOnOff({
            electricalMeasurements: true,
            powerOutageMemory: true,
            onOffCountdown: true,
            indicatorMode: true,
            childLock: true,
            endpoints: ['l1', 'l2', 'l3'],
        }),
        tuya.modernExtend.electricityMeasurementPoll({
            metering: (device) => [100, 160, 192].includes(device.applicationVersion) || ["1.0.5"].includes(device.softwareBuildID),
        }),
    ],

    configure: async (device, coordinatorEndpoint) => {
        await tuya.configureMagicPacket(device, coordinatorEndpoint);
        const endpoint = device.getEndpoint(1);
        

        endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {
            acCurrentDivisor: 1000,
            acCurrentMultiplier: 1,
            acVoltageDivisor: 10,
            acVoltageMultiplier: 1,
            acPowerDivisor: 10,
            acPowerMultiplier: 1,
        });
        endpoint.saveClusterAttributeKeyValue('seMetering', {
            divisor: 100,
            multiplier: 1,
        });
        
        utils.attachOutputCluster(device, 'genOta');
        device.save();
    },
},
];

Étapes à suivre

  1. Créer le dossier external_converters dans Zigbee2MQTTDans ton dossier Zigbee2MQTT (data_path de l’addon) :/config/zigbee2mqtt/external_converters/
  2. Placer le fichier JS du converterCopiez le fichier nous_a11z.js dans ce dossier. Exemple :/config/zigbee2mqtt/external_converters/nous_a11z.js Le contenu du fichier JS gère :
    • Les 3 endpoints L1, L2, L3
    • Les mesures électriques (courant, tension, puissance, énergie)
    • Les fonctionnalités comme la mémoire après coupure et le compte à rebours
  3. Redémarrer Zigbee2MQTTAprès le redémarrage, vérifiez les logs de Z2M :Device '0xa4c138c1fe140289' is supported by: external Cela indique que le converter externe est bien chargé et actif.
  4. Ré-appairer la multiprise
    • Supprimez l’ancienne entité dans Z2M
    • Reset physique de la multiprise (appui long sur le bouton)
    • Appairez-la à nouveau
    Les trois prises seront désormais indépendantes dans Home Assistant et Zigbee2MQTT. Les capteurs d’énergie fonctionneront correctement pour chaque prise.

Avantages de cette méthode

  • Contrôle indépendant de chaque prise
  • Mesures d’énergie exactes pour chaque appareil branché
  • Support des fonctionnalités avancées (compte à rebours, mémoire après coupure)
  • Fonctionne directement avec Home Assistant via Z2M

Exemple d’entités Home Assistant après correction

EntitéEndpointFonction
switch.multi_01_l1L1Prise 1 (ON/OFF)
switch.multi_01_l2L2Prise 2 (ON/OFF)
switch.multi_01_l3L3Prise 3 (ON/OFF)
sensor.multi_01_powerPuissance totale
sensor.multi_01_energyÉnergie consommée

✅ Grâce aux external converters, la NOUS A11Z devient enfin pleinement exploitable avec Home Assistant et Zigbee2MQTT.



Cet article vous a plu ? Partagez-le 😉



Ceci pourrait vous intéresser :

Leave a Comment