Hi zusammen,
ich bräuchte bitte Eure Hilfe bei folgendem Problem.
Ich möchte eine Funksteckdose bis zu einer bestimmten Uhrzeit schalten. Die Uhrzeit ist variabel und wird über den Dummy "ZeitschaltAus" bestimmt.
set FunksteckdoseSwitch on-till {sprintf("%02d:%02d:%02d",Value("ZeitschaltAus"))}
funktioniert einwandfrei.
Wenn ich allerdings eine weitere Verschachtelung mit Verweis auf FHEM-code hinzufüge funktioniert es nicht. Dieser komplizierte Ansatz ist durch Einbettung in eine if-Bedingung erforderlich.
{fhem"set FunksteckdoseSwitch on-till {sprintf("%02d:%02d:%02d",Value("ZeitschaltAus"))}"}
funktioniert nicht. Ein Syntaxfehler wird ausgegeben.
Der ganze Code der at-Anweisung lautet übrigens
*{sunset(-900)} {if (Value("Zeitschaltuhr") eq "on") {fhem"set FunksteckdoseSwitch on-till {sprintf("%02d:%02d:%02d",Value("ZeitschaltAus"))}"}}
Mit dem Dummy "Zeitschaltuhr" wird bestimmt, ob ein Schalten der Funksteckdose kurz vor Sonnenuntergang überhaupt berücksichtigt werden soll.
Mir ist klar, dass der Fehler bei der doppelten Verschachtelung liegt, ich finde aber keinen Hinweis auf eine Lösung.
Über Hinweise und Tipps wäre ich sehr dankbar.
Es sind die Anführungszeichen. Versuch's mal so:
{fhem "set FunksteckdoseSwitch on-till {sprintf('%02d:%02d:%02d',Value('ZeitschaltAus'))}"}
Super.... Vielen Dank.... Gelöst
Es waren die Anführungszeichen
Hallo,
ein Gelöst im Beitrag ist zu wenig.
Bitte den Betreff des ERSTEN Beitrags als Gelöst kennzeichnen.
Warum liest eigentlich niemand die angepinnten Beiträge >:(
Grüße
Mein Vorschlag bleibt, dass jeder Neuling vor dem ersten Post einen Test bestehen muss, in dem das Wissen abgefragt wird, dass er aus den genannten Beiträgen holen kann ;)
Moin,
ein kurzer Nachtrag zur Lösung. Ich war doch etwas zu früh zu euphorisch.
Wenn ich
{fhem "set FunksteckdoseSwitch on-till {sprintf('%02d:%02d:%02d',Value('ZeitschaltAus'))}"}
eingebe, springt die HM-Funksteckdose zwar an aber sie geht nicht mehr aus.
Im Log steht der Eintrag:
set FunksteckdoseSwitch on-till {sprintf('%02d:%02d:%02d',Value('ZeitschaltAus'))}
Es wird also keine Endzeit angegeben.
Der folgende Code funktioniert bis jetzt:
{fhem"set FunksteckdoseSwitch on-till " .Value("ZeitschaltAus")}}
So, jetzt ist das Problem gelöst. Besten Dank nochmal für die Hilfe