[gelöst] Uhrzeit in DOIF als Variable angeben

Begonnen von McShire, 15 Januar 2018, 21:37:40

Vorheriges Thema - Nächstes Thema

McShire

Liebe FHEM-Gemeinde,

ich bin ein blutiger Anfänger mit den ersten Schritten und brauche dringend Hilfe, um einiges dazuzulernen.

Meine Konfiguration ist
-Raspi mit FHEM
-NanoCUL 433 Selbstbau mit CC1101
-NanoCUL 868 als MaxCULSelbstbau mit CC1101
-Brennstuhl Steckdosen zu Schalten
-SH5-RBS-04A (Smartware) zum Licht schalten (funktioniert gut, kann ich empfehlen)
- MAX! Heizkörperthermostate direkt am MaxCUL
- Netatmo 2x Innen, 1x Aussen über Netatmo-Modul

und eine Fußbodenheizung mit manuellem Mischventil und einer Umwälzpumpe im Vorlauf.
Diese Fußbodenheizung steuere ich jetzt, nachdem alles soweit funktioniert,
indem ich mit Netatmo die Raumtemperatur messe und damit die Pumpe ein- und ausschalte.
durch eine sehr kleine Hysterese 0,1 Grad C bekommt man das trotz der großen Verzögerung ganz gut geregelt
wenn der Mischer ordentlich eingestellt ist.

Jetzt zu meinem Problem:
Aktuell führe ich die Steuerung mit einer DOIF Anweisung durch, in der Uhrzeiten direkt eingegeben sind.
das sieht so aus:
(([netatmo_M03_00_00_00_d9_aa:temperature] > [WoZi_Temp_Tag:state]) and [05:00-20:00]) (set Brennstuhl1A off) DOELSEIF (([netatmo_M03_00_00_00_d9_aa:temperature] < ([WoZi_Temp_Tag:state] - 0.1)) and [05:00-20:00]) (set Brennstuhl1A on) DOELSEIF (([netatmo_M03_00_00_00_d9_aa:temperature] > [WoZi_Temp_Nacht:state]) and [00:01-05:00]) (set Brennstuhl1A off) DOELSEIF (([netatmo_M03_00_00_00_d9_aa:temperature] < ([WoZi_Temp_Temp:state] - 0.1)) and [00:00-05:00]) (set Brennstuhl1A on) DOELSEIF (([netatmo_M03_00_00_00_d9_aa:temperature] > [WoZi_Temp_Nacht:state]) and [20:00-24:00]) (set Brennstuhl1A off) DOELSEIF (([netatmo_M03_00_00_00_d9_aa:temperature] < ([WoZi_Temp_Nacht:state] - 0.1)) and [20:00-24:00]) (set Brennstuhl1A on) 
und funktioniert auch.

Jetzt möchte ich die Uhrzeiten aber nicht in der DOIF Anweisung verdrahten sondern als Variablen über das WebFrontend eingeben können.
Ich habe schon viel gelesen und versucht, aber das Problem ist die Timespec. Wie kann ich Variablen mit dem richtigen Format HH:MM:SS belegen, damit das Interval oder aber auch die Einzelzeit in einer at Kommandozeile richtig verarbeitet werden?
z.B bei DOIF ([TagBeginn]) (set SollTemp ...) DOELSIF ([NachtBeginn]) (set SollTemp ...) bekomme ich immer nur Fehler, auch wenn TagBeginn eine Uhrzeit 05:00:00 zugewiesen wurde. Perl kann ich leider nur ganz begrenzt, so dass ich das mit einer perlfunc() oder wie auch immer nicht hinbekomme.

Vielleicht kann mir jemand eine Lösung aufzeigen, die auch ein Anfänger versteht.
Gruß an alle


Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

McShire

Hallo Damian,
Danke für den Hinweis.
Ich habe immer übersehen, dass eine doppelte eckige Klammer gesetzt werden muss.
Jetzt geht alles.
Werner

KernSani

dann bitte noch [Gelöst] vor das Subject des ersten Posts
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...