Ankündigung

Einklappen
Keine Ankündigung bisher.

Smartvisu 2.8 openHab2 driver Probleme

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

    Smartvisu 2.8 openHab2 driver Probleme

    Hallo,

    ich bekomme keine Verbindung mit openhab2 hin. Smartvisu zeigt Error ( unknown error ) und in openhab kommt der Fehler I/O error has occurred while writing a response message entity to the container output stream. Gibt es einen How To wie man openhab 2 in die Smartvisu einbinden muss ( Driver config, Room page, Einbindung eines openhab Items). Ich würde mich über jede Hilfe sehr freuen da ich gerne diese Visu zusammen mit openhab verwenden möchte. Läuft schon bei jemanden SmartVisu zusammen mit den letzten openHab2 Release?

    mfg René

    #2
    Leider habe ich keine Ahnung von openHAB.
    Wenn ich den Logeintrag in deinem Issue auf GitHub richtig interpretiere, ist openHAB zwar erreichbar, wirft dann aber einen Fehler.

    Entweder funktioniert also der Treiber gar nicht, oder etwas stimmt mit deiner Item-Konfiguration nicht.

    Hast du mal in der openHAB-Community gefragt?
    Oder vielleicht mag dir dka helfen, er hat den Treiber für openHAB2 beigesteuert.

    Kommentar


      #3
      Hi,

      danke für die Antwort. Ja in GitHub habe ich auch schon probiert das Problem zu lösen. Bis jetzt leider ohne Erfolg. Ich werde mich mal an dka wenden.

      mfg René

      Kommentar


        #4
        Hallo Rene,

        bist Du in diesem Punkt weiter gekommen? Für mich wäre das Thema auch ziemlich interessant.

        Vielen Dank und viele Grüße,

        David

        Kommentar


          #5
          Nein leider nicht, der Support der Community in diesem Bereich ist leider etwas bescheiden. Ich glaube es gibt noch nicht sehr viel Erfahrung im Bezug auf openHab2 mit der SmartVisu (leider) :-(

          Kommentar


            #6
            Um hier mal etwas Informationen zu sammeln folgender Link:
            https://community.openhab.org/t/cors...est-api/3712/8

            Dadurch bin ich auf den Hinweis gekommen folgende Zeile in der runtime.cfg von openHAB2 zu ergänzen:
            org.eclipse.smarthome.cors:enable=true

            Damit funktioniert schon mal deutlich mehr von dem OH Driver. Ich forsche mal weiter...

            Viele Grüße,

            David

            Kommentar


              #7
              Anscheinend habe ich den anderen Punkt auch gefunden. Mit der oben genannten Änderung lief alles, außer Switch-Items. Dort erwartet der Driver einen Präfix, damit die von smartVisu gesendete 0/1 umgewandelt wird in das von openHAB erwartet OFF/ON. Anscheinend muss dafür dem Item-Namen ein "Switch:" vorangestellt werden. Also so:

              {{ basic.flip('test', 'Switch:Beleuchtung_Schlafzimmer_Nachttischleuchte ') }}

              Optional funktioniert auch sowas ohne Präfix:

              {{ basic.dual('test2', 'Beleuchtung_Schlafzimmer_Nachttischleuchte', icon1~'control_arrow_up.png', icon0~'control_arrow_up.png', 'ON', 'OFF') }}

              Damit hat jetzt alles funktioniert, was ich auf Anhieb testen konnte. Plots müsste ich mir jetzt noch mal anschauen. Vielleicht kann das ja mal jemand testen und gegenprüfen.

              Viele Grüße,

              David

              Kommentar


                #8
                Es geht. Vielen vielen dank für den Tip :-) Wenn du das mit den Diagramm hinbekommen hast kannst du ja auch bescheid geben. Ich glaube aber das das nicht unterstützt wird und wir den openhab Diagramm Screenshot einbinden müssen als Web Link.

                mfg René

                Kommentar


                  #9
                  DavidB
                  Da du ja jetzt alles zum Laufen gebracht hast, hättest du Lust, die notwendigen Schritte kurz zusammenzustellen und zu Dokumentieren?
                  Bisher gibt es nämlich noch keine Beschreibung der einzelnen IO-Treiber. Dies wäre eine gute Gelegenheit, eine solche zu beginnen.
                  Ich kenne wie geschrieben openHAB gar nicht.

                  rene54321
                  Im openHAB2-Treiber gibt es zumindest Funktionen für Plots. Ob und wie diese funktionieren, kann ich aber nicht beurteilen.

                  Kommentar


                    #10
                    Hallo zusammen,

                    ich habe gestern noch mal etwas getestet.

                    @smai: Ich kann das gerne mal dokumentieren. Allerdings müssten vorher noch ein paar Sachen angepasst werden. Würde ich dann machen, wenn für mich alles läuft.

                    Plots sind zwar grundsätzlich integriert, aber die API von openHAB hat sich inzwischen etwas geändert. Das konnte ich korrigieren und Plots laufen jetzt. Allerdings gibt es da eine Herausforderung: openHAB unterstützt unterschiedliche Persistences, also Datenbanktypen in denen die Werte gespeichert sind. Und diese Information muss bei der API-Anfrage mitgegeben werden. Also müsste das dann auch in smartVISU konfigurierbar sein. Daher als Frage an die SV-Profis: Wie lässt sich das am sinnvollsten abbilden? Kann man im smartVISU-Backend ein Konfigurationsfeld hinzufügen? Oder man müsste es bei dem Item-Namen mitgegeben, ähnlich dem "Switch:" von oben. Eventuell könnte man auch versuchen, dass beim Anfragen der Daten dynamisch ermittelt wird, welche Persistences es gibt und in welcher Daten für das spezielle Item vorhanden sind. Das ist aber in meinen Augen unschön, weil das für manche Anwendungsfälle in openHAB nicht passt. Jetzt, wo ich es mir so von der Seele schreibe, scheint mir der Weg mit dem Präfix vor dem Item-Namen der sinnvollste. Wird zwar etwas kryptisch, ist aber der einzige Weg bei dem man pro Item die Datenquelle wählen kann.

                    Außerdem ist mir aufgefallen, dass die Jalousie-Steuerung nicht funktioniert. openHAB erwartet auch hier nicht 0/1 wie von smartVISU gesendet, sondern UP/STOP/DOWN. Dafür hab ich gestern auf die Schnelle mal einen kleinen Fix gebaut, den ich noch etwas durchtesten müsste.

                    Ich bau die nächsten Tage mal etwas weiter.

                    @Rene: Könntest Du Plots und Jalousien testen, wenn ich Dir den angepassten Driver schicke? Dann würde ich vorab mal einen fest eingetragenen Einstellungen vorbereiten. Welche Version von OH setzt Du ein und welchen Persistence-Dienst? Eins vorab: Damit Plots funktionieren muss bei openHAB HABMIN aktiviert sein, da dieser die API-Erweiterung mitbringt. Denke ich zumindest, hab das noch nicht verifiziert.

                    Viele Grüße,

                    David

                    Kommentar


                      #11
                      Zitat von DavidB Beitrag anzeigen
                      Daher als Frage an die SV-Profis: Wie lässt sich das am sinnvollsten abbilden? Kann man im smartVISU-Backend ein Konfigurationsfeld hinzufügen? Oder man müsste es bei dem Item-Namen mitgegeben, ähnlich dem "Switch:" von oben. Eventuell könnte man auch versuchen, dass beim Anfragen der Daten dynamisch ermittelt wird, welche Persistences es gibt und in welcher Daten für das spezielle Item vorhanden sind. Das ist aber in meinen Augen unschön, weil das für manche Anwendungsfälle in openHAB nicht passt. Jetzt, wo ich es mir so von der Seele schreibe, scheint mir der Weg mit dem Präfix vor dem Item-Namen der sinnvollste. Wird zwar etwas kryptisch, ist aber der einzige Weg bei dem man pro Item die Datenquelle wählen kann.
                      Ich würde auch die Variante mit dem Prefix empfehlen. Da es ja anscheinend für openHAB bereits Prefixes gibt, wäre das Konzept auch nicht neu.
                      Irgendwie könnte man zwar auch eine Option in die Konfiguration bauen und an den Treiber durchreichen, wäre aber einerseits relativ umständlich und würde dann, wie du schreibst, für jedes Item gelten.

                      Kommentar


                        #12
                        Na dann ist ja alles ganz einfach. Als Anlage mal der Driver mit Anpassungen zu den Plots und den Jalousien. Wenn es die nächsten Tage bei mir gut läuft, räum ich das noch mal etwas auf und schreib ne kurze Doku. Vielleicht kann es ja parallel mal jemand testen.

                        Meine smartVISU-Konfig sieht aus, wie folgt:

                        Code:
                        {{ basic.flip('testswitch', 'Switch:Beleuchtung_Manuell_Schlafzimmer_Nachttischleuchte_David') }}
                        {{ basic.dual('testdual', 'Switch:Beleuchtung_Manuell_Schlafzimmer_Nachttischleuchte_David', icon1~'control_arrow_up.png', icon0~'control_arrow_up.png') }}
                        {{ basic.slider('testdimmer', 'Beleuchtung_Manuell_Schlafzimmer_Deckenleuchte', 0, 100, 5) }}
                        {{ basic.value('testvalue', 'OneWireTempSensor') }}
                        {{ device.shutter ('shutter1', 'Rollo Glasfront', 'ShutterMove:Rollo_Glasfront', 'ShutterStop:Rollo_Glasfront', 'Hoehe_Glasfront', '', 'Lammellen_Glasfront', '', 0, 100, 5, 'full') }} 
                        {{ device.blind('shutter2', 'Rollo Glasfront', 'ShutterMove:Rollo_Glasfront', 'ShutterStop:Rollo_Glasfront', 'Hoehe_Glasfront', '', 'Lammellen_Glasfront', 0, 100, 5) }}
                        {{ plot.period('testplot', 'influxdb:OneWireTempSensor', 'avg', '1h', '1h') }}
                        "influxdb" beim Plot ist der Name von meinem Persistence-Service. Das könnte auch "mysql" sein, oder "rrd4j", oder was auch immer. Eine Liste der auf openHAB eingerichteten Persistences mit der korrekten Schreibweise erhält man unter der folgenden URL:

                        http://IP_OF_OPENHAB:8080/rest/persistence/

                        Meine openHAB-Items sehen so aus:

                        Code:
                        Switch Beleuchtung_Manuell_Schlafzimmer_Nachttischleuchte_David  "Nachttisch David"  { knx="1/1/3" }
                        Dimmer Beleuchtung_Manuell_Schlafzimmer_Deckenleuchte  "Deckenleuchte"  { knx="1/1/1, 1/2/1, 1/3/1" }
                        Number OneWireTempSensor  "Temp [%.1f °C]"  {onewire="deviceId=10.67C6697351FF8D;propertyName=temperature;refreshinterval=10"}
                        Rollershutter Rollo_Glasfront"  Rollo Glasfront"  { knx="2/1/4, 2/2/4, 2/3/4" }
                        Dimmer Hoehe_Glasfront  "Höhe Glasfront"  { knx="2/3/4, 2/3/4, 2/3/4" }
                        Dimmer Lammellen_Glasfront  "Lamellen Glasfront"  { knx="2/4/4, 2/4/4, 2/4/4" }
                        Viele Grüße,

                        David
                        Angehängte Dateien

                        Kommentar


                          #13
                          Danke!
                          Sobald du den den Treiber als einigermassen definitiv betrachtest, werde ich ihn in den develop-Branch aufnehmen.
                          Du darfst natürlich auch gerne einen pull Request machen, falls du einen GitHub Account hast. So bist du auch als Autor dokumentiert.

                          Kommentar


                            #14
                            Zitat von DavidB Beitrag anzeigen
                            Hallo zusammen,

                            ich habe gestern noch mal etwas getestet.

                            @smai: Ich kann das gerne mal dokumentieren. Allerdings müssten vorher noch ein paar Sachen angepasst werden. Würde ich dann machen, wenn für mich alles läuft.

                            Plots sind zwar grundsätzlich integriert, aber die API von openHAB hat sich inzwischen etwas geändert. Das konnte ich korrigieren und Plots laufen jetzt. Allerdings gibt es da eine Herausforderung: openHAB unterstützt unterschiedliche Persistences, also Datenbanktypen in denen die Werte gespeichert sind. Und diese Information muss bei der API-Anfrage mitgegeben werden. Also müsste das dann auch in smartVISU konfigurierbar sein. Daher als Frage an die SV-Profis: Wie lässt sich das am sinnvollsten abbilden? Kann man im smartVISU-Backend ein Konfigurationsfeld hinzufügen? Oder man müsste es bei dem Item-Namen mitgegeben, ähnlich dem "Switch:" von oben. Eventuell könnte man auch versuchen, dass beim Anfragen der Daten dynamisch ermittelt wird, welche Persistences es gibt und in welcher Daten für das spezielle Item vorhanden sind. Das ist aber in meinen Augen unschön, weil das für manche Anwendungsfälle in openHAB nicht passt. Jetzt, wo ich es mir so von der Seele schreibe, scheint mir der Weg mit dem Präfix vor dem Item-Namen der sinnvollste. Wird zwar etwas kryptisch, ist aber der einzige Weg bei dem man pro Item die Datenquelle wählen kann.

                            Außerdem ist mir aufgefallen, dass die Jalousie-Steuerung nicht funktioniert. openHAB erwartet auch hier nicht 0/1 wie von smartVISU gesendet, sondern UP/STOP/DOWN. Dafür hab ich gestern auf die Schnelle mal einen kleinen Fix gebaut, den ich noch etwas durchtesten müsste.

                            Ich bau die nächsten Tage mal etwas weiter.

                            @Rene: Könntest Du Plots und Jalousien testen, wenn ich Dir den angepassten Driver schicke? Dann würde ich vorab mal einen fest eingetragenen Einstellungen vorbereiten. Welche Version von OH setzt Du ein und welchen Persistence-Dienst? Eins vorab: Damit Plots funktionieren muss bei openHAB HABMIN aktiviert sein, da dieser die API-Erweiterung mitbringt. Denke ich zumindest, hab das noch nicht verifiziert.

                            Viele Grüße,

                            David
                            Gerne würde ich den driver testen. Ich habe auch noch Probleme mit den Hues. Da Smartvisu drei einzelne Werte für RGB erwartet openhab aber alles mit einem Item übermittelt. Hast du hierfür einen Ansatz?

                            mfg René

                            Kommentar


                              #15
                              Hi,

                              ich habe nun deinen driver geladen und mich an die sehnlich erwarteten Plots gewagt. Leider ohne Erfolg. Ich benutze die letzte Snaphot Version von OH2 und den mysql Persistence Service.

                              Item aus openhab2:
                              Number HeatPump_Aussentemperatur "Außentemperatur [%.1f °C]" <temperature> (gWaermepumpe_Temps) { novelanheatpump="temperature_outside" }

                              smartvisu page:

                              {{ plot.period('testplot', 'mysql:HeatPump_Aussentemperatur', 'avg', '24h', '24h') }}

                              Leider sehe ich gar kein Plot. Hast du ne Idee?

                              mfg René

                              Kommentar

                              Lädt...
                              X