Variablen initialisieren und verwenden bei Zeitsteuerung (on-for-timer & Timer)

Begonnen von stobor, 21 Mai 2020, 17:54:24

Vorheriges Thema - Nächstes Thema

stobor

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 erzeuge ich eine solche Variable - mit Initialisierung auf 30?
  • Wie erstelle ich den Timer, mit einem variablen Startzeitpunkt?
  • Wie setze ich das in die FS20 on-for-timer Steuerung ein?


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.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz