SmartVISU/Universelle ZeitSchaltUhr (UZSU): Unterschied zwischen den Versionen
(Auslagerung des Themas UZSU aus dem fronthem Artikel.) |
(Kategorie geändert) |
||
Zeile 78: | Zeile 78: | ||
Voila! | Voila! | ||
[[Kategorie: | [[Kategorie: fronthem/smartVISU]] |
Aktuelle Version vom 26. Juni 2016, 15:56 Uhr
Dieser Artikel behandelt die Einrichtung einer universellen Zeitschaltuhr innerhalb des Frontends smartVISU.
Es existiert ein Widget für eine universelle ZeitSchaltUhr auf GitHub unter https://github.com/herrmannj/smartvisu-widgets beziehen
Dank dafür an mworion!
Man muss dazu die uzsu_widget.html in das eigene Verzeichnis in ../pages/.. kopieren und die visu.js und die visu.css in seine Installation integrieren (Achtung, wenn die beiden Dateien schon bestehen, dann muss man das manuell zusammenkopieren!)
Das Widget kann in SmartVISU-Seiten wie gewohnt eingebunden werden:
(für ein Ergebnis, das der Benutzer direkt eintippen kann, z.B. 'on' oder 'off')
{% import "widget_uzsu.html" as visu %} {{ visu.uzsu_icon('UZSUtxt', gad_uzsu, '', '', '', '', 'text') }}
oder Text als Dropdown:
{% import "widget_uzsu.html" as visu %} {{ visu.uzsu_icon('UZSUtxt', gad_uzsu, '', '', '', '', 'text', ['an', 'aus']) }}
oder (für eine einzugebende Ziffer zwischen 0 und 100)
{% import "widget_uzsu.html" as visu %} {{ visu.uzsu_icon('UZSUnum', gad_uzsu, '', '', '', '', 'num', [0, 100]) }}
oder (für ein Ergebnis {0,1}, das aber als flip mit 'an' und 'aus' angezeigt wird)
{% import "widget_uzsu.html" as visu %} {{ visu.uzsu_icon('UZSUnum', gad_uzsu, '', '', '', '', 'bool', ['an', 'aus']) }}
Um die Antwort des Widgets in fhem zu verarbeiten, benötigt man
1. je ein Reading uzsu an dem zu schaltenden Device, das man mit
setreading <device> uzsu {}
erzeugen MUSS.
2. eine Anbindung des UZSU-GAD per UZSU Converter aus der 99_fronthemUtils.pm (s. u.) an das Reading uzsu des zu schaltenden Device read und write in fhem
3. Den sonstigen UZSU Code aus der 99_FronthemUtils.pm aus dem http://github.com/herrmannj/fronthem (ist bei aktuellem fronthem alles schon drin)
Dieser Code erzeugt aus den Einstellungen im Widget entsprechende WeekdayTimer in fhem und löscht und erstellt neu bei jeder Änderung in SmartVISU.
4. Die Funktion muss getriggert werden. Dazu ist ein notify nötig, das auf die Veränderung der uzsu Readings reagiert:
define UZSU notify .*:uzsu:.* { UZSU_execute($NAME, $EVTPART1) }
5. GAD Editor Einstellungen:
mode: item device: <DEIN_DEVICE> reading: uzsu converter: UZSU cmd set: uzsu
Voila!