Witam.
Kupiłem taki moduł jak w temacie, lecz niestety w zigbee2mqtt jest jako “niewspierany”.
Jak dodać takie urządzenie od zera? Z wyglądu przypomina Tuya PJ-ZGD01 control via MQTT | Zigbee2MQTT
Witam.
Kupiłem taki moduł jak w temacie, lecz niestety w zigbee2mqtt jest jako “niewspierany”.
Jak dodać takie urządzenie od zera? Z wyglądu przypomina Tuya PJ-ZGD01 control via MQTT | Zigbee2MQTT
OK, tylko przydałoby mi się na czymś bazować, podobnym. Bo nie wiem, jak się za to zabrać.
OK, chyba się udało i działa. Bazowałem na Tuya TS0603 control via MQTT | Zigbee2MQTT
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 modernExtend = require('zigbee-herdsman-converters/lib/modernExtend');
const e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const definition = {
// Since a lot of Tuya devices use the same modelID, but use different datapoints
// it's necessary to provide a fingerprint instead of a zigbeeModel
fingerprint: [
{
// The model ID from: Device with modelID 'TS0601' is not supported
// You may need to add \u0000 at the end of the name in some cases
modelID: 'TS0601',
// The manufacturer name from: Device with modelID 'TS0601' is not supported.
manufacturerName: '_TZE20C_qw6nyd2u',
},
],
model: 'TS0601',
vendor: 'Tuya',
description: 'Fill in a description of the device here',
fromZigbee: [tuya.fz.datapoints],
toZigbee: [tuya.tz.datapoints],
onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
configure: async (device, coordinatorEndpoint) => {
await tuya.configureMagicPacket(device, coordinatorEndpoint);
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
},
exposes: [
e.binary('state', ea.STATE_SET, true, false).withDescription('Trigger the door movement'),
e.binary('garage_door_contact', ea.STATE, true, false).withDescription('Indicates if the garage door contact is closed (= true) or open (= false)'),
],
meta: {
tuyaDatapoints: [
[1, 'state', tuya.valueConverter.raw],
[3, 'garage_door_contact', tuya.valueConverter.trueFalseInvert],
[12, null, null],
],
},
extend: [
// A preferred new way of extending functionality.
],
};
module.exports = definition;
Jeszcze jedno, jak synchronizować stan przełącznika, gdy np brama jest zamknięta ?
Czyli udało się ale nie w całości, to powinien zapewnić konwerter, ktory napisałeś.
Co więc proponujesz ? Jestem w tym temacie bez doświadczenia, więc liczę na konstruktywne uwagi.
Podałeś jakiś model “bliźniaczy” do twojego - odszukaj go w kodzie na repozytorium i spróbuj znaleźć czy czegoś nie brakuje.
Znalazłem ten kod w https://github.com/Koenkk/zigbee-herdsman-converters/blob/dff93c38faf5c8b31e14d60a9e208290b81eb711/src/devices/tuya.ts#L7469
Może inaczej zadam pytanie, chciałbym by w dashboard, funkcja “state” była jako przycisk, coś jak toggle. Bo urządzenie po naciśnięciu przycisku działa monostabilne, czyli odpala przekaźnik na około 2 sekundy.
Cześć, z góry przepraszam, ale zrobiłem już co mogłem i nie wiem co mam i jak zrobić żeby mi wspierało to urządzenie. Bardzo Was proszę pomóżcie mi to skonfigurować. Jak raz zobacze jak to się robi to potem już będzie łatwiej.
Tu masz blisko 3000 issues (już zamkniętych) związanych z external converters większość z nich nadaje się na przykłady