Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. zigbee-herdsmann-converter ändern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    zigbee-herdsmann-converter ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      clausmuus last edited by

      @arteck Danke für Deine schnelle Antwort!
      Ich habe zum testen ob meine Änderung übernommen wurde, den Namen des connectors geändert (model und description). Aber beide Änderungen sind nicht ins Front übernommen worden.
      Ein Syntax Fehler enthält meine Änderung wohl nicht, ansonsten hätte ich ja im Log eine Fehlermeldung gesehen, bzw. der Restart der Zigbee Instanz wäre nicht möglich.
      Wie kann ich überprüfen, ob meine Änderung übernommen wurde? Ein Ändern von model und description wird ja nicht sichtbar?

      1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @clausmuus last edited by Asgothian

        @clausmuus sagte in zigbee-herdsmann-converter ändern:

        Hallo,
        ich muss einen zigbee-herdsmann-converter ändern, damit mein Gerät vollständig funktioniert.
        Dafür habe ich das Gerät in der entsprechenden Datei unter zigbee-herdsmann-converters/devices angepasst und die Zigbee Instanz neu gestartet. Die Änderung wird aber nicht übernommen.
        Was muss ich machen, damit meine Änderung übernommen wird und das Gerät mit der geänderten Funktion angesprochen wird?

        Du willst eigentlich nie direkt im Code des Zigbee-Herdsman-Converters Änderungen vornehmen.

        Was du machen solltest:

        • Mach eine Kopie der .js Datei die du ändern würdest
        • Reduziere sie auf das Gerät welches du ändern willst
        • Stell sicher das keine Referenz auf "legacy" vorhanden ist (sonst geht der folgende Schritt schief)
        • Kopiere die so entstandene Datei in Daten-Verzeichnis deines Zigbee Adapters (da wo auch die shepherd.db liegt)
        • Trag den Dateinamen als "externen Konverter" in der Konfiguration ein
        • Starte den Adapter neu. Achte im Log dabei das eine Meldung kommt die Dir mitteilt das der externe Konverter aus Deiner Datei auch geladen wird.

        In den moisten Fällen kommst du damit zum Ziel. Es gibt noch ein Wenig Arbeit an diesem System, aber damit hast du deutlich bessere Kontrolle darüber was du änderst, und Deine Änderungen überleben auch ein update des zigbee-herdsman-converters.

        A.
        Nachtrag: das ganze geht ab zigbee version 1.8.10

        C 2 Replies Last reply Reply Quote 0
        • C
          clausmuus @Asgothian last edited by clausmuus

          @asgothian geht das auch, wenn bereits ein Converter für mein Gerät existiert, und ich den nur ändern möchte? Dann würden ja zwei Converter für den selben fingerprint (modelID und manufacturerName) existieren (die original und meine)?

          1 Reply Last reply Reply Quote 0
          • C
            clausmuus @Asgothian last edited by

            @asgothian wie muss der Pfad bei externen Konvertern im require lauten? Normalerweise ist in den Konvertern ein ../lib/... angegeben. Ich vermute aber das passt beim externen Konverter nicht, da scheinbar eine andere Version der tuya lib geladen wird.

            C 1 Reply Last reply Reply Quote 0
            • C
              clausmuus @clausmuus last edited by

              OK, hab's gefunden. Bei externen Konvertern verweis ein ../lib auf iobroker/node_modules/zigbee-herdsman-converters/lib und nicht auf iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman-converters/lib, und dadurch auf eine andere Version des zigbee-herdsman-converters Modules.

              Das sollte vermutlich beim externen Konverter noch geändert werden.

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @clausmuus last edited by Asgothian

                @clausmuus sagte in zigbee-herdsmann-converter ändern:

                OK, hab's gefunden. Bei externen Konvertern verweis ein ../lib auf iobroker/node_modules/zigbee-herdsman-converters/lib und nicht auf iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman-converters/lib, und dadurch auf eine andere Version des zigbee-herdsman-converters Modules.

                Das sollte vermutlich beim externen Konverter noch geändert werden.

                Nein, das wird automatisch beim laden der externen Konverter umgesetzt. Die Pfade dürfen so bleiben wie sie in der Datei eingetragen sind

                @clausmuus sagte in zigbee-herdsmann-converter ändern:

                @asgothian geht das auch, wenn bereits ein Converter für mein Gerät existiert, und ich den nur ändern möchte? Dann würden ja zwei Converter für den selben fingerprint (modelID und manufacturerName) existieren (die original und meine)?

                Ja, der externe übersteuert den internen Konverter

                C 1 Reply Last reply Reply Quote 0
                • C
                  clausmuus @Asgothian last edited by

                  @asgothian Danke für Deine Hilfe.

                  Es ist definitiv so, dass der zigbee-herdsman-converters aus dem falschen Ordner genommen wird. Der Pfad im require wird zwar angepasst, aber halt nicht korrekt.
                  Ich habe mir damit beholfen, den Ordner iobroker/node_modules durch einen Link auf den richtigen Ordner zu ersetzen. Und jetzt funktioniert es auch.

                  Mein Problem ist somit also gelöst 🙂

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    clausmuus @clausmuus last edited by clausmuus

                    Ich hab noch einen Hinweis.
                    Ich habe eine Anleitung für externe Konverter gefunden. Dort ist zu sehen, dass für externe Konverter im require nicht der Pfad ../lib genommen werden muss, sondern zigbee-herdsman-converters/lib
                    So werden die libs dann auch aus dem richtigen Verzeichnis genommen.

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @clausmuus last edited by

                      @clausmuus sagte in zigbee-herdsmann-converter ändern:

                      Ich hab noch einen Hinweis.
                      Ich habe eine Anleitung für externe Konverter gefunden. Dort ist zu sehen, dass für externe Konverter im require nicht der Pfad ../lib genommen werden muss, sondern zigbee-herdsman-converters/lib
                      So werden die libs dann auch aus dem richtigen Verzeichnis genommen.

                      Kannst du bitte die require statements posten wie sie waren als es nicht funktioniert haben, sowie so wie sie sind wenn es geht ?

                      Ich hab eigentlich ein Rewrite drin das genau den genommenen Herdsman mit einbindet.

                      A.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        clausmuus @Asgothian last edited by clausmuus

                        @asgothian kein Problem. Ursprünglich hatte ich das so geschrieben:

                        const exposes = require('../lib/exposes');
                        

                        was nicht funktioniert. Uns so funktioniert es:

                        const exposes = require('zigbee-herdsman-converters/lib/exposes');
                        

                        Ich verwende den zigbee Adapter version 1.8.10

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        678
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        3
                        12
                        554
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo