NEWS
Tester für Zigbee Adapter 2.0.x gesucht
-
@meisterq-0 der externe Konverter muss in das Verzeichnis
/opt/iobroker/iobroker-data/zigbee_0
Und ich gehe davon aus das in deinem Pfad ein 'dist' fehlt - schau mal bitte nach ob die Datei
/opt/iobroker/iobroker-data/node_modules/zigbee-herdsman-converters/converters/toZigbee.js
existiert. Wenn nein, bitte den Pfad (unterhalb zigbee-herdsman-converters) anpassenA.
-
@asgothian said in Tester für Zigbee Adapter 2.0.x gesucht:
@meisterq-0 der externe Konverter muss in das Verzeichnis
/opt/iobroker/iobroker-data/zigbee_0
Und ich gehe davon aus das in deinem Pfad ein 'dist' fehlt - schau mal bitte nach ob die Datei
/opt/iobroker/iobroker-data/node_modules/zigbee-herdsman-converters/converters/toZigbee.js
existiert. Wenn nein, bitte den Pfad (unterhalb zigbee-herdsman-converters) anpassenA.
Danke. Ja das dist hat Tatsächlich gefehlt... Danke.
Switch on und off geht. (state) aber die Energiedaten Strom, Spannung, Leistung fehlt
// 1) Benötigte Module laden: const fz = require('zigbee-herdsman-converters/dist/converters/fromZigbee'); const tz = require('zigbee-herdsman-converters/dist/converters/toZigbee'); const exposes = require('zigbee-herdsman-converters/dist/lib/exposes'); const e = exposes.presets; const ea = exposes.access; // 2) Definiere den Converter module.exports = { // Fingerprint: ordnet den Converter einem Gerät zu fingerprint: [ { modelID: 'Mini1PM', manufacturerName: 'Shelly', }, ], // Interne Beschreibung model: 'Mini1PM', vendor: 'Shelly', description: 'Shelly Mini1PM - Zigbee In-Wall Switch with Power Measurement', // fromZigbee: Ankommende Daten verarbeiten fromZigbee: [ fz.on_off, // Schaltzustände (genOnOff) fz.electrical_measurement, // Leistung, Spannung, Strom (haElectricalMeasurement) fz.metering, // Verbrauch (seMetering) ], // toZigbee: Befehle an das Gerät senden toZigbee: [ tz.on_off, // Ein-/Ausschalten ], // exposes: Welche Datenpunkte im ioBroker/Zigbee-Adapter sichtbar sind exposes: [ e.switch(), // An/Aus-Schalter e.power(), // Leistung (W) e.current(), // Strom (A) e.voltage(), // Spannung (V) e.energy(), // Verbrauch (kWh) ], };
Hast du einen Tipp für mich? (Ich weiß, der Thread ist nicht dafür da eigentlich)
-
@meisterq-0 sagte in Tester für Zigbee Adapter 2.0.x gesucht:
Hast du einen Tipp für mich? (Ich weiß, der Thread ist nicht dafür da eigentlich)
Tip 1: Abwarten
Tip 2: Device Query aktivieren
Tip3: Poste mal das Info-Panel vom Device -
-
@meisterq-0 Wo hast du den externen Konverter her ? Ist in der Implementation in den Konvertern 21.13.0 noch weiterer Code ? Es scheint als ob da noch eine Konfiguration notwendig sein kann, die fehlt.
A.
-
@asgothian said in Tester für Zigbee Adapter 2.0.x gesucht:
@meisterq-0 Wo hast du den externen Konverter her ? Ist in der Implementation in den Konvertern 21.13.0 noch weiterer Code ? Es scheint als ob da noch eine Konfiguration notwendig sein kann, die fehlt.
A.
Die hab ich mit hilfe von ChatGPT Plus (Modell o3-mini-high) erstellt. Ich spiele damit gerade rum. Hab den mit dem Infopanel gefüttert und mir was draus machen lassen.
-
@meisterq-0 sagte in Tester für Zigbee Adapter 2.0.x gesucht:
@asgothian said in Tester für Zigbee Adapter 2.0.x gesucht:
@meisterq-0 Wo hast du den externen Konverter her ? Ist in der Implementation in den Konvertern 21.13.0 noch weiterer Code ? Es scheint als ob da noch eine Konfiguration notwendig sein kann, die fehlt.
A.
Die hab ich mit hilfe von ChatGPT Plus (Modell o3-mini-high) erstellt. Ich spiele damit gerade rum. Hab den mit dem Infopanel gefüttert und mir was draus machen lassen.
schau dir auf GitHub das Projekt koenkk/zigbee-herdsman-converters an. Da gibt es eine .ts Datei die die Implementierung des Devices beschreibt. Ist besser als Chat-GPT - der Halluziniert zu viel.
A.
-
@asgothian In dem Projekt habe ich schon geschaut. Ich werde noch mal schauen was die Kiste vergessen hat hinzuzufügen. Danke
Hast du einen Link zur Datei, bzw einen Beispielhaften converter mit energiemessung?
-
@Asgothian So ganz blicke ich nicht wie ich dem ZHC helfen kann, neue Geräte zu unterstützen. Es gibt ja eine Anleitung bei Z2M wie man das macht, aber kann man das auf den Zigbee Adapter übertragen? Kann man die Files dafür hiermit auch generieren? Habt ihr dafür irgendwie eine Anleitung oder so?
-
@meisterq-0 Eine klare Anleitung dazu gibt es nicht.
In Deinem Fall ist das aber auch nicht nötig - wenn ich das korrekt gesehen hab wird der Shelly 1 Mini in ZJC 21.13.0 unterstützt, sprich es gibt eine Datei shelly.ts auf GitHub mit dem was im externen Konverter benötigt wird.
Das übernehmen von externen Konvertern von Z2M hingegen ist trivial:
- Datei im Zigbee Datenverzeichnis ablegen (JS, nicht TS)
- Sicherstellen das die Pfade passen
- Sicherstellen das am Ende ein passendes Export Statement steht
- Dateinamen eintragen.
Der Zigbee Adapter übernimmt einen Grossteil der notwendigen Syntax-Anpassungen selber.
A.
-
Hab gerade geschaut. Ja der Shelly 1 Mini wird dann unterstützt. Aber es gibt auch noch den Shelly 1 Mini PM, den Shelly 1 Gen4, das Shelly BLU TRV usw die alle neu Zigbee bekommen. 3 der Geräte habe ich hier, und ich würde Koenkk da gerne unterstützen und Daten liefern, weil er ja scheinbar nicht auf Issues reagiert wenn man nicht die Infos aus der External definition postet.
https://github.com/Koenkk/zigbee-herdsman-converters/issues/9057
Das wäre der Post, aber da geht es halt wirklich nur um einen von mindestens 4 oder 5 neuen Zigbee Geräten.
Eine klare Anleitung dazu gibt es nicht.
Wie bekomme ich es dann raus?
-
@meisterq-0 sagte in Tester für Zigbee Adapter 2.0.x gesucht:
Wie bekomme ich es dann raus?
Vorschlag - wir treffen uns auf Discord, und gehen das durch. Das hier zu schreiben führt zu einem 3-Seitigen Monolog.
A.
-
@asgothian In welchem Channel? Nutze Discord nicht oft. Hab aber jetzt nicht so viel zusammenhängende Zeit
-
@meisterq-0 bin gerade in 'lounge'. Wir können uns auch verabreden
A.
-
@asgothian Danke für das nette Gespräch gestern
Du meintest gestern, dass in der neuen Version des Adapters auch die Converter vom Herdsman direkt genutzt werden können weil der Adapter sich Fehlende Teile dazudenkt.
Ich hab gerade im Repo vom Herdsman mal nach der shelly.ts geschaut die so aussieht:
import * as m from "../lib/modernExtend"; import type {DefinitionWithExtend} from "../lib/types"; export const definitions: DefinitionWithExtend[] = [ { zigbeeModel: ["Mini1"], model: "S4SW-001X8EU", vendor: "Shelly", description: "Mini gen 4", extend: [m.onOff({powerOnBehavior: false})], }, ];
Kann ich die jetzt so copy&paste in /opt/iobroker/iobroker-data/zigbee_0 einfügen und als externen converter einfügen, oder muss ich da noch was anpassen? Weil so gibt es die Meldung:
zigbee.0 2025-03-31 09:58:41.767 error Sandbox error: Cannot find module '../zigbee-herdsman-converters/lib/types' Require stack: - /opt/iobroker/node_modules/iobroker.zigbee/main.js zigbee.0 2025-03-31 09:58:41.767 warn trying to add "type {DefinitionWithExtend} = require(../zigbee-herdsman-converters/lib/types)" to sandbox zigbee.0 2025-03-31 09:58:41.767 error Sandbox error: Cannot find module '../zigbee-herdsman-converters/lib/modernExtend' Require stack: - /opt/iobroker/node_modules/iobroker.zigbee/main.js zigbee.0 2025-03-31 09:58:41.766 warn trying to add "m = require(../zigbee-herdsman-converters/lib/modernExtend)" to sandbox
Nachtrag noch: Ich hab den Adapter gestern mal neugestartet und die divisoren haben auch nach dem Neustart noch gepasst.
-
@meisterq-0 sagte in Tester für Zigbee Adapter 2.0.x gesucht:
@asgothian Danke für das nette Gespräch gestern
Du meintest gestern, dass in der neuen Version des Adapters auch die Converter vom Herdsman direkt genutzt werden können weil der Adapter sich Fehlende Teile dazudenkt.
Die 'Neue' Version ist die die ich aktuell bei mir in der Mache hab - die hast du noch nicht auf Deinem System.
Ich hab gerade im Repo vom Herdsman mal nach der shelly.ts geschaut die so aussieht:
import * as m from "../lib/modernExtend"; import type {DefinitionWithExtend} from "../lib/types"; export const definitions: DefinitionWithExtend[] = [ { zigbeeModel: ["Mini1"], model: "S4SW-001X8EU", vendor: "Shelly", description: "Mini gen 4", extend: [m.onOff({powerOnBehavior: false})], }, ];
Kann ich die jetzt so copy&paste in /opt/iobroker/iobroker-data/zigbee_0 einfügen und als externen converter einfügen, oder muss ich da noch was anpassen? Weil so gibt es die Meldung:
Die Meldung ist klar - über die Lösung hatten wir auch gesprochen - bei einigen Installationen (nicht sicher ob bei allen) ist ein 'unterverzeichnis' mit eingezogen, sprich die eigentlichen Bibliotheken liegen nicht unter
zigbee-herdsman-converters/lib/...
sondern unterzigbee-herdsman-converters/dist/lib/...
. Sprich - ein Einfügen einesdist/
in die Pfade in den Import statements ist (noch) notwendig.Zusätzlich wirst Du wahrscheinlich am Ende der Datei den Ausdruck
module.exports = definitions;
benötigenNachtrag noch: Ich hab den Adapter gestern mal neugestartet und die divisoren haben auch nach dem Neustart noch gepasst.
Fein - das bedeutet wir können Deinen Konverter direkt als Issue am zigbee-herdsman-converters Projekt eintragen. Als Issue, nicht als PR, da wir nicht das neue Muster mit 'extend' sondern das alte muster mit
expose
,fromZigbee
undtoZigbee
nutzen.A.
-
Ich habe diesen Thread gefunden:
https://github.com/Koenkk/zigbee2mqtt/issues/26852#issuecomment-2766198573 Scheinbar wird sich hier schon um das Gerät gekümmert.Ich würde trotzdem ein Issue aufmachen?
-
@meisterq-0 Ich würde keinen neuen issue aufmachen - aber du kannst deinen Konverter in dem Thread posten und deine Erfahrungen damit beschreiben.
A.
-
@asgothian Nochmals Danke für die Hilfe
-
Moin, ich klinke mich hier mal ein. Ich steige gerade frisch in die Welt von Zigbee ein und habe direkt Probleme mit den SONOFF SNZB-02D Thermometern und dem Zigbee-Adapter.
Problem: Der Adapter empfängt nur die Signalstärke. Wenn ich die Batterie aus dem Sensor nehme und neu reinstecke, wird beim ersten Mal auch der Batteriezustand empfangen. Aber alle anderen Werte fehlen. Mit den SONOFF TRVZB Thermostaten habe ich keine Probleme. Die lassen sich pairen und ich bekomme alle Werte.
Was ich schon versucht habe:
- Adapter in der Stable-Version installiert. Da komme ich aber nicht in die Einstellungen, weil mir diese nicht angezeigt werden (liegt das an der geänderten Admin UI?). Da tauchte nur die Fehlermeldung auf, dass ich den COM-Port angeben muss.
- Beta-Versionen 2.0.1, 2.0.4 und 2.0.5 installiert. Hat auch nichts geändert, deshalb bin ich jetzt wieder bei der neuesten Beta-Version.
- Gateway mit neuer Firmware
20240710
geflasht. Ich meine vorher war da was mit2021
als Prefix.
Ich bin dieser Anleitung gefolgt. Die erste merkwürdige Sache war, dass ich die Pan IDs nicht zufällig wählen kann. Im Log gab es dann ein config mismatch zwischen der Config und dem Adapter/Backup (o.ä.). Wenn ich die Werte auf die erwarteten Werte setze, startet der Adapter zumindest. Kann ich die IDs überhaupt selber setzen oder wo kommen die Werte überhaupt her, die ich da eintragen muss?
Wenn ich beim Sensor ein Update per Zigbee erzwinge, bekomme ich nur diese Meldungen in den Logs:
#zigbee.0 2025-04-04 13:26:58.281 warn ELEVATED:I02 (d8dd) value generated '225' from device d44867fYYYYYYe05 for 'Link quality' #zigbee.0 2025-04-04 13:26:58.280 warn ELEVATED:I01 (d8dd) message received '{"linkquality":225}' from device d44867fYYYYYYe05 type 'SNZB-02D' #zigbee.0 2025-04-04 13:26:58.278 warn ELEVATED:NOCONV (d8dd) No converter available for 'SNZB-02D' 'd44867fYYYYYYe05' with cluster 'genOta' and type 'commandQueryNextImageRequest' #zigbee.0 2025-04-04 13:26:58.269 warn ELEVATED:I01 (d8dd) Zigbee Event of Type commandQueryNextImageRequest from device 0xd44867fYYYYYYe05, incoming event: {"type":"commandQueryNextImageRequest","data":{"fieldControl":0,"manufacturerCode":4742,"imageType":2053,"fileVersion":4105},"linkquality":225,"groupID":0,"cluster":"genOta","meta":{"zclTransactionSequenceNumber":107,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":true,"reservedBits":0}},"endpoint_id":1} #zigbee.0 2025-04-04 13:24:36.222 warn ELEVATED:I02 (adf1) value generated '47' from device d44867fXXXXXX205 for 'Link quality' #zigbee.0 2025-04-04 13:24:36.221 warn ELEVATED:I01 (adf1) message received '{"linkquality":47}' from device d44867fXXXXXX205 type 'SNZB-02D' #zigbee.0 2025-04-04 13:24:36.219 warn ELEVATED:NOCONV (adf1) No converter available for 'SNZB-02D' 'd44867fXXXXXX205' with cluster 'genOnOff' and type 'commandToggle' #zigbee.0 2025-04-04 13:24:36.210 warn ELEVATED:I01 (adf1) Zigbee Event of Type commandToggle from device 0xd44867fXXXXXX205, incoming event: {"type":"commandToggle","data":{},"linkquality":47,"groupID":0,"cluster":"genOnOff","meta":{"zclTransactionSequenceNumber":26,"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0}},"endpoint_id":1} Habe ich ein 6er im Lotto gezogen und gleich zwei defekte Geräte bekommen? Entweder senden die wirklich nur die linkquality oder der Adapter verschluckt die irgendwo. An der Signalstärke kann es nicht liegen, denn selbst wenn die Geräte direkt neben der Antenne sind und die linkquality > 200 ist, werden nicht alle Werte empfangen.
Geräteinformationen:
- Sensoren: 2x SONOFF SNZB-02D (https://www.amazon.de/dp/B0BZCV658S)
- Gateway: SONOFF Zigbee 3.0 USB Dongle Plus (TI CC2652P + CP2102N) mit Firmware
20240710
(habe ich neu geflasht) (https://www.amazon.de/dp/B09KXTCMSC) - Adapter: ioBroker.zigbee v2.0.5 (über den Beta-Channel)
- ioBroker: v7.6.3
- Raspberry Pi 3B+ (gestern erst komplett neu aufgesetzt)