Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX: openhab2 auf openhab3

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

    KNX: openhab2 auf openhab3

    Hallo zusammen,

    ich habe vor einigen Jahren openhab2 auf einen raspberryPI installiert inkl. KNX. Läuft alles stabil und prima. Nach langer Abstinenz zum Thema openhab habe ich entdeckt, dass es mittlerweile die Version 3 gibt.

    Mein Anliegen:
    Ich möchte einen Backup raspberry anlegen auf dem openhab3 läuft. Muss ich die KNX Konfiguration in openhab komplett neu anlegen, da das Binding sich grundlegend geändert hat oder kann ich es so übernehmen? Ich kommen nämlich nach Übernahme des Programmiercodes (items, rules, sitemap etc.) nicht auf den KNX Bus, obwohl das Binding "online"ist.

    Danke und VG,
    robili

    #2
    Das kommt ganz darauf an, welche Version zu in openHAB laufen hast Aber da Du eine Konfigurationsdatei nicht erwähnt hast, könnte ich mir vorstellen, dass das der Fall ist und das sind die Things.

    Unter openHAB2 bis Version 2.2 einschließlich gab es ausschließlich das knx1 Binding, welches eigentlich ein openHAB1 Binding war (aber funktionierte ja klaglos unter openHAB2). Unter openHAB3 gibt es kein Compatibility Layer mehr, das heißt, die Konfiguration sieht eventuell komplett anders aus als bei Deiner alten Installation.

    knx1: Definition der GA zwingend direkt über eine Items-Datei:
    Code:
    Switch meinSwitch "Switch [ %s]" {knx="1/1/1"}
    Die Schnittstelle wird über einen Bereich in der openhab.cfg oder alternativ über eine Datei knx.cfg im services Verzeichnis eingerichtet. Es gibt genau ein Interface

    knx2: Definition der GA zwingend über ein Thing, wahlweise über UI/API oder auch über eine things-Datei:
    Code:
    Bridge knx:ip:bridge "Mein knx IP-Interface" [
        //... Die Konfiguration der Kommunikationsschnittstelle
    ] {
        Thing device meinDevice "Mein tolles Device" {
            Type switch : ch1 "Channel 1" [ga="1/1/1"]
        }
    }
    In der items Datei muss man dann den Channel angeben:
    Code:
    Switch meinSwitch "Switch [ %s]" {channel="knx:device:bridge:meinDevice:ch1"}
    Auf den ersten Blick komplizierter, dafür kannst Du aber beliebig viele knx Universen gleichzeitig nutzen, außerdem ist die gesamte Konfiguration der knx-Seite an einem Ort versammelt (und man kann die Konfiguration auch komplett über die UI vornehmen).

    Kommentar


      #3
      Besten Dank, das hat prima geklappt, die bestehende Konfiguration aus Lichtern und Rollladen funktioniert nun.

      Ich hatte bislang noch nicht die Heizungssteuerung -> Sollwertverschiebung (MDT Glastaster und MDT Heizungsaktor) per openHAB vorgenommen.

      Ich habe einige Möglichkeiten ausprobiert, leider ohne Erfolg. (die Temperaturen der Glastaster kann ich mir allerdings problemlos anzeigen lassen)

      Aktuell sieht es so aus:

      ITEMS:
      Code:
      Switch eg_wohnzimmer_temp_einstellen "Set Temperatur" (gWohnzimmer) { channel="knx:device:bridge:eg_wohnzimmer_temp_einstellen", autoupdate="false" }
      //Setpoint item=eg_wohnzimmer_temp_einstellen minValue=18.0 maxValue=25.0 step=0.5
      ​
      THINGS:
      Code:
      Type switch : eg_wohnzimmer_temp_einstellen "Thermostat einstellen [%.1f °C]"  [ ga="1/1/4" ]
      SITEMAP
      Code:
       sitemap knx label="Haus" {
       Frame label="Erdgeschoss" {
        Group item=gWohnzimmer      label="Wohn- und Esszimmer"     icon="sofa"
        Group item=gKind1             label="Kinderzimmer1"              icon="boy_3"
        Group item=gKueche          label="Küche"                   icon="kitchen"
        Group item=gFlur            label="Flur"                    icon="corridor"
        Group item=gGarten          label="Garten"                  icon="garden"
        }
       Frame label="Obergeschoss" {
        Group item=gSchlafzimmer    label="Schlafzimmer"            icon="bedroom"
        Group item=gKind2           label="Kinderzimmer2"                   icon="girl_3"
        Group item=gBuero           label="Büro"                    icon="office"
        Group item=gBadezimmer      label="Badezimmer"              icon="bath"
       }
       //Frame label="Zeitschaltuhr" {
         //Text item=Sunrise_Time
         //Text item=Sunset_Time
         //}  
      }​
      Zuletzt geändert von robili; 01.12.2022, 13:45.

      Kommentar


        #4
        Das Group Widget hat noch nie Number Items auf Setpoint aufgelöst. Du musst die Sitemap ausformulieren und nicht mit dreckigen Abkürzungen arbeiten

        Kommentar


          #5
          Vielen Dank für den Tipp. Ich habe nun zumindest das gewünschte Widget, und es wird auch dort angezeigt, wo ich es haben möchte. Allerdings noch ohne Funktion. Es wird die Soll-Temperatur noch nicht angezeigt und die Sollwertverschiebung klappt damit natürlich auch noch nicht. Was muss ich noch ändern, damit es klappt? ​

          Sitemap
          Code:
          sitemap knx label="Haus" {
           Frame label="Erdgeschoss" {
              Group item=gWohnzimmer label="Wohn- und Esszimmer" icon="sofa" {
              Switch item=eg_wohnzimmer_deckenlampe  
              Setpoint item=eg_wohnzimmer_temp_soll minValue=18.0 maxValue=23.0 step=0.5
          }
          }
          }​
          ITEMS
          Code:
          Number eg_wohnzimmer_temp_ist "Temperatur WZ [%.1f °C]"  <temperature> [ "TargetTemperature" ]  { channel="knx:device:bridge:bridge:eg_wohnzimmer_temp_ist" }
          Number eg_wohnzimmer_temp_soll "Temperatur WZ [%.1f °C]" <temperature> [ "TargetTemperature" ]  { channel="knx:device:bridge:bridge:eg_wohnzimmer_temp_soll" }
          ​
          THINGS
          Code:
          Type number : eg_wohnzimmer_temp_ist    "Ist WZ"                    [ ga="9.001:1/1/3" ]
                  Type number : eg_wohnzimmer_temp_soll   "Sollwert WZ"               [ ga="9.001:1/1/4+<1/1/5" ]​

          GA 1/1/3= Temperaturmesswert
          GA 1/1/4= Sollwertverschiebung
          GA 1/1/5= Aktueller Sollwert
          Angehängte Dateien

          Kommentar


            #6
            Noch mal einen Schritt zurück.

            Es gibt zwei verschiedene Methoden, den Sollwert zu verschieben.
            Methode 1 ist den Wandtastern nachempfunden. Eine 1 erhöht den Wert um einen Schritt, eine 0 verringert den Wert um einen Schritt. je nach eingestellter Schrittweite, z.B. 0,5°C, musst Du also z.B. vier mal eine 1 senden, um die Solltemperatur von 20°C auf 22°C zu ändern. Das KO für die Sollwertverschiebung hat dann einen DPT 1.xxx, also ein Bit breit.
            Methode 2 nutzt den Absolutwert. Der Sollwert wird direkt gesetzt. Der DPT des KO entspricht in diesem Fall fast immer dem der Meldung des Sollwertes.

            Beide Methoden funktionieren mit openHAB, für Methode 1 brauchst Du aber einen anderen Aufbau, nämlich ein Hilfsitem, welches nur die Befehle (wärmer/kälter) entgegen nimmt und nach knx sendet. Der Status wird dann rückgemeldet und erscheint über die Anzeige, die in diesem Fall nur Anzeige ist. Also schau mal, mit welchem KO die GA 1/1/4 verknüpft ist, Sollwert setzen (Absolutwert) oder Sollwertverschiebung (relativ)

            Weiter: Du zeigst leider ausschließlich Channel, aber kein Thing. Das ist ungünstig, denn der von Dir genutzte Link in den Items sieht nicht korrekt aus. Woher kommt dieser Link?

            Kommentar


              #7
              Oha, ich hatte einen Kopierfehler im Channel (1x bridge zu viel)... Danke für den Tipp, habe ich behoben und tada.... funktioniert. Besten Dank für die Top Erklärungen!

              Kommentar


                #8
                Prima!
                Tipp am Rande: Wenn Du mit Textdateien für die Konfiguration arbeiten willst (ich mache das auch...) schau Dir unbedingt VSCode und das zugehörige openHAB Plugin an. #
                Richtig konfiguriert (man gibt die Serveradresse und ein paar weitere Daten an) kannst Du damit fast komfortabler konfigurieren als über die UI, es gibt eine Liste der konfigurierten Things, aus der heraus man komplett die Items erzeugen lassen kann (so dass man nur noch anpassen muss - speziell die Links sind schon komplett richtig eingetragen...), genauso kann man Items und Channel in Rules eintragen lassen. Man wird auf fehlerhafte Schlüsselworte hingewiesen und bekommt die Items in Baumstruktur angezeigt (nach Gruppen geordnet, Items tauchen also eventuell auch mehrfach in der Liste auf, wenn sie in mehreren Gruppen sind). Things werden mit Online-Zustand angezeigt, Items werden mit aktuellem Status angezeigt - in Rules kann man mit Mouseover den Zustand und die Memberships sehen, und es gibt noch vieles mehr, was die Arbeit mit openHAB und Dateien wahrlich zum Vergnügen macht. VS Code ist OpenSource und kostenlos.

                Kommentar

                Lädt...
                X