Interruptor ZemiSmart TB25-ZB (ZM-L03E-Z) não funciona de forma independente no Zigbee2MQTT

Olá Pessoal, Tudo bem?

Comprei esse produto aqui logo abaixo:

Adicionei ele no Zigbee2MQTT, e o mesmo deveria ser reconhecido como tb25-zb, mas foi reconhecido como ZM-L03E-Z.

Ao ser adicionado, ele possui 3 entidades:

state left
state center
state right (que é a tomada)

Ao pressionar os botões fisicamente, tudo funciona, e o status no HA e Zigbee2mQTT também funcionam.

Porém ao pressionar os botões pelo home assistant, ou direto no zigbee2mqtt ele não funciona de forma independente…ou seja, ao ligar um botão pelo HA ou Zigbee2mqtt, todos ligam, ao desligar, todos desligam, left, center e right.

Alguém sabe como resolver?

1 Like

Ninguém mais passou por esse caso?

Estou com o mesmo problema. Alguém tem alguma luz?

Ele se comporta de forma parecida no ZHA. Ao ligar/desligar 1 entidade pelo HA a ação ê realizada nas 3. Outro detalhe é que os 2 botões e a tomada foram reconhecidos como lampas.

Olá Pessoal, Tudo bem?

Fiquei até tarde ontem, e apesar de não ter nenhuma experiência com isso, eu mesmo consegui criar um external converter pra esse T25ZB…

Segue em anexo…

1 - Antes de usar ele, tente primeiro parear o seu dispositivo…
2 - Ao parear…Veja se ele vai aparecer com o nome _vjhcenzo,
3A - Se aparecer, exclui o aparelho novamente do zigbee2mqtt, joga o arquivo pra dentro do HA na pasta \config\zigbee2mqtt

3B - ***Se aparecer com outro nome, renomeie o arquivo substituindo o _vjhcenzo pelo o que aparecer, e dentro do arquivo, também faça essa troca, e salve na pasta \config\zigbee2mqtt…com o final .js

4 - Anote o nome do arquivo completo.

5 - Independente do caso, estando com arquivo dentro da pasta \config\zigbee2mqtt Exclua o aparelho no Zigbee2MQTT, valide as configurações, e reinicie o HA para carregar esse arquivo.

6 - Eu estou usando a versão estável mais atual do Zigbee2mqtt, que dispensa fazer apontamento do external converter dentro do ajustes do plugin, então…no FrontEnd do Zigbee2mQTT, basta ir em Configurações, Configurações, Conversor Externo ou External Converter…

7 - Coloque exatamente o nome do arquivo que você havia colado ou criado dentro de \config\zigbee2mqtt, clique em submit, reinicie o Zigbee2MQTT

8 - E faça um novo pareamento.

POR AQUI, TUDO FUNCIONOU…

OBS, coloquei uma linha do power_on_behavior, para testar, pra ele iniciar desligado ao subir a energia, mas estava cansado d+ para fazer mais testes e remover depois…kkkkk, deixei por lá mesmo…e como sou preguiçoso e sem experiência com isso, eu deixei algumas informações com o nome da moes no concat, já que foi da li que usei de parâmetro para usar as sintaxes…quem quiser corrigir isso, sintam-se a vontade.

Fiz aqui, e tudo funcionou perfeitamente…

Segue o código dele:

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: ‘TS0003’,
manufacturerName: ‘_TZ3000_vjhcenzo’
}
],
model: ‘ZM-L03E-Z’,
vendor: ‘Zemismart’,
description: ‘Smart light switch - 3 gang with neutral wire’,
toZigbee: extend.switch().toZigbee.concat([tz.moes_power_on_behavior]),
fromZigbee: extend.switch().fromZigbee.concat([fz.moes_power_on_behavior]),
exposes: [
e.switch().withEndpoint(‘left’),
e.switch().withEndpoint(‘center’),
e.switch().withEndpoint(‘right’),
exposes.enum(‘power_on_behavior’, ea.ALL, [‘on’, ‘off’, ‘previous’]),
],
endpoint: () => {
return {‘left’: 1, ‘center’: 2, ‘right’: 3};
},
meta: {multiEndpoint: true},
configure: async (device, coordinatorEndpoint) => {
const firstEndpoint = device.getEndpoint(1);
await firstEndpoint.read(‘genBasic’, [‘manufacturerName’, ‘zclVersion’, ‘appVersion’, ‘modelId’, ‘powerSource’, 0xfffe]);
await reporting.bind(firstEndpoint, coordinatorEndpoint, [‘genOnOff’]);

const secondEndpoint = device.getEndpoint(2);
await reporting.bind(secondEndpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(secondEndpoint);

const thirdEndpoint = device.getEndpoint(3);
await reporting.bind(thirdEndpoint, coordinatorEndpoint, ['genOnOff']);
await reporting.onOff(thirdEndpoint);

}
};

module.exports = definition;

1 Like

Eu subi o código para zigbee2mqtt e ele já foi aprovado na branch dev, quem quiser atualizar e utilizar essa versão, já está funcionando.

Segundo o Koenkk deve subir para a produção com a imagem e tudo mais no dia 01/06.

    fingerprint: [{modelID: 'TS0003', manufacturerName: '_TZ3000_vjhcenzo'}],
    model: 'TB25',
    vendor: 'Zemismart',
    description: 'Smart light switch and socket - 2 gang with neutral wire',
1 Like