Homematic Script Min und Max Temperatur in Variable schreiben

Haben Sie sich schon einmal gefragt, um welche Uhrzeit Nachts die kälteste Temperatur war?
Kein Problem. Dazu erstellen wir ein kleines Script und lassen die Werte beim jeweiligen Zustand in eine Variable setzen.
Diese Werte lassen sich nun super in Programmen benutzen und über die Favoriten kann man diese auch direkt auf der Startseite der CCU anzeigen lassen.

Los geht’s!

  • Variablen anlegen
  • Quicktipp: Variable anlegen

      Typ Zahl (Minimalwert: -59, Maximalwert: 59) und Maßeinheit °C:

    • Außentemperatur Max Gestern
    • Außentemperatur Max Heute
    • Außentemperatur Min Gestern
    • Außentemperatur Min Heute
      Typ Zeichenkette und Maßeinheit h:

    • Außentemperatur Max Zeit
    • Außentemperatur Min Zeit
  • Programm 1 anlegen
  • Quicktipp: Programm anlegen

    • Bedingung: Wenn… bei Aktualisierung auslösen vom Temperatursensor im Wertebereich größer oder gleich -59.00 °C
    • Aktivität: Dann… Script einfügen
    • !Temperaturvariablen setzen
      !Script by www.homematic-guru.de
      var curTemp = dom.GetObject("W_Temperatur").Value();
      var maxTemp = dom.GetObject("Außentemperatur Max Heute").Value();
      var minTemp = dom.GetObject("Außentemperatur Min Heute").Value();
      
      if (curTemp > maxTemp) {
      dom.GetObject("Außentemperatur Max Heute").State(curTemp);
      dom.GetObject("Außentemperatur Max Zeit").State(system.Date("%H:%M "));
      }
      if (curTemp < minTemp) {
      dom.GetObject("Außentemperatur Min Heute").State(curTemp);
      dom.GetObject("Außentemperatur Min Zeit").State(system.Date("%H:%M "));
      }
      
  • Programm 2 anlegen
    • Bedingung: Wenn… Zeitsteuerung Serienmuster täglich jeden Tag, Zeitpunkt 00:00 Uhr
    • Aktivität: Dann… Script einfügen
    • ! Temperatur Werte Min-Max übertragen
      ! Script by www.homematic-guru.de
      var curTemp = dom.GetObject("W_Temperatur").Value();
      var maxTemp = dom.GetObject("Außentemperatur Max Heute").Value();
      var minTemp = dom.GetObject("Außentemperatur Min Heute").Value();
      dom.GetObject("Außentemperatur Max Gestern").State(maxTemp);
      dom.GetObject("Außentemperatur Min Gestern").State(minTemp);
      dom.GetObject("Außentemperatur Max Heute").State(curTemp);
      dom.GetObject("Außentemperatur Min Heute").State(curTemp);
      dom.GetObject("Außentemperatur Max Zeit").State("00:00 h");
      dom.GetObject("Außentemperatur Min Zeit").State("00:00 h");
      

    Fertig!

    Achtung: Die Variable W_Temperatur in beiden Scripten muss durch eure Variable bzw. Temperatursensor-ID ersetzt werden. Habt ihr keine Variable mit der Außentemperatur bzw. nur einen lokalen Temperatursensor, so muss

    dom.GetObject("W_Temperatur").Value();

    durch

    dom.GetObject("BidCos-RF.IEQ1234567:1.TEMPERATURE");

    (mit eurer Geräte-ID) ersetzt werden.
    In diesem Beispiel wurde die Variable „W_Temperatur“ durch ein Script gefüllt, das die aktuellen Wetterdaten aus meinem Ort über eine API-Schnittstelle von wunderground.com abholt. Wie das funktioniert, könnt ihr auf dieser Seite nachlesen 🙂

    Verwendete Hardware

  • Homematic Temperatursensor

  • Funktionsweise

    Das Script wird bei jeder Aktualisierung des Temperatursensors ausgelöst und prüft ob die aktuelle Temperatur den heute niedrigsten oder höchsten Wert unterschreitet bzw. überschreitet und schreibt im positiven Fall dann den Wert inkl. Uhrzeit in die entsprechenden Variablen. Am nächsten Tag werden die heutigen min-max Werte dann in die Variablen min-max gestern übertragen und die heutigen min-max Werte mit der aktuellen Temperatur gesetzt.

    Dir hat der Beitrag gefallen?

    Trage dich kostenlos & unverbindlich in den Newsletter ein
    und verpasse keinen Beitrag mehr!

    Schaue auch gerne auf Facebook vorbei: