Weekprofile: Unterschied zwischen den Versionen
K (Infobox eingefügt + diverse kleine Korrekturen) |
|||
Zeile 1: | Zeile 1: | ||
== | {{SEITENTITEL:weekprofile}} | ||
{{Infobox Modul | |||
|ModPurpose=Verwaltung von Wochenprofilen für Heizungssteuerung | |||
|ModType=d | |||
|ModForumArea=Frontends | |||
|ModCmdRef=weekprofile | |||
|ModTechName=98_weekprofile.pm | |||
|ModOwner={{Link2FU|7869|Risiko}} | |||
}} | |||
Das Modul [[weekprofile]] stellt Funktionen zur Verwaltung von Wochenprofilen für Heizkörperthermostate zur Verfügung und unterstützt die folgenden Systeme: | |||
* [[MAX]] | * [[MAX]] | ||
* [[HomeMatic]] | * [[HomeMatic]] | ||
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 == | == Eingabeformat für Wochenprofile == | ||
Die Wochenprofile werden mit dem Befehl | |||
:<code>set <name> profile_data <profilename> <json data></code> | |||
angelegt. Die eigentlichen Daten liegen dabei in einer [https://de.wikipedia.org/wiki/JavaScript_Object_Notation JSON] Datenstruktur, die wie folgt aussieht: | |||
<pre style="width:300px;">{ | |||
"Sun": { | "Sun": { | ||
"time": [ | "time": [ | ||
Zeile 100: | Zeile 108: | ||
</pre> | </pre> | ||
Es handelt sich dabei um eine unsortierte Liste von "Tages-Objekten", die wiederum eine unsortierte Liste von Schlüssel - Werte | 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 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". | 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 | 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: | ||
<code><nowiki>{"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"]}}</nowiki></code> | <code><nowiki>{"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"]}}</nowiki></code> | ||
Für eine einfache Bearbeitung der JSON Daten empfiehlt sich ein JSON-Editor wie z.B. [http://www.jsoneditoronline.org/]. | Für eine einfache Bearbeitung der JSON Daten empfiehlt sich ein JSON-Editor wie z.B. [http://www.jsoneditoronline.org/]. |
Version vom 15. Januar 2016, 10:54 Uhr
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].