Gemeinsamer Wertetyp für "at +" und "on-for-timer"

Begonnen von butaluk, 18 Juli 2019, 14:16:56

Vorheriges Thema - Nächstes Thema

butaluk

Hallo Zusammen,

gibt es einen Wertetyp den man sowie beim "at" als auch beim "on-for-timer" anwenden kann?

Ich habe einen dummy mit dem ich eine Zeit in Sekunden einstellen kann:

define Umschaltdauer_Ventile dummy
attr Umschaltdauer_Ventile alias Umschaltdauer der Ventile [s]:
attr Umschaltdauer_Ventile devStateIcon .*:rc_BLANK
attr Umschaltdauer_Ventile group Ventile Einstellungen
attr Umschaltdauer_Ventile icon time_timer
attr Umschaltdauer_Ventile room Garten
attr Umschaltdauer_Ventile setList state:slider,1,1,20
attr Umschaltdauer_Ventile webCmd state


Der dummy gibt den Ganzzahlwert zurück den ich beim "on-for-timer" anwenden kann.
on-for-timer [Umschaltdauer_Ventile:state]

Ich möchte gerne den selben dummy auch für "at" verwenden
at +{Value("Umschaltdauer_Ventile")}

Das Problem ist, die "at" Funktion erwartet eine Zeit Eingabe.
Fehlermeldung:
the function "Value("Umschaltdauer_Ventile")" must return a timespec and not 5.

Beta-User

Da du bei dem at ja eh' schon auf der Perl-Ebene bist, kannst du die Sekundenangabe ja auch via Perl in eine gültige HH:MM:SS-Angabe umwandeln.

Schau mal, was du mit dem hier zurückbekommst:
{FmtTime(Value("Umschaltdauer_Ventile")+gettimeofday())}
(Anleihe aus fhem.pl: TimeNow())
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DeeSPe

Da deine Sekunden bis maximal 20 gehen ist es doch ganz einfach:
at +{"00:00:".Value("Umschaltdauer_Ventile")}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

butaluk

Danke für Eure Tipps! Werde die Tage testen.
Zitat von: DeeSPe am 18 Juli 2019, 15:10:43
Da deine Sekunden bis maximal 20 gehen ist es doch ganz einfach:
at +{"00:00:".Value("Umschaltdauer_Ventile")}

Gruß
Dan
Und wenn es in Minuten oder Stunden rüber geht?

Gruß

rudolfkoenig