Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX-DPT 20.102 in OpenHab

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

    KNX-DPT 20.102 in OpenHab

    Hallo zusammen. In meiner KNX-Installation nutze ich zur Heizungssteuerung den Datentyp DPT 20.102 DPT_HVACMode​.

    Leider scheint es, dass der vom Binding zumindest per Default nicht unterstützt wird. Wisst Ihr, ob man da irgendwie drauf zugreifen kann? Mir würde es reichen, den in OpenHab als Number anzubilden.

    Danke und viele Grüße
    Eric

    #2
    Also, laut https://github.com/openhab/openhab-a...t/DPTUtil.java ist DPT 20.xxx in openHAB sehr wohl bekannt und wird als StringType abgebildet.
    Wichtig ist aber, dass Du den DPT mit angibst. Kann sein, dass der Channel dazu dann tatsächlich vom Typ string sein muss (etwas strange, müsste man mit dem Entwickler klären), aber auf jeden Fall einen Versuch wert.

    Kommentar


      #3
      Danke das hat tatsächlich geholfen! In der Tat eine unorthodoxe Wahl. Und schade, dass man für die Info den Quellcode durchforsten muss. OpenHab ist für ein so populäres Projekt wirklich unglaublich schlecht dokumentiert... Schade.

      Kommentar


        #4
        Also, das ist eine recht steile These. openHAB ist schon recht gut dokumentiert, aber leider nicht alles, bzw. nicht alles in der gleichen Qualität. Hier geht es um eine recht spezielle Eigenschaft eines Bindings, nicht openHAB generell, auch wenn es sich um ein offizielles openHAB Binding handelt.
        Gewöhnlich ist es eher so, dass man vor lauter Dokumentation nicht auf Anhieb die richtige Information erhält, aber das ist der Komplexität geschuldet. Und bisher habe ich auch noch kein anderes System gesehen, welches bei gleichem Funktionsumfang wesentlich besser wäre (egal ob nun im Bereich der Dokumentation oder der Konfiguration - von der Installation mal ganz zu schweigen).

        Kommentar


          #5
          Naja also ich bin jetzt seit gut einem Monat dabei, mit ich OpenHab einzuarbeiten und hatte schon mehrere Dutzend Dinge, die ich mir nur aufgrund irgendwelcher Foren-Posts erschließen konnte, oder halt aufgrund des Quellcodes. Ein Beispiel ist alleine schon die Syntax der Regel-DSL. Ein Teil ist exemplarisch dokumentiert, aber es gibt meines Wissens nach keine komplette Syntax - zumindest habe ich sie nicht gefunden. So fragt man sich dann bei etlichen Sachen, ob die gar nicht gehen (gehen sie meist schon, wenn man das passende Post findet) oder ob man sie optimal gelöst hat (meist nicht, weil es wieder ein Post gibt, das ein verstecktes Feature zeigt, mit dem es besser geht). Ich will mich nicht beschweren, es ist ein tolles Projekt, und super, dass es nicht nur kostenlos sondern sogar offen ist, aber die schlechte Doku führt leider dazu, dass man es Neueinsteigern viel schwerer macht, als es sein müsste.

          Kommentar


            #6
            Bei der DSL bin ich bei Dir und es wird Dir nicht großartig helfen, wenn ich Dir sage, dass die DSL in XTend realisiert wurde, Du also "nur" dort nachschauen musst.
            XTend ist in Java programmiert, woraus sich dann ergibt, dass Du an vielen Stellen Java-ähnlichen Code verwenden kannst.
            Und dann gibt es noch den Hinweis, dass Regeln in openHAB oftmals anders funktionieren als "gewöhnliche" Programme.
            Ein Programm wird z.B. gestartet und läuft dann. Eine Regel in openHAB wird ausgeführt, wenn ein bestimmtes Ereignis auftritt.
            Die Regel erledigt ihren Job und wird sofort wieder beendet.
            Am einfachsten denkst Du über die Funktion der Regel nach, wie sie sich verhalten wird.
            Wenn Du auf eine typische Laufzeit kommst, die sich deutlich über 5 Millisekunden bewegt, hast Du entweder eine Monster-Rule oder etwas falsch gemacht.

            Die 5 Millisekunden sind natürlich nicht in Stein gemeißelt, aber ein guter Anhaltspunkt. Eine Rule wird getriggert, sammelt die benötigten Daten ein, um eine Entscheidung zu treffen, trifft die Entscheidung und ist fertig. Viele Leute versuchen z.B. mit while() zu arbeiten, was in 99% der Fälle schlecht ist.

            Ansonsten ist die DSL aber so simpel wie man es halt erwarten kann und bietet dennoch fast unbegrenzte Möglichkeiten. Es gibt einige Anwender, die die DSL sehr umfassend in der Community dokumentiert haben. Weiterhin möchte ich empfehlen, dass Du VS Code installierst und das dortige openHAB Plugin einrichtest. Das Plugin verbindet sich mit einem lokalen openHAB Server und bietet so online Code Checks mit vielen Extras. Code Completion ist momentan leider kaputt, damit hättest Du sogar eine Dokumentation aller zur Verfügung stehenden Funktionen. Ich hoffe, dass das bald gefixt wird.

            Die Dokumentation im Allgemeinen ist aber sehr viel besser als bei einem Großteil anderer Projekte ähnlicher Größenordnung, allein dass die Doku vollautomatisch bei einem Build neu generiert wird, incl. Versionierung...

            Ich gebe aber zu, dass ich sicher nicht objektiv bin, denn ich bin schon seit V1.0 dabei, das war im November(?) 2012. Damals war die Dokumentation deutlich schmaler, dennoch hatte ich innerhalb fünf Minuten ein laufendes openHAB System und weitere fünf Minuten später ein erstes Licht, welches ich erfolgreich über openHAB bedienen konnte - das war um mehrere Größenordnungen schneller als bei allem, was ich bis zu dem Zeitpunkt ausprobiert hatte. Und auch danach (ich hab mir mal HASS, edomi und IOBroker angeschaut - ist schon eine Weile her) habe ich nichts gefunden, was bessere Möglichkeiten geboten hätte.
            Zuletzt geändert von udo1toni; 04.06.2023, 21:27.

            Kommentar


              #7
              Danke für Deine Tipps! Visual Studio Code macht mir leider noch Probleme, siehe hier: https://community.openhab.org/t/vs-c...ab-3/110954/16
              Ansonsten klingt das sicherlich sehr hilfreich. Vielleicht bekomme ich das noch ans Laufen.

              Viele Grüße
              Eric

              Kommentar

              Lädt...
              X