SmartVISU/Universelle ZeitSchaltUhr (UZSU): Unterschied zwischen den Versionen

Aus FHEMWiki
(Anpassung auf aktuelle smartVISU Version (ab v2.9))
KKeine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
Dieser Artikel behandelt die Einrichtung einer universellen Zeitschaltuhr innerhalb des Frontends [[smartVISU]].  
Dieser Artikel behandelt die Einrichtung einer universellen Zeitschaltuhr innerhalb des Frontends [[smartVISU]].  


==== UZSU-Widget ====
Das Widget „device.uzsuicon“, mit dem alle Einstellungen vorgenommen werden, ist als Standard in smartVISU enthalten. Es  kann in SmartVISU-Seiten wie gewohnt eingebunden werden:
Das Widget „device.uzsuicon“, mit dem alle Einstellungen vorgenommen werden, ist als Standard in smartVISU enthalten. Es  kann in SmartVISU-Seiten wie gewohnt eingebunden werden:


Zeile 11: Zeile 12:


  <nowiki>{{ device.uzsuicon('UZSUtxt', gad_uzsu, '', '', '', 'text', ['an', 'aus']) }}</nowiki>
  <nowiki>{{ device.uzsuicon('UZSUtxt', gad_uzsu, '', '', '', 'text', ['an', 'aus']) }}</nowiki>


oder (für eine einzugebende Ziffer zwischen 0 und 100)
oder (für eine einzugebende Ziffer zwischen 0 und 100)
Zeile 20: Zeile 19:
  <nowiki>{{ device.uzsuicon('UZSUnum', gad_uzsu, '', '', '', 'bool', ['an', 'aus']) }}</nowiki>
  <nowiki>{{ device.uzsuicon('UZSUnum', gad_uzsu, '', '', '', 'bool', ['an', 'aus']) }}</nowiki>


Weitere Beispiele sind in der Inline-Doku von smartVISU zu finden oder können mit dem Widget-Assistenten live ausprobiert werden.


 
=== fronthem ===
 
Weitere Beispiele sind in der Inline-Doku von smartVISU zu finden oder können mit dem Widget-Assistenten live ausprobiert werden.
Um die Antwort des Widgets in fhem zu verarbeiten, benötigt man  
Um die Antwort des Widgets in fhem zu verarbeiten, benötigt man  


Zeile 43: Zeile 40:
4. Die Funktion muss getriggert werden. Dazu ist ein notify nötig, das auf die Veränderung der uzsu Readings reagiert:
4. Die Funktion muss getriggert werden. Dazu ist ein notify nötig, das auf die Veränderung der uzsu Readings reagiert:


  <nowiki>
   
 
define UZSU notify .*:uzsu:.* { UZSU_execute($NAME, $EVTPART1) }
define UZSU notify .*:uzsu:.* { UZSU_execute($NAME, $EVTPART1) }
 
</nowiki>


5. GAD Editor Einstellungen:
5. GAD Editor Einstellungen:

Version vom 4. Juni 2025, 23:49 Uhr

Dieser Artikel behandelt die Einrichtung einer universellen Zeitschaltuhr innerhalb des Frontends smartVISU.

UZSU-Widget

Das Widget „device.uzsuicon“, mit dem alle Einstellungen vorgenommen werden, ist als Standard in smartVISU enthalten. Es kann in SmartVISU-Seiten wie gewohnt eingebunden werden:

(für ein Ergebnis, das der Benutzer direkt eintippen kann, z.B. 'on' oder 'off')

{{ device.uzsuicon('UZSUtxt', gad_uzsu, '', '', '', 'text') }}

oder Text als Dropdown:

{{ device.uzsuicon('UZSUtxt', gad_uzsu, '', '', '', 'text', ['an', 'aus']) }}

oder (für eine einzugebende Ziffer zwischen 0 und 100)

{{ device.uzsuicon('UZSUnum', gad_uzsu, '', '', '', 'num', [0, 100]) }}

oder (für ein Ergebnis {0,1}, das aber als flip mit 'an' und 'aus' angezeigt wird)

{{ device.uzsuicon('UZSUnum', gad_uzsu, '', '', '', 'bool', ['an', 'aus']) }}

Weitere Beispiele sind in der Inline-Doku von smartVISU zu finden oder können mit dem Widget-Assistenten live ausprobiert werden.

fronthem

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!