Hallo,
ich bin neu hier und am verzweifeln. Der Hintergrund meines Problems:
Ich habe 2 Zigbee Temperatursensoren ZTH01. Einer davon wird fälschlicherweise als TS0201, also Sensor mit Display, erkannt. Ein Firmware-Update wird gefunden oder angeboten.
In der Z2M Version 1.36.1 habe ich eine custom_converters.js angelegt und dort den entsprechenden Code abgespeichert. Dann habe ich nach Anleitung noch die configuration.yaml des z2m angepasst und aus dem TS0201 wurde ein ZTH01.
Heute habe ich dann auf V2.0.0 aktualisiert. Nach Einlesen in den Änderungen habe ich gesehen, dass sich an diesem Vorgehen etwas geändert hat. Man muß jetzt nicht mehr die config.yaml anpassen, damit externe converter-Dateien geladen und verarbeitet werden. Diese werden jetzt wohl automatisch geladen, wenn sich etwas in Verzeichnis data/external_converters befindet.
Ich habe also die entsprechenden Ordner angelegt, daraus hat sich folgende Struktur ergeben: config/zigbee2mqtt/data/external_converters. In diesen Ordner habe ich dann die .js Datei verschoben und z2m neu gestartet. Nichts passiert.
Ich habe verschiedene Versionen der .js Datei versucht mit Hilfe der Anleitung, der KI usw. Der Sensor wird einfach nicht mehr geändert. Ich bin mir nicht mal sicher, ob die Datei überhaupt geladen wird, da absolut nichts im Log auftaucht, auch im Debug Modus nicht. Es gibt nicht mal eine Fehlermeldung, wenn ich da einfach nur Schrott rein schreibe.
So sieht aktuell eine Version meiner ts0201tozth01_converter.js aus:
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 ota = require('zigbee-herdsman-converters/lib/ota');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const definition = {
zigbeeModel: ['TS0201'],
model: 'TS0201',
vendor: '_TZ3000_v1w2k9dd',
description: 'Automatically generated definition',
extend: [battery(), temperature(), humidity()],
meta: {},
};
module.exports = [
{
fingerprint: [{modelID: 'TS0201', manufacturerName: '_TZ3000_v1w2k9dd'}],
model: 'ZTH01',
vendor: 'Tuya',
description: 'Beschreibung des Geräts',
fromZigbee: [fz.temperature, fz.humidity, fz.battery],
toZigbee: [],
exposes: [e.temperature(), e.humidity(), e.battery()],
},
];
Ich weiß aktuell nicht mehr weiter und hoffe nun hier auf Hilfe.
Vielen Dank im voraus,
Thomas