weekprofile

Aus FHEMWiki
Version vom 15. Januar 2016, 10:54 Uhr von Ph1959de (Diskussion | Beiträge) (Infobox eingefügt + diverse kleine Korrekturen)


weekprofile
Zweck / Funktion
Verwaltung von Wochenprofilen für Heizungssteuerung
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Frontends
Modulname 98_weekprofile.pm
Ersteller Risiko
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Das Modul weekprofile stellt Funktionen zur Verwaltung von Wochenprofilen für Heizkörperthermostate zur Verfügung und unterstützt die folgenden Systeme:

Es ist möglich, verschiedene Wochenprofile anzulegen, zu kopieren, zu ändern und zu löschen. Außerdem können die erstellten Profile den entsprechenden Devices zugewiesen werden. Ein Import bestehender Profile aus den Devices ist nicht möglich.

Eingabeformat für Wochenprofile

Die Wochenprofile werden mit dem Befehl

set <name> profile_data <profilename> <json data>

angelegt. Die eigentlichen Daten liegen dabei in einer JSON Datenstruktur, die wie folgt aussieht:

{
  "Sun": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Sat": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Thu": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Fri": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Tue": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Wed": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  },
  "Mon": {
    "time": [
      "06:00",
      "22:00",
      "24:00"
    ],
    "temp": [
      "20.0",
      "22.0",
      "20.0"
    ]
  }
}

Es handelt sich dabei um eine unsortierte Liste von "Tages-Objekten", die wiederum eine unsortierte Liste von Schlüssel-Werte Paaren enthält. Die beiden verwendeten Schlüssel "time" und "temp" für Zeit und Temperatur verweisen jeweils auf eine sortierte Liste mit Werten.

Der Schlüssel "time" enthält die Liste der gewünschten Zeitpunkte, zu denen ein Temperaturwechsel stattfinden soll. Die Zeitangaben müssen im Format "hh:mm" angegeben werden. Falls für den ganzen Tag nur eine Temperatur verwendet werden soll, so ist als Zeitpunkt "24:00" anzugeben.

Der Schlüssel "temp" enthält die Temperaturen, die zu den in "time" hinterlegten Schaltzeitpunkten eingestellt werden sollen. Dabei entspricht die Reihenfolge der Temperaturen der Reihenfolge der Zeitpunkte in "time".

Zur Übergabe an FHEM sollte die JSON Struktur von sämtlichen Formatierungen (Zeilenumbrüche, Tabs, überflüssige Leerzeichen) bereinigt werden, so dass ein einzeiliger String entsteht. Für das oben angegebene Beispiel würde das dann so aussehen:

{"Sun":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Sat":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Thu":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Fri":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Tue":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Wed":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]},"Mon":{"time":["06:00","22:00","24:00"],"temp":["20.0","22.0","20.0"]}}

Für eine einfache Bearbeitung der JSON Daten empfiehlt sich ein JSON-Editor wie z.B. [1].