Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe zur Inbetriebnahme von Enocean Plugin gesucht

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hilfe zur Inbetriebnahme von Enocean Plugin gesucht

    Hallo,

    ich habe eine Frage zur Einbindung von Enocean in SmartHome und hoffe, das mir hier jemand weiterhelfen kann, da ich es selber seit etlicher Zeit immer wieder versuche, aber absolut nicht zum laufen bekomme...

    Smarthome-NG selber und die Einbindung meiner KNX Komponenten war mit Hilfe der sehr guten Doku unter "Komplettanleitung" im Wiki kein Problem. Lediglich eine Beschreibung der grundsätzlichen Funktionsweise wie Smarthome-NG tickt (Items/Räume/Logiken) fehlte mir damals. Aber da gibt es ja inzwischen mit "Initiale_Item-Konfiguration" auch was. Die ganzen Plugin-Beschreibungen setzen diese dann doch immer schon voraus und gehend sehr schnell ins technische ohne diesen allgemeinen Überblick zum System zu geben.


    Nachdem KNX läuft und geschaltet/visualisiert werden konnte, habe ich versuch die Enocean-Hardware (genauer Eltako 14er Serie) einzubinden.
    Hier aber kläglich gescheitert...

    Die Readme zum Plugin ist scheinbar komplett veraltet/falsch, z.B.
    • tx_id muss OHNE "_" (Unterstrich) angegeben werden, sonst Python Type Error, also "tx_id = FFFF4680"
    • Die Abhängigkeit zum Python-Modul "serial" ist nirgends erwähnt. (z.B. "apt-get install python-serial" auf Debian basierten Systemen
    • Learning Mode geht nicht - "sh.enocean.send_learn(ID_Offset)" Diese Methode existiert im Modul nicht.
    • Die ganzen Plugin-spezifischen Parameter die für Items oder global gesetzt werden können sind nicht bzw. nicht wirklich verständlich beschrieben, z.B.
      • woher bekomme ich die "enocean_rx_id"
      • was ist "enocean_rx_key"
      • "ref_level" ein enocean oder anders woher stammender Parameter?
      • was bedeutet RORG und wie deklariere ich es?

    und zu guter Letzt - Es wurde ja schon angefangen, eine Liste mit Profilen zu erstellen, aber leider ist diese nur sehr kurz. Im Forum hier gibt es an verschiedensten Stellen und unterschiedlichen Threads auch noch weitere Geräte und ihre Profile. Hier wäre es extrem sinnvoll, diese einmal an einer Stelle zu sammeln und dann dort auch weiter zu pflegen. Entweder in der README oder dort verlinkt. Vllt ein WIKI-Artikel?

    Es gibt ja scheinbar schon etliche Leute, die verschiedenste Hardware eingebunden haben, aber fuer jemand, der neu einsteigt, ist das extrem unübersichtlich...

    Nun zurück zu meinem Problem:

    Ich habe ein Eltako FGW-14 USB, dieses per USB mit meinem Rechner verbunden.

    Anhand der Beschreibung unter http://hintshop.ludvig.co.nz/show/pe...erial-devices/ habe ich dem Gerät einen festen Devicenamen (/dev/eltako-fgw) gegeben, welches ich in der Plugin-Konfig nutze.

    USB rein-raus wird das Device richtig angelegt bzw. entfernt.
    Wenn ich einen Schalter betätige, leuchtet auch am FGW-14 die Lampe, insofern schickt der Bus das Signal auch über das Gateway zum Rechner. Aber in Smarthome sehe ich nichts...

    Auszug aus <smarthome>/etc/plugin.conf

    Code:
    ##
    ## Eltako 14er/EnOcean  BUS integation via FGW-14 USB
    ##
    [enocean]
    class_name = EnOcean
    class_path = plugins.enocean
    serialport = /dev/eltako-fgw
    tx_id = FFFF4680
    Logfile von Smarthome (Loglevel des Enocean-Plugin steht auf DEBUG):
    Code:
    2017-02-10  22:46:30 WARNING  Main         --------------------   Init smarthomeNG 1.2.451   --------------------
    2017-02-10  22:46:30 INFO     Main         Init Scheduler
    2017-02-10  22:46:30 INFO     Main         Init Plugins
    2017-02-10  22:46:31 INFO     Main         Init UZSU
    2017-02-10  22:46:31 INFO     Main         enocean: Stick TX ID configured via plugin.conf to: FFFF4900
    2017-02-10  22:46:31 INFO     Main         enocean: eep-parser instantiated
    2017-02-10  22:46:31 INFO     Main         Init Items
    2017-02-10  22:46:32 INFO     Main         Items: 83
    2017-02-10  22:46:32 INFO     Main         Start Logics
    2017-02-10  22:46:32 INFO     Main         Start Plugins
    2017-02-10  22:46:32 INFO     BackendServer [10/Feb/2017:22:46:32] ENGINE Bus STARTING
    2017-02-10  22:46:32 INFO     BackendServer [10/Feb/2017:22:46:32] ENGINE Started monitor thread '_TimeoutMonitor'.
    ...
    2017-02-10  22:46:32 INFO     enocean-startup enocean: resetting device
    ...
    2017-02-10  22:46:32 INFO     BackendServer [10/Feb/2017:22:46:32] ENGINE Serving on http://192.168.1.4:8383
    2017-02-10  22:46:32 INFO     BackendServer [10/Feb/2017:22:46:32] ENGINE Bus STARTED
    2017-02-10  22:46:37 INFO     enocean-startup enocean: requesting id-base
    2017-02-10  22:46:42 INFO     enocean-startup enocean: requesting version information
    Schalte hier jetzt die verschiedenen Enocean Geräte aber im Log erscheint nichts...

    Stoppe Smarthome wieder:

    Code:
    ...
    2017-02-10  22:47:45 INFO     Main         enocean: Thread stopped
    Wie kann ich testen, ob das funktioniert? Wie bekomme ich die notwendigen IDs? Zum Start einen einfachen Lichtschalter integriert wäre toll..

    Verwendet Geräte:
    • Eltako FGW-14 USB (Gateway zum Steuer-PC)
    • Eltako FTS-14 EM (Eingabe-Modul für Schalter)
    • Eltako FSR-14 SSR (Stromstoss Schaltrelais für Licht)
    • Eltako FTS-14 KS (Busversorgung, Kommschnittstelle etc)
    Wie gesagt - falls mir da jemand weitere Infos geben kann - immer her damit...

    Vielen Dank,
    Stefan Seide


    #2
    Hallo Stefan,

    Du hast Dich für eine Opensource-Lösung entschieden, jemand war so freundlich und hat ein Plugin geschrieben und dies der Öffenlichkeit ohne eigenen Nutzen zur Verfügung gestellt und es auch noch ständig weiter entwickelt. Du beschwerst Dich nun, dass er dies nicht auch noch gut dokumentiert hat.Meine Mutter hat immer gesagt: Geschenktem Gaul - schaut man nicht ins Maul.
    Wenn Du Verbesserungsideen hast, ist es am besten Du setzt diese selber um, davon leben Open-Source Systeme.
    Schaue Dir mal die Init.py an, dort findest Du die aktuellen Befehle. Im Parser findest Du die bereits angelegten Profile, zunächst musst Du herausfinden, ob die Profile für Deine Geräte bereits vorhanden sind. Wenn Du Dir die Profile im Parser anschaust, findest Du auch den enocean_rx_key die enocean_rx_id ist die id des Enocean Geräts.
    Wenn er Deinen Stick richtig erkennen würde, würde er aber alle empfangenen Enocean Telegramme im Log melden, dies scheint nicht der Fall zu sein, bist Du sicher, dass das der Serialport richtig ist?

    Kommentar


      #3
      wie man unter https://github.com/smarthomeNG/smarthome/wiki/Plugins sieht, ist bei enocean nicht mal die Pflege und der Test des Plugins aktuell klar. Wir haben hier alle alten Plugins soweit möglich übernommen, auch wenn diese nicht mehr zwingend den Kriterien genügen, die an ein SHNG Plugin gestellt werden. Aus meiner Sicht sind einige Plugins teilweise eher ein Alpha-Zustand.

      Wir sind gerne a) dankbar wenn sich jemand als Tester in die Tabelle einträgt oder die Wartung übernehmen will. Das Readme kann man auch als PR in getunter Form einreichen oder im Wiki eine eigene Seite schreiben. Help is Welcome - ich habe bspw. kein Enocean, kann hier also nichts beitragen. Ich denke das gilt auch für den Rest des Kernteams!

      Trotz aller Kritik danke für das positive Feedback zur Doku des Kernsystems!

      Kommentar


        #4
        Hallo,

        vielen Dank erstmal für die Rückmeldung. Und meine Kritik bitte nicht falsch verstehen - mir ist bewusst was OpenSource ist.
        Deshalb hatte ich auch nicht einfach gesagt "Ist alles Scheisse" sondern explizit die Punkte aufgeführt die, soweit ich es verstehe, falsch sind und das meiner Meinung nach richtige Komando/Wert etc hingeschrieben, so das das korrigiert werden kann.

        Später kann ich mich, so es meine Hardwaere und Zeit hergibt, mich auch gern als Tester mit beteiligen, aber dazu bräuchte ich erstmal ein funktionierendes System...
        Meine Erfahrungen zur Installation werde ich dann auch gerne zusammenfassend im readme beschreiben - wenn ich einen entsprechenden Zustand habe.

        @Markov - gut zu wissen, das der dann automatisch alles loggen sollte und nichts noch extra konfiguriert werden muss. Werde also an der Stelle nochmal schauen wegen des Serialports.

        Kommentar


          #5
          Hallo,

          nachdem ich noch etwas weiter getestet habe, folgendes Fazit:

          Zu grundsätzlichen Funktionsprüfung ob der USB-Adapter (angeschlossen als /dev/ttyUSB0) Daten liefert hilft ein:
          sudo -u <smarthome-user> tail -f /dev/ttyUSB0 | od -
          Danach Events im Enocean Bus auslösen und schauen, ob etwas auf der Konsole erscheint.

          Dank dem Hinweis von Markov zum Plugin habe ich nochmal geschaut und musste für die Debug-Meldungen erst manuell im Plugin die auskommentierten print Statements wieder einkommentieren. Danach habe ich auch die eingehenden Daten gesehen. Verarbeitet wird aber nichts.

          Problem: Der Eltako FGW14-USB spricht das Enocean Serial Protocol Version 2 (ESP2). Das bei Smarthome enthaltene Plugin hingegen erwartet das ESP3. Insofern sind beide nicht miteinander kompatibel und Stand heute nicht nutzbar. Als Gateway zu Smarthome müsste man dann ein anderes Gerät besorgen, welches von ESP2 bei Eltako zu ESP3 für Smarthome übersetzen kann...

          Kommentar


            #6
            Hallo zusammen,
            habe einige der oben erwähnten Punkte in die Doku aufgenommen, bzw. letztere etwas erweitert. Mehr ist gerade nicht drin. Gerne nehme ich aber Pullrequests oder Hinweise per PN an. Für die Nutzung des Plugins wird ein gewisser Kentnissstand über die prinzipielle Enocean Funktionsweise und die Enocean Terminologie (RORG, RX_ID usw.) vorausgesetzt oder sollte alternativ extern angelesen werden.
            Beste Grüße
            Alex

            Kommentar


              #7
              Hallo zusammen,

              würde mich bereit erklären das enocean Thema zu übernehmen, da ich selbst Interesse habe das das Plugin funktioniert.
              Ich bin allerdings noch ein Anfänger mit git und so weiter... könnte mir da jemand helfen oder Tips geben wie man da reinkommt?

              Kommentar


                #8
                Hallo Hasenradball,

                es freut uns zu hören, dass Du Interesse am Enocean Plugin hast. Mitarbeit im Forum sowie bei der Entwicklung des Plugins sind gerne gesehen. Übernehmen musst Du erstmal nichts, am besten nimmst Du erst mal das Plugin bei Dir in Betrieb. Später schauen wir, wie wir mögliche Beitrge von Dir (als Pull Requests oder per PN) einbinden können. Tipps zum Reinkommen sind relativ simpel:
                1) Smarthome Doku lesen.
                2) Grundkenntnisse zu Enocean mitbringen oder extern anlesen.
                3) Enocean Plugin spezifische Doku lesen (readme.md)
                4) Falls konkrete Fragen auftauchen, diese hier im Forum stellen.

                Viel Erfolg und beste Grüße
                Alex

                Kommentar


                  #9
                  Hallo zusammen,

                  hatte mir gestern das enocean plugin angeschaut.
                  Ich gebe euch recht die Doku ist sehr alt und zudem sin mind. 2 Fehler drin die dazu führen dass zum einen die learn routine nicht gefunden wird und zum anderen die "Suche" nach der Base ID fehl schlägt.
                  Näheres heute abend...

                  Kommentar


                    #10
                    Hallo,

                    wie versprochen meine ersten Hinweise zur Inbetriebnahme des Enocean Plugins.
                    In der Doku sind zwei Fehler drin die dazu führen dass das Plugin nicht gleich läuft.

                    Das erste wäre die BASE ID des Devices welches am Pi hängt.

                    1.) Die Base Device bitte ohne Unterstrich im Plugin eintragen:

                    Code:
                    [enocean]
                        class_name = EnOcean
                        class_path = plugins.enocean
                        serialport = /dev/ttyAMA0
                        tx_id      = FFFF4680
                    Damit bekomme ich bei Hochfahren im Logger folgende Info angezeigt:
                    Code:
                    2017-03-22  19:39:07 INFO     enocean-startup enocean: resetting device
                    2017-03-22  19:39:07 INFO     BackendServer [22/Mar/2017:19:39:07] ENGINE Serving on http://192.168.178.8:8383
                    2017-03-22  19:39:07 INFO     enocean      enocean: Reset returned code = OK
                    2017-03-22  19:39:07 INFO     enocean-startup enocean: requesting id-base
                    2017-03-22  19:39:08 INFO     enocean      enocean: Base ID = 0xffce6680
                    2017-03-22  19:39:08 INFO     enocean      enocean: Remaining write cycles for Base ID = 10
                    2017-03-22  19:39:08 INFO     enocean-startup enocean: requesting version information
                    2017-03-22  19:39:08 INFO     enocean      enocean: Chip ID = 0x019d9ccd / Chip Version = 0x454f0103
                    2017-03-22  19:39:08 INFO     enocean      enocean: APP version = 2.11.1.0 / API version = 2.6.3.0 / App description = GATEWAYCTRL
                    Damit erhält man eigentlich alle Infos die man für das Pi Device benötigt, die Base ID hier "FFCE6680", die Chip ID "019D9CCD" und die Chip Version "454F0103".
                    Nun kann man die eigentliche Base ID in der Config eintragen, oder lässt einfach den initalen EIntrag drin.
                    Weitere Infos siehe auch hier:

                    https://www.enocean.com/en/knowledge..._is_a_base_id/

                    2.) Instanzname des Plugins und Top-Level-Name der Items:

                    Das nächste Problemchen wurde hier erwähnt:
                    Code:
                    2017-03-22  20:29:35 ERROR    Main         Unhandled exception: name 'send_leran_switch' is not defined
                    <class 'NameError'>
                      File "/usr/local/lib/python3.5/code.py", line 91, in runcode
                        exec(code, self.locals)
                      File "<console>", line 1, in <module>
                    Der Fehler, dass es die Lern-Routine nicht gibt entsteht daraus dass die Instanz des enocean-Plugins (hier: enocean; Name wird in eckiger Klammer definiert) den gleichen Namen hat wie das Top level Item in der Items.conf ( z.B.: enocean.switch.light). Damit wird nach der Lern-Methode im Item gesucht und da gibts die natürlich nicht!

                    Deshalb IMMER den Namen der Top Level Items anders nennen wie die Instanz des Plugins. Zum Beispiel so wenn einem nichts besseres einfällt:

                    Code:
                    [enocean_item]
                        [[FT55switch]]
                            enocean_rx_id = FEFA1E8D
                            enocean_rx_eep = F6_02_03
                                [[[up]]]
                                    type = bool
                                    enocean_rx_key = AI
                                [[[down]]]
                                    type = bool
                                    enocean_rx_key = AO
                    Dann lässt sich auch die Lern-Routine wie in der Doku beschrieben aufrufen.

                    Nun war noch die Frage wo ich die Sensor und device-spezifischen Daten herbekomme. Ganz einfach, beim Hersteller zum Beispiel bei Eltako findet man unter diesem Link die Sensor Telegramme:

                    https://www.eltako.com/fileadmin/dow...pT_low_res.pdf

                    Die anderen Fragen bitte einfach hier nachlesen:

                    https://www.enocean.com/en/knowledge-base/

                    Ich würde die Tage man die Doku etwas überarbeiten und diese dann zur Verfügung stellen.

                    PS: Ich selbst habe meinen Aktor noch nicht einlernen können, das muss ich mir mal noch genauer anschauen.

                    Bis dahin mal frohes werkeln...

                    Hasenradball



                    Kommentar


                      #11
                      Hasenradball : Habe die beiden Punkte gerade in die Doku übernommen.
                      Beste Grüße
                      Alex

                      Kommentar


                        #12
                        Hallo zusammen,

                        ich wollte eben ein update für enocean hoch laden, aber irgendwie funktioniert das bei mir mit dem git nicht.
                        kann mir gerade da jemand helfen.
                        Ich bekomme immer ein Fehler bei der Angabe von user + passwort, jedoch auf der Git Seite gehts damit.

                        Grüße

                        Kommentar


                          #13
                          Servus Jungs!
                          Ich habe auch bissl am Plugin gebastelt, allerdings sind meine Erfahrungen im anderen Thread niedergeschrieben.

                          https://knx-user-forum.de/forum/supp...-plugin/page11

                          Hab auch mal nen Pull Request für das UTE gestellt.. Ist sicher kein schöner Code, sollte aber funktionieren. Für Verbesserungen bin ich jederzeit offen! Lasst mal hören ob es passt..

                          Bezüglich git bin ich auch absoluter Anfänger, ich habe mich im Internet durchgehangelt. Wegen der Credentials habe ich mir einen ssh key erstellt und den public key bei git hinterlegt. Ich nutze das Ibbcape mit Debian (allerdings um darauf zuzugreifen nur Winscp, Putty und NP++ :-))

                          Grüße, Tommi
                          Zuletzt geändert von beckerth; 03.04.2017, 22:31.

                          Kommentar


                            #14
                            Hallo Tommi,

                            mit welchem Gerät nutzt Du denn das UTE?
                            Und wie.

                            Grüße
                            Frank

                            Kommentar


                              #15
                              Hallo Zusammen,

                              nach einigen Tagen ausprobieren, kann ich nun mit dem enocean plugin und smarthome.py zumindest meine 3 Temperatur & Feuchtigkeitssensoren auslesen. Das scheint zuverlässig zu funktionieren.

                              An meinem Eltako FT55 bin ich vor 5 Minuten aber noch gescheitert. Nun reagiert er. Aber Licht bleibt nur an wenn man den Taster gedrückt hält. Beim loslassen, geht das Licht direkt wieder aus.

                              Sprich beim ausmachen wird erneut die KNX Gruppenadresse für die Lampe angesprochen. Muss ich hier im ITEM des Schalters etwas zusätzlich definieren?
                              Mit FHEM oder dem ABB enocean KNX Gateway hatte ich alles gut am laufen, würde aber gerne auf ein reines sh.py als connector setzen.

                              ITEM Konfiguration eines FT55 Schalters von Eltako
                              Code:
                              # enocean.yaml
                              Enocean_devices:
                                  Schalter:
                                      Schlafzimmer:
                                          AO:
                                              enocean_rx_id: FEF59C60
                                              enocean_rx_eep: F6_02_01
                                              type: bool
                                              enocean_rx_key: AO
                                              knx_send: 0/0/1
                                              knx_dpt: 1
                              Falls jemand eine Idee hat, ich würde mich freuen.

                              Viele Grüße Jannis

                              P.S.: sowie der FT55 in der Doku zum Plugin angegeben wurde, wurde meine YAML Datei erst gar nicht eingelesen. Wen kann man hier kontaktieren, das dies überprüft wird?

                              Kommentar

                              Lädt...
                              X