Ankündigung

Einklappen
Keine Ankündigung bisher.

Anbindung smartVISU an openHab3

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

    Anbindung smartVISU an openHab3

    Hallo zusammen
    da ich gerade im smartVISU-Projektforum die entsprechende Frage gestellt habe (https://knx-user-forum.de/forum/supp...n-und-openhab3), möchte ich auch im openHab-Projekt nachfragen. Ich nutze schon einige Jahre mit smarthome.py die Visualisierung smartVISU. Seitens smartVISU gab es in der Vergangenheit die Möglichkeit sich an openHab 2.x anzuflanschen. Da ich nun auf openHab (3.x) umsteigen möchte, würde ich aber dennoch gerne die liebgewonnene Visu weiterverwenden. Mir sind durchaus die verschiedenen GUIs in openHab bekannt, dennoch würde mich interessieren, ob es nicht auch von Seiten des openHab-Projektes möglich wäre, die smartVISU offiziell zu unterstützen.

    Über eine kurze Rückmeldung würde ich mich sehr freuen.

    Viele Grüße
    Christian
    Zuletzt geändert von kamikaze2508; 05.07.2021, 18:03.

    #2
    Die Frage ist, wie smartVISU die Anbindung realisiert hat.
    Wenn es gut läuft, dann geschieht der Zugriff über die openHAB REST API. Da openHAB3 nun auch Authentisierung unterstützt, wird es im Zweifel nicht direkt gehen - schließlich muss User, Passwort und Token irgendwie hinterlegt werden - aber die Anpassungen dürften sich im kleinen Rahmen bewegen.

    Kommentar


      #3
      Meistens klappt es, wenn der openHab3 Anmeldetoken als User ohne Passwort im "alten" Tool angegeben wird. So war es zumindest am Anfang mit VS Code. In Node-Red habe ich es auch so gemacht: https://www.openhab.org/docs/configu...apitokens.html

      Einfach mal probieren ob das geht.

      Kommentar


        #4
        udo1toni
        ja, der Zugriff läuft über das REST API. Die einzelnen Kommandos ('read' / 'write' für items und 'get' für Plot-Datenreihen) sind jeweils als ajax-Requests auf die in der aktuellen API-Doku gelisteten URLs ausgeführt. Wenn es an dem API keine Änderungen gegeben hat, sollte das passen.
        Gibt es irgendwo ein Beispiel, wo ich mir die Authentifizierung ansehen kann?

        PatrikG : Du hattest den Treiber für OH2 angepasst. Hast Du für OH3 auch schon eine Lösung?

        Gruß
        Wolfram

        Kommentar


          #5
          Zitat von udo1toni Beitrag anzeigen
          Wenn es gut läuft, ....
          Ich finde, dass es durchaus gut läuft. 😁

          Zitat von wvhn Beitrag anzeigen
          PatrikG : Du hattest den Treiber für OH2 angepasst. Hast Du für OH3 auch schon eine Lösung?
          Ich habe das Update mit niedriger Priorität auf meiner todo-Liste, da gefühlt sowieso nur ich den Treiber benutze und für mich alles soweit gut funktioniert. Er wird auch weiterentwickelt wenn ich eine Unschärfe feststelle, aber halt eher nur für mich, da gefühlt nur ich den Treiber verwende und auch sonst keine Klagen kommen. Ab und an schau ich schonmal rein. 😉

          Kommentar


            #6
            PatrikG läuft bei Dir schon OH3 mit dem bisherigen SV-Treiber? D.h. es geht auch ohne Authentifizierung?

            Oder kannst Du hier kurz umreißen, was zu tun ist, damit es läuft?

            Kommentar


              #7
              Wie gesagt, hab ich OpenHAB3 noch nicht installiert. Ich habe mich gestern Abend aber mal kurz eingelesen und verstehe das so, dass die Authentifizierung optional ist bzw. deaktiviert werden kann. Ich würde somit behaupten, dass der Treiber mit deaktivierter Authentifizierung weiter funktioniert. Aber aktuell alles reine Theorie und und ungetestet.

              Weiter habe ich bereits angefangen SmartVISU entsprechend anzupassen. Vom Treiber her keine große Sache, aber ich mach gleich noch die zusätzlich benötigten Felder in die Konfigurationsseiten mit rein. Gebt mir noch ein paar Tage ....

              Kommentar


                #8
                Zitat von PatrikG Beitrag anzeigen
                Ich habe mich gestern Abend aber mal kurz eingelesen und verstehe das so, dass die Authentifizierung optional ist bzw. deaktiviert werden kann.
                Jain. Auch mit deaktivierter Authentifizierung verlangt die REST API Zugangsdaten - deshalb funktioniert der Zugang mit VSCode ohne User, Passwort und Token nicht vollständig.

                Kommentar


                  #9
                  udo1toni Das kann ich so nicht bestätigen. Ich habe eben mal schnell die 3.1.0 installiert, ein Binding installiert und ein Thing mit Item erstellt und das kann ich über die REST-API ohne User abfragen und schalten:
                  Code:
                  curl -X GET --header "Accept: application/json" "http://localhost:8080/rest/items?recursive=false"
                  
                  [{"link":"http://localhost:8080/rest/items/RXV3900MainZone_Power","state":"ON","editable":tru e,"type":"Switch","name":"RXV3900MainZone_Power"," label":"Power","category":"switch","tags":["Point"],"groupNames":[]}]
                  
                  curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "OFF" "http://localhost:8080/rest/items/RXV3900MainZone_Power"
                  curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "ON" "http://localhost:8080/rest/items/RXV3900MainZone_Power"
                  So sieht die unveränderte Standard API-Sicherheit aus:API-Sicherheit.png

                  Kommentar


                    #10
                    So, weiter getestet. Der smartVISU openHAB2-Treiber funktioniert auch mit openHAB3 (3.1.0), wenn die Authentifizierung in openHAB3 deaktiviert ist. 👍
                    Dazu muss man einfach die Option Implizierte Benutzerrolle unter Einstellungen > System Services > API-Sicherheit (Show advanced) aktiviert lassen. Ist die Option deaktiviert funktioniert der aktuelle Treiber logischerweise nicht mehr.

                    Ich bin aber schon dabei den Treiber entsprechen anzupassen. Noch ein paar Tage ...

                    PS:
                    Ich habe das Ganze jetzt rein über localhost getestet und es ist theoretisch möglich, dass sich das Verhalten systemübergreifend ändert
                    Zuletzt geändert von PatrikG; 01.07.2021, 10:40.

                    Kommentar


                      #11
                      Cool.Danke!

                      Die Config-Seite ist ziemlich komplex. Eingabefelder sind mit dem Widget forms.config_input aber recht einfach einzufügen. Nur wenn Du gleich noch zwischen User/Passwort und Token umschalten und Felder dynamisch deaktivieren willst, wird das eine größere Aktion. Wenn Du Unterstützung brauchst, melde Dich.
                      Wichtig ist, dass alle anderen io-Treiber in den Metadaten die Anweisung erhalten, die neuen Eingabefelder für User/Password oder Token zu verstecken.

                      Gruß
                      Wolfram

                      Kommentar


                        #12
                        Hallo zusammen,
                        vielen Dank für euer Engagement. Das stimmt mich doch sehr positiv die schöne smartVISU-GUI weiterverwenden zu können. Gerne warte ich auch noch ein paar Tage auf den überarbeiteten Treiber. Wo kann ich den dann runterladen?

                        Viele Grüße und nochmals ganz herzlichen Dank.

                        Christian

                        Kommentar


                          #13
                          Den Treiber habe ich heute in den develop branch auf GitHub gepusht. Der Treiber allein reicht aber nicht, da Code in mehreren anderen Dateien geändert wurde. Also lädst Du Dir am besten das ganze Paket als ZIP herunter (https://github.com/Martin-Gleiss/smartvisu/tree/develop). Falls Du smartVISU schon mittels git installiert hast, checkst Du den develop branch aus und pullst.

                          Den aktuellen Stand des develop würde ich als stabil bezeichnen, so dass das Risiko gering sein sollte. Du bekommst dennoch regelmäßig eine Update-Erinnerung für die freigegebene Version.

                          Gruß
                          Wolfram

                          P.S.: den Thread hier kannst Du als gelöst markieren.


                          Kommentar


                            #14
                            Alles klar. Prima, vielen Dank.

                            Gruß,
                            Christian

                            Kommentar


                              #15
                              Leider musste ich den Treiber nochmal anpassen, da mir erst später aufgefallen ist, dass für den Eventhandler ein anderer Namespace (openhab) als bisher (smarthome) verwendet wird. Mir ist das nicht direkt aufgefallen, da ich für den Fall, dass der Eventhandler mal abreist, im Treiber eine Reserve eingebaut habe, welche alle Items einer Seite trotz Eventhandler alle 10 Sekunden aktualisiert.

                              Also bitte warten bis der Pullrequest integriert ist oder danach die io_openhab.js erneut laden.

                              Kommentar

                              Lädt...
                              X