Ankündigung

Einklappen
Keine Ankündigung bisher.

Support-Thread zum Homematic Plugin

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

    #31
    WolfgangVolk Willst Du von fhem auf shNG umsteigen, oder geht es Dir nur um die Visu? Wenn letzteres der Fall ist: smartVISU hat einen fhem-Treiber. Zusätzlich brauchst Du fronthem, das die fhem Readings in items für smartVISU umsetzt und die Websocket-Kommunikation übernimmt. Das ist das „Plugin“, das Kalle meint. Die Kombination fhem/fronthem/smartVISU scheint recht beliebt zu sein, aber fronthem wird aktuell kaum noch gepflegt. Im fhem-Forum gibt es ein Unterforum dazu.

    Gruß
    Wolfram

    Kommentar


      #32
      Zitat von wvhn Beitrag anzeigen
      WolfgangVolk Willst Du von fhem auf shNG umsteigen, oder geht es Dir nur um die Visu? Wenn letzteres der Fall ist: smartVISU hat einen fhem-Treiber. Zusätzlich brauchst Du fronthem, das die fhem Readings in items für smartVISU umsetzt und die Websocket-Kommunikation übernimmt. Das ist das „Plugin“, das Kalle meint. Die Kombination fhem/fronthem/smartVISU scheint recht beliebt zu sein, aber fronthem wird aktuell kaum noch gepflegt. Im fhem-Forum gibt es ein Unterforum dazu.

      Gruß
      Wolfram
      Danke Wolfram, ich werde es mal ausprobieren.

      Gruß


      Wolfgang

      Kommentar


        #33
        Hallo Wolfgang,
        was ist den dein Ziel? Ich habe es wahrscheinlich nicht richtig verstanden.
        Möchtest du HomeMatic Geräte mit FHEM betreiben?
        Oder FHEM mit SmartVISU visualisieren? siehe hier: https://wiki.fhem.de/wiki/SmartVISU
        Mir geht es um die Visualisierung der HomeMatic Welt mit SmartVISU.
        Ich benutze ein RaspberryMatic und SmartHomeNG mit Plugin pyhomematic auf einem zweiten Raspi. RaspberryMatic basiert auf der CCU3 Software mit einigen Erweiterung.
        Das funktioniert soweit gut bis auf die Unterstützung des Thermostats HM-CC-RT-DN wie oben weiter beschrieben.

        Gruß
        Kalle

        Kommentar


          #34
          Zitat von Msinn Beitrag anzeigen
          Wie ich mit ACTIONNODE umgehe, muss ich mir anschauen wenn ich etwas Zeit habe. Mein Problem ist, dass ich Kein passendes Device zum testen habe.
          Hallo Martin,
          würde es helfen, wenn ich dir ein Homematic Thermostat zuschicke?
          Viele Grüße
          Kalle

          Kommentar


            #35
            Hallo,

            ich habe das homematic/pyhomematic plugin in smarthomeNG erfolgreich konfiguriert und erhalte eine Verbindung zu meiner RaspberryMatic.
            Die Geräte werden alle angezeigt und ich habe alle benötigten Items definiert. Soweit so gut.

            Allerdings scheint der optische Fenster-/Türenkontakt HmIP-SWDO-2 nicht unterstüzt zu sein.
            Meine Items (Status) zeigen alle false unabhängig vom tatsächlichen Zustand und bei den homematicIP Geräten stehen keine Werte/Daten/Funktione (nur Node/Date in der Überschrift).
            Ich habe versucht eine neue Zeile
            "HmIP-SWDO-2": IPShutterConnectSabotage,
            in sensors.py unter /pyhomematic/devicetypes einzufügen, aber das hat ebenfalls keine Verbesserung gebracht.

            Kann ich diese Sensoren irgendwie in smarthomeNG integrieren? Ich benötige eigentlich nur den Status.

            Danke und Gruss

            Kommentar


              #36
              Ich befürchte, da bist Du kurzfristig "Out of Luck".

              Das homematic Plugin nutzt zur Kommunikation mit Homematic das Package pyhomematic. Es werden daher nur devices unterstützt, die pyhomematic implementiert hat. Der Türkontakt HmIP-SWDO, den ich nutze, ist dort implementiert, der Türkontakt HmIP-SWDO-2 jedoch nicht.

              Im homeassistant Repo auf github habe ich auch ein Issue gefunden, in dem um die Implementies ung des HmIP-SWDO-2 gebeten wurde. Der Autor von pyhomematic antwortete dort

              The backend library used by this integration is not being maintained anymore, and therefore does not receive updates for new devices.
              Um neue Devices zu unterstützen gibt es nach meiner Einschätzung zwei Wege:
              • Es findet sich jemand, der pyhomematic forked und den fork weiter entwickelt/pflegt
              • Es wird ein neues homematic Plugin geschrieben, welches eine andere Kommunikationsschicht nutzt.
              Beides sind keine schnell zu realisierenden Lösungsansätze.

              Nachtrag:
              Der Autor von pyhomematic hat ein neues Package hahomematic veröffentlicht. Dieses ist erstmal explizit für die Integration in HomeAssistant gedacht. Ob das Package für ein SmartHomeNG Plugin praktikabel genutzt werden kann, wäre zu prüfen. Falls es nutzbar ist, wäre der zweite Weg (neues Plugin schreiben) möglich. Andere Packages, die die Anbindung zu einer CCU2/CCU3 implementieren,, habe ich erstmal nicht gefunden.

              Allerdings gibt es auch noch eine weitere Hürde. Das Package hahomematic setzt als minimale Python Version 3.11 voraus. Ein Plugin, welches in bestehende SmartHomeNG Installationen integriert werden kann, lässt sich damit also nicht erstellen.
              Zuletzt geändert von Msinn; 03.10.2023, 19:46. Grund: Nachtrag ergänzte
              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                #37
                Ich habe mich mal etwas mit hahomematic beschäftigt und sehe Licht am Ende des Tunnels. Ich werde eine neue Version des homematic Plugins erstellen. Das gestaltet sich allerdings recht aufwendig, da es für hahomematic keine Doku gibt. Ich grabe mich anhand von einigen Beispielprogrammen durch den Source code.

                Das neue Plugin wird dann alle Parameter eines HomeMatic Devices unterstützen und nicht nur eine Auswahl (wie es aktuell bei pyhomematic der Fall ist).

                Allerdings wird das neue Plugin es nicht mehr in das kommende SmartHomeNG Release 1.10 schaffen.
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #38
                  Hallo, vielleicht hat ja hier jemand einen Tipp für mich. Ich habe das AddIn auf meinem "alten" shNG auf bare metal laufen. Das funktioniert nach wie vor.
                  Gleichzeitig ziehe ich die neue Version in Docker auf (ich denke, das ist das Problem). Hier erhalte ich die Meldung: 'plugins.homematic Connection to ccu failed'

                  Ich versuche dem Fehler nachzugehen. Die Verbindung zur CCU scheint im Prinzip zu klappen, wenn ich Port oder IP ändere, gibt es andere Fehlermeldungen. Auch in der CCU habe ich keine Restrictions.

                  Habe die Debug Logs von pyhomematic mal reinkonfiguriert:
                  Code:
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   HMConnection: Creating server object
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   createProxies: Creating proxies
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   LockingServerProxy.__init__: Getting local ip
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   LockingServerProxy.__init__: Got local ip 172.22.0.4
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.__init__
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.__init__: iterating proxy = myserver-rf
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__: Setting up server
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__: Registering RPC functions
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   HMConnection: Creating server object
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   createProxies: Creating proxies
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   LockingServerProxy.__init__: Getting local ip
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   LockingServerProxy.__init__: Got local ip 172.22.0.4
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.__init__
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.__init__: iterating proxy = myserver_ip-ip
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__: Setting up server
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.__init__: Registering RPC functions
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.proxyInit: init('http://172.22.0.4:40439', 'myserver-rf')
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   ServerThread.proxyInit: init('http://172.22.0.4:40079', 'myserver_ip-ip')
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.newDevices: interface_id = myserver_ip-ip, dev_descriptions = [{'TYPE': 'HmIP-RCV-50', 'SUBTYPE': 'RCV50', 'ADDRESS': '00035709A55F67', 'RF_A>
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.createDeviceObjects: iterating interface_id = ip
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.createDeviceObjects: created 00035709A55F67 as SUPPORTED device for HmIP-RCV-50
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.createDeviceObjects: adding to self.devices_all
                  2024-02-25  21:14:22 DEBUG    plugins.homematic   RPCFunctions.createDeviceObjects: adding to self.devices
                  2024-02-25  21:14:43 ERROR    plugins.homematic   Connection to ccu failed
                  Hier steht viel von Proxy, und Ports 40439 und 40079 (die sich jedesmal ändern)

                  Hat jemand nen Ansatz, wo ich weitersuchen kann?

                  Kommentar


                    #39
                    Ok, ich habe zumindest eine Lösung für das Problem gefunden. Nach längerer Suche habe ich festgestellt, dass es wohl nicht mit Docker zu tun hat. Die HomematicIP Geräte werden erkannt, die Homematic (RF?) Geräte nicht. Ich habe die Stelle im Code von pyhomematic gefunden:
                    https://github.com/danielperna84/pyh...ic/_hm.py#L685
                    Code:
                    # For HomeMatic IP, init is not working correctly. We fetch the device list and create
                                    # the device objects before the init is performed.
                                    if proxy._remoteport in [2010, 32010, 42010]:
                                        dev_list = proxy.listDevices(interface_id)
                                        self._rpcfunctions.newDevices(interface_id=interface_id, dev_descriptions=dev_list)
                                    proxy.init("http://%s:%i" %
                                               (callbackip, callbackport), interface_id)
                                    LOG.info("Proxy for %s initialized", interface_id)​
                    Wenn ich die Liste der Ports um 2001 erweitere, führt er die Operation, die eigentlich nur für HomematicIP gedacht ist, auch für Homematic aus. Und damit funktionieren meine Thermostate fast wie gewünscht, ich sehe meine Geräte und kann Sie steuern.

                    Das Repo ist leider schon geschlossen, daher fällt mir gerade nur ein, das lokal zu korrigieren. Oder?

                    Kommentar


                      #40
                      Tritt das Problem denn auch auf, wenn Du SmartHomeNG ohne Docker betreibst?

                      Im Moment kannst Du nur pyhomematic forken, Deine Lösung einbauen und Deinen Fork nutzen.

                      Da das Package pyhomematic nicht mehr weiterentwickelt wird und daher auch keine neuen Homematic Devices mehr unterstützt werden können, ist die Zukunft des aktuellen homematic Plugins für SmartHomeNG überschaubar…

                      Ich habe im Backlog die Auswahl einer Altertative zu pahomematic und das Erstellen eines neuen Plugins.Im pyhomematic Repo wird als Ersatz hahomematic empfohlen. Allerdings ist das Package quasi nicht dokumentiert und eine Doku zur Nutzung außerhalb von HomeAssistant wird nicht aktiv untersttützt. Ich muss also sehen, ob ich mich durch das hahomematic Package fräse oder noch eine Alternative finde. Wegen des damit verbundenen Aufwands wird es aber noch einige Zeit dauern, bis ich mit einem neuen Plugin durch die Tür komme.
                      Zuletzt geändert von Msinn; 26.02.2024, 15:03.
                      Viele Grüße
                      Martin

                      There is no cloud. It's only someone else's computer.

                      Kommentar


                        #41
                        Ich werde heute mal versuchen, dass image auf dem RPi direkt laufen zu lassen. Muss erstmal ne andere Karte suchen.

                        Mit dem hack kann ich fast alles mit meinen Thermostaten machen, Sollwert stellen, Batteriestand und Ventilstellung auslesen etc. Einzig die Ist Temperatur wird nicht angezeigt, das geht aber in meiner alten noch

                        Kommentar


                          #42
                          Ok, ich weiß jetzt nicht, ob es gute oder schlechte Nachrichten sind, aber mit dem Image von Onkel Andy funktioniert es (nach der Installation von pyhomematic).

                          Sowohl die Items werden initial angezeigt, als auch die aktuelle Temperatur geht.

                          Wie komme ich weiter: Ich würde mal:
                          * Die Versionen genau vergleichen (homematic und pyhomematic)
                          * Mit einem Tool mal den Netzwerktraffic untersuchen (vielleicht sehe ich ja, was fehlt)

                          Bin fürjeden Tipp dankbar

                          Kommentar


                            #43
                            Zwischenbillanz: Auf dem Docker geht es auch mit network_mode: host. Ich vermute unter der Haube die Proxy Server, da laufen zwei SimpleXMLRPC Server (für HM und HM_IP). Die veröffentlichen auf einem zufälligen Port. Das habe ich lokal mal verändert und auf feste Ports (40000 und 40001) gesetzt, diese dann über verbunden.

                            Klang sehr vielversprechend, half aber leider nicht. Mit welcher Konfiguration sollte ich den XMLRPCServer starten? Ich habe zunächst mal eine feste IP (aber noch mit net bridge) gesetzt. Damit kann ich jetzt die XMLRPCServer starten:
                            Starting server at http://172.18.128.10:40000

                            Den Port 40000 habe ich entsprechend exposed.

                            Leider ändert das nichts. Kennt sich jemand mit dem XMLRPC Server auf? Muss ich dafür noch was anderes freigeben?



                            Kommentar


                              #44
                              Yippie, ich habe das Problem gefunden. Für den Fall eines Dockercontainers muss pyhomematic anders konfiguriert werden. Das kann man glücklicherweise alles im plugincode tun, da habe ich das jetzt reingebastelt.

                              Ich werde versuchen es sinnvoll zu lösen und als PR einzustellen.

                              Kommentar


                                #45
                                Ich habe einen Lösungsvorschlag als PR erstellt.
                                https://github.com/smarthomeNG/plugins/pull/924

                                Da man an dem Docker Host vorbei muss, kann man jetzt optional:
                                - Die Ports fixieren sowie
                                - Die Callbackverbindung angeben, an die die CCU senden soll. In meinem Fall der Host des Docker Containers. Von da kann man eben über die Portverbindung von Docker die Kommunikstion ermöglichen.

                                Kommentar

                                Lädt...
                                X