Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter EnOcean (2) v0.3.x

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test Adapter EnOcean (2) v0.3.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jey Cee
      Jey Cee Developer @Schrubbel last edited by

      @schrubbel sagte in Test Adapter EnOcean (2) v0.3.x:

      Was kann ich tun?

      Installier mal neu, sollte gefixt sein.

      S 1 Reply Last reply Reply Quote 0
      • I
        IOBaer @Jey Cee last edited by

        @jey-cee Danke Dir.

        Habe ein paar Punkte - alle beziehen sich auf die Adapter-Version 0.3.2:

        1. Empfiehlst Du bei Steuerungen über Blockly eigentlich den "steuere"- oder den "aktualisiere"-Baustein? Funktionieren tut beides. Wenn Du die Ack-Funktion noch hinbiegst, wird die bessere Wahl wohl definitiv "steure" sein.

        2. Wenn ich z.B. in einem Blockly-Skript 7 Aktuatoren hintereinander schalten lasse, verschluckt er mir einige Befehle, d.h. führt sie nicht aus. Mit einem Delay von jeweils 500 ms klappt es aber. Ich könnte mir vorstellen, dass das kein Bug ist. Ggf ändert sich das ja auch, sobald die Ack-Funktionalität von Dir korrigiert ist.

        3. Hauptsächliches Problem ist, dass ich Schwierigkeiten hatte, die FSR14-2x und -4x anzulernen. Er kommt da mit den Sender-IDs teilweise vollständig durcheinander. Ebenfalls wird die Base-ID immer weiter fortgeschrieben (13, 14, 15 ...). Ich konnte mir nun selbst helfen, indem ich manuell unter "Objekt bearbeiten" (dort bei Nativ oder RAW) die Base-ID auf die Nummer des jeweiligen Kanals (also beim 2x: 1 oder 2 und beim 4x 1, 2, 3 oder 4) gestetzt habe und die Sender-ID ebenfalls anpasste. Die Sender-ID kam dann natürlich via PCT14 in die ID-Tabelle der Funktionsgruppe 2. Auch war ein Teach- In oftmals nicht möglich bzw. nicht erforderlich.

        Hoffe, die Rückmeldung hilft. Vielen Dank für Dein tolles Engagement!

        Jey Cee 1 Reply Last reply Reply Quote 0
        • S
          Schrubbel @Jey Cee last edited by

          @jey-cee

          Super Geil, nun funktioniert es! Jetzt brauch ich nur noch längerer Schrauben. 😄

          Ein Danke kommt gleich per PayPal. 👍

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

            Hi, ich hab gerade meine vier Dimmer FUD61NPN vom Testsystem ins Livesystem übertragen.
            Adapter installiert, Objekte vom Testsystem ins Livesystem kopiert, den Stick eingesteckt und im Adapter angewählt.
            Läuft! Dachte nicht das das so einfach geht.
            Nun kann ich meinen FHEM abschalten.
            Super Arbeit, danke für den Adapter. 👍

            1 Reply Last reply Reply Quote 0
            • Jey Cee
              Jey Cee Developer @IOBaer last edited by Jey Cee

              @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

              1. Empfiehlst Du bei Steuerungen über Blockly eigentlich den "steuere"- oder den "aktualisiere"-Baustein? Funktionieren tut beides. Wenn Du die Ack-Funktion noch hinbiegst, wird die bessere Wahl wohl definitiv "steure" sein.

              Da ich mich mit Blockly bisher sehr wenig auseinander gestzt habe, kann ich nichts Empfehlen.

              @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

              1. Wenn ich z.B. in einem Blockly-Skript 7 Aktuatoren hintereinander schalten lasse, verschluckt er mir einige Befehle, d.h. führt sie nicht aus. Mit einem Delay von jeweils 500 ms klappt es aber. Ich könnte mir vorstellen, dass das kein Bug ist. Ggf ändert sich das ja auch, sobald die Ack-Funktionalität von Dir korrigiert ist.

              Hm ein richtiger Bug ist das nicht, aber trotzdem sollte das nicht passieren. Das schau ich mir an.
              EDIT: Es ist doch ein Bug.

              @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

              1. Hauptsächliches Problem ist, dass ich Schwierigkeiten hatte, die FSR14-2x und -4x anzulernen. Er kommt da mit den Sender-IDs teilweise vollständig durcheinander. Ebenfalls wird die Base-ID immer weiter fortgeschrieben (13, 14, 15 ...). Ich konnte mir nun selbst helfen, indem ich manuell unter "Objekt bearbeiten" (dort bei Nativ oder RAW) die Base-ID auf die Nummer des jeweiligen Kanals (also beim 2x: 1 oder 2 und beim 4x 1, 2, 3 oder 4) gestetzt habe und die Sender-ID ebenfalls anpasste.

              Hier müssen wir kurz die Begrifflichkeiten klären:

              • Base ID = USB Stick (ID von ioBroker)
              • Sender ID = gleich die ID mit der ein Befehl von ioBroker gesendet wird
              • ID = die ID vom Gerät das gesteuert werden soll oder Daten Empfangen werden

              Leider weis ich mit deiner Schilderung so nichts an zu fangen.

              Die Sender-ID kam dann natürlich via PCT14 in die ID-Tabelle der Funktionsgruppe 2. Auch war ein Teach- In oftmals nicht möglich bzw. nicht erforderlich.

              Ja wenn man mit PCT14 arbeitet braucht es kein Teachin, da muss ich den Text noch anpassen.

              I 1 Reply Last reply Reply Quote 0
              • I
                IOBaer @Jey Cee last edited by

                @jey-cee Danke Dir!

                Wäre wie gesagt klasse, wenn das mit dem ACK-irgendwann noch klappen würde.

                Zu meiner Schilderung, mit der Du nichts anfangen konntest:
                Ich habe gerade z.B. einen FSR14-4x über das Adaper-Interface angelegt. Ich kann den Wert "baseIDoffset" nicht im Interface setzen (wie das z.B. in einem älteren Video von Dir noch ging), sondern nur nachträglich über den Objekte-Baum. Für den gerade genannten FSR14-4x hat er automatisch die baseIDoffset 17 hinterlegt. Soll das so sein? Habe sie dann manuell auf die Nummer des Kanals gesetzt. Funktionieren tut nun alles (bis auf das mit dem ACK, wie oben geschrieben - aber das is ja für die Funktion nicht wichtig).

                Ja, die Begrifflichkeiten waren mir klar.

                Legt der Adapter eigentlich außer in der Ordnerstruktur in ioBroker ("Objekte"), also unterhalb von "enocean.ZAHL" bzw. "system.adapter.enocean.ZAHL" noch wo Einstellungen ab?

                Jey Cee 1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer @IOBaer last edited by

                  @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

                  Für den gerade genannten FSR14-4x hat er automatisch die baseIDoffset 17 hinterlegt. Soll das so sein?

                  Ja das muss so sein, Geräte die nicht Unterscheiden ob ein Telegram für sie ist oder nicht müssen mit einer eigenen Sender ID angesprochen werden. Diese Zahl spielt aber keine große Rolle mehr, die wurde durch Sender ID ersetzt.
                  Wenn bei dir durch das ändern dieser Zahl das Gerät jetzt reagiert, hast du wohl eine ältere Version installiert.

                  @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

                  Legt der Adapter eigentlich außer in der Ordnerstruktur in ioBroker ("Objekte"), also unterhalb von "enocean.ZAHL" bzw. "system.adapter.enocean.ZAHL" noch wo Einstellungen ab?

                  Nein, warum frägst du?

                  I M 2 Replies Last reply Reply Quote 0
                  • I
                    IOBaer @Jey Cee last edited by IOBaer

                    @jey-cee bei mir steht:

                    Installierte Version: 0.3.2
                    Installierte Instanzen: 1
                    

                    Sollte also doch eigentlich passen? Ich habe immer die Instanz(en) gelöscht, dann den Adapter, dann mit dem bekannten Github-Link den Adapter eingespielt und dann die Instanz generiert.

                    Die Frage nach den Speicherorten war nur, weil ich wissen wollte, ob er sich sowas die die Offset-Zählung im Hintergrund sonst wo merkt.

                    Du hattest oben geschrieben, dass das mit der ACK-Bestätigung schon geändert sei. Ist es dann normal, dass es bei mir noch nicht klappt mit dieser Adapter-Version?

                    Danke 🙂

                    Edit: die ID der Eltako-Geräte habe ich jeweils durch Abhören ermittelt, d.h. lastID mitgelogged.

                    Jey Cee 1 Reply Last reply Reply Quote 0
                    • Jey Cee
                      Jey Cee Developer @IOBaer last edited by

                      @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

                      Sollte also doch eigentlich passen?

                      Ja.

                      @iobaer sagte in Test Adapter EnOcean (2) v0.3.x:

                      Du hattest oben geschrieben, dass das mit der ACK-Bestätigung schon geändert sei. Ist es dann normal, dass es bei mir noch nicht klappt mit dieser Adapter-Version?

                      Ja wenn du sie seit ich das geschrieben hab nicht neu installiert hast.

                      I 1 Reply Last reply Reply Quote 1
                      • I
                        IOBaer @Jey Cee last edited by

                        @jey-cee Danke. Kann ich die irgendwie neu installieren / aktualisieren, ohne alles neu einrichten zu müssen? ggf. über JSON-Export und anschließenden Import?

                        Habe oben noch einen Edit hinzugefügt.

                        Jey Cee 1 Reply Last reply Reply Quote 0
                        • M
                          mustang @Jey Cee last edited by

                          @jey-cee @IOBaer
                          mit dem gleichzeitigen ansteuern mehrerer Aktoren hatte ich das gleiche Verhalten, daß nicht alle Befehle ausgeführt wurden. Ich kann allerdings auch nicht mehr sagen, ob wirklich alle gesendet wurden, bin aber der Meinung dem war so.
                          Also eher ein Problem bei den Empfängern, wenn zuviel Funksignale auf einmal rausgehen. Habe es im Script ebenso über einen Zeitversatz (hier 1sec je Aktor) gelöst und bin damit zufrieden.

                          1 Reply Last reply Reply Quote 1
                          • Jey Cee
                            Jey Cee Developer @IOBaer last edited by Jey Cee

                            @iobaer einfach drüber installieren ohne die Objekte zu löschen.

                            @mustang sagte in Test Adapter EnOcean (2) v0.3.x:

                            Also eher ein Problem bei den Empfängern, wenn zuviel Funksignale auf einmal rausgehen.

                            Ne liegt schon auf der Adapter Seite, er versucht alles auf einmal zu senden. Er wartet nicht bis der Vorherige befehl abgesendet wurde.

                            I 1 Reply Last reply Reply Quote 1
                            • I
                              IOBaer @Jey Cee last edited by

                              @jey-cee Danke, das hat perfekt geklappt. Ist das so normal, dass nach einem Befehl das Ack-Flag lediglich gesetzt wird (ggf. wird auch geprüft, ob gesendet wurde), das aber keine echte Rückmeldung ist, ob der Befehl am Eltako-Bus ankam?

                              Ich habe testweise den Bus spannungsfrei geschaltet und einen Befehl über ioBroker abgesetzt - "Bestätigt: true" steht dann dennoch dort, obwohl der Befehl natürlich nicht angekommen sein kann.

                              Jey Cee 1 Reply Last reply Reply Quote 0
                              • Jey Cee
                                Jey Cee Developer @IOBaer last edited by

                                @iobaer der Adapter kriegt nur eine Rückmeldung vom Stick ob der den Befehl angenommen hat. Angesichts der Tatsache das Befehl nicht gesendet werden scheint das auch keine Garantie zu sein ob er den Befehl auch sendet.

                                Die EnOcean Geräte senden keine Bestätigung ob sie einen Befehl erhalten haben. Je nach Gerät wird der Status als Antwort zurück gesendet.

                                Letztlich ist das Ack Flag die Bestätigung das der Adapter den Befehl ausgeführt hat.

                                I 1 Reply Last reply Reply Quote 1
                                • I
                                  IOBaer @Jey Cee last edited by

                                  @jey-cee Danke für die Antwort, das dachte ich mir - jetzt habe ich Gewissheit. Letztlich kann man als Antwort ja z.B. die Relais-Änderung auswerten.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    pgBroker @IOBaer last edited by

                                    Noch ein paar Dinge zur Einbindung des FAH60B ...

                                    Wie die Daten vom Sensor umgesetzt werden steht in der Datei TF-13-10.json:

                                    {
                                        "eep": "TF-13-10",
                                        "rorg_number": "0xA5",
                                        "telegram": "4BS",
                                        "func_number": "0x00",
                                        "type_number": "0x00",
                                        "type_title": "Brightness sensor 0-50 Lux & 300-30000 Lux",
                                        "case": [
                                            {
                                                "condition": {
                                                    "range": {
                                                        "bitoffs": "8",
                                                        "bitsize": "8",
                                                        "value": {"==": [{"var": "value"}, 0]}
                                                    }
                                                },
                                                "datafield": [
                                                    {
                                                        "data": "Illumination",
                                                        "shortcut": "ILL",
                                                        "bitoffs": "0",
                                                        "bitsize": "8",
                                                        "iobroker": {
                                                            "role": "value.brightness",
                                                            "type": "number",
                                                            "read": true,
                                                            "write": false,
                                                            "unit": "lx"
                                                        },
                                                        "value": { "var": "value" },
                                                        "decimals": 0
                                                    }
                                                ]
                                            },
                                            {
                                                "condition": {
                                                    "range": {
                                                        "bitoffs": "8",
                                                        "bitsize": "8",
                                                        "value": {">=": [{"var": "value"}, 1]}
                                                    }
                                                },
                                                "datafield": [
                                                    {
                                                        "data": "Illumination",
                                                        "shortcut": "ILL",
                                                        "bitoffs": "8",
                                                        "bitsize": "8",
                                                        "iobroker": {
                                                            "role": "value.brightness",
                                                            "type": "number",
                                                            "read": true,
                                                            "write": false,
                                                            "unit": "lx"
                                                        },
                                                        "value": {
                                                            "+": [
                                                                {
                                                                    "*": [
                                                                        {
                                                                            "-": [
                                                                                {
                                                                                    "var": "value"
                                                                                },
                                                                                1
                                                                            ]
                                                                        },
                                                                        116.92913
                                                                    ]
                                                                },
                                                                300
                                                            ]
                                                        },
                                                        "decimals": 0
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                    
                                    

                                    Wenn ich es richtig verstehe, verwendest du bei 0-50 lux den Wert direkt, bei 300-30000 lux den Wert multipliziert mit 116,92913 + 300.

                                    Im Datenblatt zum FAH60B steht aber:

                                    FAH-Modus:
                                    Lerntelegramm: 0x18080D80 Datentelegramm nach EEP: A5-06-01 Data_byte3 = Helligkeit 0-50 lux, linear n = 0x00-0x64
                                    (nur gültig wenn DB2 = 0x00) Data_byte2 = Helligkeit 300-30.000 lux, linear n = 0x00-0xFF
                                    Data_byte1 = -
                                    Data_byte0 = 0x08

                                    D.h. bei 0-50 lux musst du den Wert durch 2 teilen und nicht direkt verwenden.

                                    Mir ist das aufgefallen, weil ich im Grafana-Plot fein abgestufte Werte im Bereich 0 bis 100 lux sehe, danach die größeren Sprünge (117 lux Abstände). Das sollte aber nur im Bereich 0 bis 50 lux so sein.

                                    Seltsam ist dann noch, dass der ILL Datenpunkt im ioBroker mit 5 Nachkommastellen ausgegeben wird, was sinnfrei ist, wenn die Auflösung nur 117 lux beträgt.

                                    Im json Objekt steht "decimals": 0 in beiden Fällen. Warum wird das bei der Ausgabe nicht berücksichtigt?

                                    1 Reply Last reply Reply Quote 0
                                    • Jey Cee
                                      Jey Cee Developer last edited by

                                      Ich hab gerade 0.3.3 auf Github hochgeladen. Sind wieder ein paar fixes drin.
                                      Die befehle werden jetzt in eine Warteschlange geschickt und dann im 50ms Takt verschickt. Bitte Testen ob die Zeit ausreichend ist oder ob noch Befehle verloren gehen.

                                      I P 3 Replies Last reply Reply Quote 1
                                      • I
                                        IOBaer @Jey Cee last edited by IOBaer

                                        @jey-cee Super. Ich habe es gerade mehrfach mit meinen insgesamt 7 Relaiskontakten (FSR14-2x bzw. FSR14-4x) getestet und es hat in allen Versuchen wie erwartet funktioniert. Alle Schaltvorgänge wurden ausgeführt und es wurde kein Befehl "verschluckt".

                                        Allerdings wäre es klasse, wenn jemand anderes das auch nochmal testet, ggf. mit mehr Aktoren.

                                        Edit: Übrigens funktioniert auch "Block channel state" (BS) wie erwartet. Der Aktor lässt sich nach setzen von "1" (blocked) und anschließendem Übermitteln mittels CMD (z.B. durch erneuten "0"- oder "1"-Befehl) nicht mehr über angelernte Taster oder Schalter steuern, sondern nur noch via ioBroker (= "Schaltzustand von GFVS"). Die Sperre bleibt bis zum Rückstellen oder Bus-Neustart bestehen. Tolle Funktion, weil man damit z.B. Skripte an eigentlich angelernte Taster binden kann, ohne in PCT14 deren Zuordnung zu löschen, was insbesondere für ioBroker-Störungen hilfreich sein kann (weil man sonst ggf. im Dunklen stünde).

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          IOBaer last edited by IOBaer

                                          Wenn ich Enocean-Taster anlerne, dann werden manche mit der Zeit automatisch in den Ordner des Eltako-Aktors aufgenommen. Ich meine die im Screenshot rot markierten Datenpunkte. Passiert auch nicht bei allen. Wie kann ich das verhindern? Oder einfach manuell löschen?

                                          doppelt.jpg

                                          Welche Widgets nutzt ihr eigentlich zur Visualisierung?

                                          Jey Cee 1 Reply Last reply Reply Quote 0
                                          • Jey Cee
                                            Jey Cee Developer @IOBaer last edited by

                                            @iobaer die Aktoren senden die selben Telegrame wie die Taster um ihren Status mit zu teilen. Deshalb werden sie als Taster erkannt, wenn du gerade einen Taster anlernen willst. Entsprechend werden die Objekte dazu angelegt.

                                            Die Objekte kannst du einfach löschen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            eltako enocean enocean adapter tipp-funk
                                            38
                                            675
                                            113711
                                            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