Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Ekey Adapterfehler

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Ekey Adapterfehler

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

      Ich arbeite an der Einbindung einer Ekey-Multi-Zentrale über CV-Lan (192.168.2.250) in ioBroker (192.168.2.223).

      Ekey Adapter Version 1.0.0.

      Nach Rücksprache mit dem Ekey-Support <u>muss</u> für die Multi-Zentrale das Datenformat <u>zwingend</u> MULTI sein. Raw/Rare geht nicht.

      Im MULTI Format werden die Daten als String mit Separator übertragen. Den voreingestellten Separator _ habe ich beibehalten.

      Gem. der Doku darf der in der Zentrale hinterlegte User-Name max. 10-stellig sein.

      Wird ein User-Name direkt von Separatoren eingeschlossen, dann werden die Datenpunkte richtig versorgt.

      Wird an dem Namen ein Leerzeichen angefügt, dann werden die Datenpunkte verschoben und unvollständig zugeordnet.

      Ich weiß nicht, ob ich damals den Namen (irrtümlich) mit blank am Ende eingegeben habe oder ob der Konverter das blank hinzufügt, auf jeden Fall ist die Änderung des Namens in der Zentrale nachträglich nicht mehr möglich. D.h. löschen und neu anlegen mit Finger-Anlernen wäre sehr aufwändig.

      M.E. sollte daher der Adapter ein Leerzeichen hinter dem User Namen richtig verarbeiten können.

      Die Bilder im Anhang zeigen die unterschiedlichen Datenpunktzuordnungen.

      Den Fehler habe ich eingegrenzt, indem ich mit der Windows Software Packet-Sender (192.168.2.118) UDP-Datenstrings erzeugt habe und auch die Datenstrings vom CV Lan habe anzeigen lassen.

      Bitte um Unterstützung.

      PS: Terminierung bei RS485 ist an beiden Strangenden notwendig. CV Lan Konverter hat fest eingebaute Terminierung, muss also immer an einem Ende des Strangs sein. Zentrale und Fingerprint-Sender haben Dip-Schalter. Ist im Strang CV-Lan - Zentrale - FP-Leser die Zentrale terminiert, dann gibt es keine UDP-Daten!
      5453_log-fp.jpg
      5453_log-packet.jpg
      5453_packet.jpg
      5453_obj-packet-fp.jpg

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Dann leg doch mal ein GitHub issue mit den Details bzw dem link hierher an.

        Gesendet vom Handy …

        1 Reply Last reply Reply Quote 0
        • M
          Max last edited by

          getan!

          https://github.com/ioBroker/ioBroker.ekey/issues/3

          Maximilian4711 created this issue in ioBroker/ioBroker.ekey

          closed ioBroker Ekey adapter error #3

          1 Reply Last reply Reply Quote 0
          • M
            Max last edited by

            In welchem Pfad finde ich das ekey adapter main.js in meiner Raspberry-Installation?

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              \opt\iobroker\node_modules

              Sent from my iPhone using Tapatalk

              1 Reply Last reply Reply Quote 0
              • M
                Max last edited by

                Offensichtlich ist der Fehler in den Attributen der split-Funktion:

                const values = message.toString('ascii').split(/[\s_?]/);

                Der message-String vom Konverter wird durch split in ein values-Array aufgeteilt. Als Trennzeichen werden im regulären Ausdruck space, underline und Fragezeichen angegeben.

                Da der Vorname am Ende ein Leerzeichen hat, wird das Leerzeichen in ein values-Feld kopiert und die folgenden Werte verschieben sich in hintere Arrays.

                Ich denke, folgender String ist korrekt:

                const values = message.toString('ascii').split(/[_]/);

                oder ohne den regulären Ausdruck

                const values = message.toString('ascii').split("_");

                Nun muss ich schauen, wie ich die Quelle in meiner ioBroker Installation korrigiere.

                Frage an die ioBroker-Programmierer: Wie kommt so eine Änderung in den Auslieferungsstand (Prozess, Versionsnummer, etc.)?

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  Also der Split oben sollte bedeuten: SPlitte an

                  • jedem Whitespace character (\s)

                  • jedem underscore (_)

                  • jedem Fragezeichen (?)

                  Also an einem dieser drei zeichen wenn es vorkommt. Da das "_" auch dabei ist sollte es gleichbedeutend sein mit deinem Split - es sei denn eins der anderen zeichen kommt vor darf aber nicht zum Splitten genutzt werden

                  1 Reply Last reply Reply Quote 0
                  • M
                    Max last edited by

                    Genau!

                    Das ist gerade mein Problem. Der Vorname hat am Ende ein Leerzeichen abbekommen, das zur Verschiebung der Werte in den Variablen führt. Das Handling der Dateneingabe in der Ekey-Multi-Zentrale ist sehr unbequem, Korrekturen nicht möglich. Display, Cursor und Buchstaben sind sehr klein.

                    Wenn also ein Name (versehentlich) mit Leerzeichen eingegeben wurde, dann kommt es zu Problemen.

                    Wenn z.B. ein Adelstitel vorhanden ist (von Richthofen), dann läuft es ebenfalls schief.

                    Am besten das Leerzeichen als Separator im Adapter rausnehmen und in der Hilfe zum Adapter erwähnen, dass als Separator für Home und Multi ausschließlich _ und Fragezeichen zulässig sind. Ggf. macht auch ; Sinn.

                    _ als Separator ist ja im Konverter bereits voreingestellt.

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      Der fix wäre einfach. Mach doch mal einen pull request 😉

                      Geh auf GitHub, wähle das file aus. Oben rechts auf den Stift klicken, wirf das \s raus beschrieb unten was und warum und schicke es ab 😉

                      Gesendet vom Handy …

                      1 Reply Last reply Reply Quote 0
                      • M
                        Max last edited by

                        Wie heißt der genaue Dateiname des Ekey Adapter main.js im \opt\iobroker\node_modules Verzeichnis?

                        … in meiner Windows 10 Installation ist es dann eher C:\iobroker\node_modules - nehme ich an.

                        1 Reply Last reply Reply Quote 0
                        • M
                          Max last edited by

                          Wie kann ich mit geringstem Aufwand das Ekey main.js ändern (ggf. direkt im System patchen)?

                          Oder wie kann ich die von mir modifizierte Quelle als Adapter in meine vorhandene ioBroker Installation integrieren?

                          1 Reply Last reply Reply Quote 0
                          • M
                            Max last edited by

                            Ich habe jetzt den Ekey Adapter aus github geclont und in meinem eigenen Repository mit der Änderung \s >> ; gepushed.

                            Wie bekomme ich jetzt diese Quellen als aktualisierten Ekey-Adapter in meine laufende ioBroker Installation runtergeladen?

                            1 Reply Last reply Reply Quote 0
                            • M
                              Max last edited by

                              Ok, hab den Pfad für einen Patch gefunden:

                              C:\ioBroker\node_modules\iobroker.ekey\main.js

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                Die Änderung ist gemerged und man kann von github die Version ausprobieren.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Max last edited by

                                  Danke 🙂

                                  Kann ich die Version direkt in ioBroker laden (alten Adapter löschen, neuen installieren) oder muss ich besonders vorgehen?

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 last edited by

                                    Brauchst nichts deinstallieren. EInfach "drüber" Installieren per Admin

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Max last edited by

                                      Super! Danke 🙂

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      644
                                      Online

                                      31.6k
                                      Users

                                      79.5k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      711
                                      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