FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stobor am 21 Mai 2020, 17:54:24

Titel: Variablen initialisieren und verwenden bei Zeitsteuerung (on-for-timer & Timer)
Beitrag von: stobor am 21 Mai 2020, 17:54:24
Hallo,

ich habe da gleich mehrere Fragen:

Ich würde gern eine Variable in fhem nutzen, die einen Wert zwischen 1 und 59 annehmen kann ; initialisiert mit 30.

Diese Variable soll verwendet werden, um in fhem Timer zu modifizieren/definieren. z.B.:
define myTimer at +00:45:00 {zzgl. Variablenwert (in min)}  set mySwitch on-for-timer {Variablenwert}
oder
define myTimer2 at *05:00:00 zzgl. Variablenwert (in min)}



Wie kann ich diese Variable über die TabletUI einstellen?
Ich dachte da an einen Drehknopf:
<div data-type="knob"
data-device="meineVariable"
data-min="1"
data-max="59"
data-step="1"
data-unit="min"
data-fgcolor="blue"
class="display-center tall">
</div>

Wie muss ich den Knopf ggf. anpassen?

Danke für eure Hilfe.
Titel: Antw:Variablen initialisieren und verwenden bei Zeitsteuerung (on-for-timer & Timer)
Beitrag von: Otto123 am 21 Mai 2020, 23:27:16
Hi,

eine Variable in FHEM ist im weitesten Sinne ein Reading in einem Device. Das kannst Du mit Funktionen wie ReadingsVal() auslesen siehe https://fhem.de/commandref_DE.html#perl

Zum Üben kannst Du einen Dummy nehmen. Code für die Raw Def
define variable dummy
setreading variable wert 30


für die Zeit musst Du rechnen. siehe perfunc https://fhem.de/commandref_DE.html#at
und Rechnen mit Zeitangaben https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit

Oder einfach noch ein sleep nehmen:
define myTimer at +00:45:00 {my $zeit=ReadingsNum('variable','wert',0)*60;;fhem("sleep $zeit;;set mySwitch on-for-timer $zeit}

Bei set ... geht auch set magic siehe Doku für set https://fhem.de/commandref_DE.html#set
set mySwitch on-for-timer [variable:wert]

Wie das mit TabletUI geht kann nicht nicht sagen.

Gruß Otto