Ankündigung

Einklappen
Keine Ankündigung bisher.

kälter wirds: Heizungssteuerung mit OpenHab

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

    kälter wirds: Heizungssteuerung mit OpenHab

    Hallo,

    gerade versuche ich mich in die teilweise Heizungssteuerung mit OpenHab einzuarbeiten.
    Es hapert schon recht früh:
    Ich möchte die aktuelle Raumtemperatur anzeigen

    Habe dafür folgendes Item:
    Number Heizung_EG_Wohnraum_Stetig "Stetig [%.1f] " <heating> (Heizung) { knx="1/2/0" }

    Wenn ich den Wert mit ETS auslese, bekomme ich ein 2 Byte Objekt in der Art "0C 56 | 22,2"
    Wie kann ich diese 22,2 in dem Item ausgeben?

    Michael

    #2
    was wird denn angezeigt?
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      Ich frage mich, ob wir da irgendeinen gut versteckten Bug haben. Es gibt zwei ähnliche Reports:
      1. https://groups.google.com/d/msg/open...4/fBMB2529sJcJ
      2. Issue 135 - openhab - DTP 5.001 not shown in visu - empowering the smart home - Google Project Hosting

      Immer das gleiche Problem, wenn die Quelle KNX ist. Komischerweise funktioniert es bei mir (und Thomas) problemlos.

      Michael, kannst Du sagen, welchen DPT Du genau verwendest?

      Grüße,
      Kai

      Kommentar


        #4
        Hallo,
        inzwischen wird die Temperatur angezeigt - ohne, dass ich etwas geändert habe.
        Hat aber sicherlich gefühlt 2-3h gedauert.

        Ich habe mal versucht, verschiedene Raumtemperaturen und die Außentemperaturen tracken zu lassen (siehe Anhang)

        Bei der Außentemperatur ergibt sich eine schöne Kurve - bei den Raumfühlern scheinbar nur gelegentliche Ausschläge.

        Könnte das damit zusammenhängen?

        Michael
        Angehängte Dateien

        Kommentar


          #5
          hmm, in welchem Intervall schicken Deine RTRs denn die Temperatur?
          Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

          Kommentar


            #6
            Der eine RTR sendet nur bei Änderung und nicht zyklisch, der andere sendet alle 10 Minuten, wenn ich die Konfiguration korrekt verstehe.
            Seltsam ist aber, dass sich alle auf dieser 20 Grad-Linie einpegeln - und das auch so exakt.
            Dass ich den Ist-Wert verwende ist schon korrekt, oder?

            Michael

            Kommentar


              #7
              Update: Habe den RTR mal auf zyklisch gestellt und bekomme nun ein besseres Ergebnis.
              Aber ist das ein sinnvolles Vorgehen, sich auf diese Weise den Bus zuzumüllen?
              Mal andersrum: Kann ich eigentlich auch den Status aktiv lesen?
              Wenn ich in der ETS den Wert lese, bekomme ich ja auch in diesem Moment den korrekten Wert angezeigt.

              Michael

              Kommentar


                #8
                Hi,

                Zitat von maddog Beitrag anzeigen
                Habe den RTR mal auf zyklisch gestellt und bekomme nun ein besseres Ergebnis
                na, dass ist doch schön zu hören ...

                Zitat von maddog Beitrag anzeigen
                Aber ist das ein sinnvolles Vorgehen, sich auf diese Weise den Bus zuzumüllen?
                wenn Du in definierter Zeit eine Antwort von RTRs bekommen möchtest, wirst Du nicht drum herum kommen? Ich denke die Datenmenge ist bei sinnvollen Intervallen (~10 RTRs schicken alle ~ 15min) durchaus vertretbar.

                Zitat von maddog Beitrag anzeigen
                Mal andersrum: Kann ich eigentlich auch den Status aktiv lesen?
                Nein. Alle Items mit dem Prefix "<" werden zwar beim Startup einmal von openHAB ausgelesen, es gibt aber (bisher) keinen Pollingmechanismus, der die Werte vom Bus regelmäßig abfragt.

                Was die Buslast betrifft, hättest Du Dir damit auch eher ein Eigentor geschossen, weil es dann jedesmal den Read-Request und die zugehörige Antwort geben würde. Du würdest die Menge der Telegramme also verdoppeln.

                Gruß,

                Thomas E.-E.
                Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                Kommentar


                  #9
                  Hallo Thomas,

                  danke für die Hilfe. Dann mach ich es eben so.

                  Was hat es mit diesem <-Prefix auf sich? Wie muss ich das anwenden? Davon habe ich noch gar nichts gelesen - aber das klingt gut!

                  Michael

                  Kommentar


                    #10
                    Zitat von maddog Beitrag anzeigen
                    Was hat es mit diesem <-Prefix auf sich? Wie muss ich das anwenden? Davon habe ich noch gar nichts gelesen - aber das klingt gut!
                    Infos findest Du hier: KNXBinding - openhab - Documentation of the KNX Binding Bundle - empowering the smart home - Google Project Hosting

                    Gruß,

                    Thomas E.-E.
                    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                    Kommentar


                      #11
                      Hallo Thomas,

                      diese Seite hab ich bereits ein Dutzendmal gelesen - glaubst du, der Sinn dieser Funktion wäre mir bewusst gewesen? Danke!

                      Mit dem zyklischen Senden bekomme ich nun auch ein offenbar besseres Ergebnis - aber immer noch kommen regelmäßig diese falschen 20° Meldungen.

                      Michael
                      Angehängte Dateien

                      Kommentar


                        #12
                        hm, wo kommen denn nur diese 20° her?

                        Siehst Du die auch im Gruppenmonitor (ETS)? Könnte es sowas sein, dass Du dem Item auch noch die GA mit der Solltemperatur zugewiesen hast, die dann ebenfalls zyklisch gesendet wirst?

                        Wie lautet denn die Soll-Temperatur? Zufällig 20°?
                        Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                        Kommentar


                          #13
                          Zitat von maddog Beitrag anzeigen
                          Aber ist das ein sinnvolles Vorgehen, sich auf diese Weise den Bus zuzumüllen?
                          Mal andersrum: Kann ich eigentlich auch den Status aktiv lesen?
                          Sofern sich Dein Temperaturwert in der Tat nicht ändert, macht es auch keinen Sinn diesen ständig zyklisch auf KNX zu senden (oder abzufragen). In openHAB liegt dieser Wert ja bereits vor und ist gespeichert. Wenn Du bei jeder Änderung um 0,3 °C ein Update vom RTR schickst, reicht das normalerweise um gute Charts zu erzeugen.

                          Das Dein Chart so "löchrig" aussieht, liegt vermutlich an etwas anderem: Um eine durchgehende Linie darzustellen, braucht rrd4j in seiner Datenbank einen aktuellen Wert für jede Minute. Du hast in der rrd4j.persist vermutlich als Strategy "everyUpdate" (oder everyChange) eingetragen und versuchst nun, durch möglichst viele Status Updates die rrd4j Datenbank zu füllen. Wenn Du statt dessen ein "everyMinute" wählst, wird einfach der zuletzt bekannte Wert jede Minute gespeichert und es sollte sich ein ordentliches Chart ergeben.

                          Abgesehen davon gebe ich Thomas recht, dass es so aussieht, als überträgst Du irgendeinen Sollwert auf der gleichen GA...

                          Grüße,
                          Kai

                          Kommentar


                            #14
                            Hallo,

                            hab den Übeltäter auf dem Bus gefunden:
                            Ich hatte noch die Demo-Rule aktiv, die in dem OpenHab Beispiel existierte:

                            Code:
                            rule "Set random room temperatures"
                            	when 
                            		System started or
                            		Time cron "0 0/5 * * * ?"
                            	then
                            		Temperatur?.members.forEach(temperature|
                            			postUpdate(temperature, 20.0)
                            		)
                            end
                            Daher kamen die 20 Grad

                            Auskommentiert - und nun funktioniert es korrekt.

                            Michael

                            Kommentar


                              #15
                              ;-) prima!
                              Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                              Kommentar

                              Lädt...
                              X