All,
ich versuche mittels WebCmd einen Button/Link einzufügen mit dem ein "on-till 16:00:00" (für einen CUL_HM Switch) mittels eines Klicks gesetzt werden kann.
Leider scheitere ich daran, den String mit den Doppelpunkten korrekt zu escapen - ich habe intensivst gesucht und alle mir bekannten Varianten versucht (liste die alle mal aber aus Vereinfachungsgründen nicht).
Die einfachste (und ganz offensichtlich nicht korrekte) war:
attr SW_Licht webCmd on:off:'on-till 16:00:00'
oder auch
attr SW_Licht webCmd on:off:on-till '16/x3a00/x3a00'
oder ...
Wie geht's denn richtig?
Vielen Dank dafür!
Gruss,
Tom
Hast Du es mal mit escapen der Doppelpunkte probiert?
attr SW_Licht webCmd on:off:on-till 16\:00\:00
Gruß
Dan
Hi, ja hatte ich.
Dann sieht es so wie im Anhang aus - der String wird in einzelne klickbare Links aufgeteilt, die jeweils als einzelne Argumente interpretiert werden - d.h. auch der "Escapte" Doppelpunkt wird weiterhin als Trennzeichen für die Argumente interpretiert.
Das funktioniert also leider nicht.
Gruss,
Tom
Zitat von: Tomo am 21 März 2019, 10:14:01
Hi, ja hatte ich.
Dann sieht es so wie im Anhang aus - der String wird in einzelne klickbare Links aufgeteilt, die jeweils als einzelne Argumente interpretiert werden - d.h. auch der "Escapte" Doppelpunkt wird weiterhin als Trennzeichen für die Argumente interpretiert.
Das funktioniert also leider nicht.
Gruss,
Tom
Einde funktionierende Möglichkeit wäre z.B. mit widgetOverride:
attr SW_Licht webCmd on:off:on-till
attr SW_Licht widgetOverride on-till:00:00,01:00,02:00,03:00,04:00,05:00,06:00,07:00,08:00,09:00,10:00,11:00,12:00,13:00,14:00,15:00,16:00,17:00,18:00,19:00,20:00,21:00,22:00,23:00
Gruß
Dan
oder per eventMap ein kommando ohne leerzeichen und andere problematische zeichen draus machen und dieses dann in den webCmd verwenden.
Zitat von: justme1968 am 21 März 2019, 12:33:28
oder per eventMap ein kommando ohne leerzeichen und andere problematische zeichen draus machen und dieses dann in den webCmd verwenden.
An eventMap hatte ich auch als erstes gedacht, wusste dann aber nicht weiter weil eventMap den Doppelpunkt als Trenner zwischen altem und neuem Befehl verwendet.
Gruß
Dan
...mit widgetOverride funktioniert es prinzipiell, allerdings liefert mir widgetOverride auch bei nur einem Wert (hier: 16:00:00) bereits eine Dropdown-Box, die im Default leer ist. D.h. ich muss die Box aufklappen und dann den (einzigen) Wert auswählen.
Das ist zwar nutzbar, aber nicht so schön - ich hätte eigentlich gerne nur "einen" klickbaren Link (egal wie der aussieht), der dann "on-till 16:00:00" setzt.
Wenn jemand noch gute Ideen dazu hat bin ich dankbar.
[Anm. ich habe das Topic umformuliert, da es nicht exakt war)
Gruss,
Tom
Meinst Du sowas wie im Anhang?
attr d1 webCmd on:off:on-till 16:;00:;00
Exakt das!
Allerdings sah es bei mir so wie im Anhang aus - ein ";" jeweils zu viel.
Damit hat es dann (zumindest mal optisch) geklappt - ich hoffe, er setzt den Wert auch richtig (das sehe ich tatsächlich nirgends...): 16:01:00
Dank an Alle!
Gruss,
Tom
Die Anzahl der Semikolon hängt davon ab, wo man die Eingabe für das Attribut hernimmt.
Bei mir funktioniert das Setzen jedenfalls problemlos, Du kannst das mit der folgenden raw-Definition testen
defmod d1 dummy
attr d1 webCmd on:off:on-till 16:;00:;00
danach kannst Du auf den Link klicken und wirst sehen, dass das korrekte Icon für on-till gesetzt wird. Der Timer läuft natürlich bei einem dummy nicht ab, also nicht wundern.
Und wenn Du das Ganze mit einem FS20 dummy testest, wirst Du sogar das zugehörige at finden, das die Lampe um 16 Uhr wieder abschalten wird.
Zitat von: Tomo am 21 März 2019, 09:23:23
ich versuche mittels WebCmd einen Button/Link einzufügen mit dem ein "on-till 16:00:00" (für einen CUL_HM Switch) mittels eines Klicks gesetzt werden kann.
Zitat von: Tomo am 21 März 2019, 14:38:42
ich hoffe, er setzt den Wert auch richtig (das sehe ich tatsächlich nirgends...)
doch, bei HM Aktoren siehst Du das daran, dass das reading "timedOn" den Wert "running" hat. Das bedeutet, dass ein Timer läuft.
Ja, dass der Timer läuft sieht man. Ich habe nur noch keine Möglichkeit gefunden, den Timerendwert/Abschaltzeitpunkt auszulesen.
Anyway - jetzt tut es!
Vielen Dank nochmals!
Gruss,
Tom
Zitat von: Tomo am 21 März 2019, 14:59:41
Ich habe nur noch keine Möglichkeit gefunden, den Timerendwert/Abschaltzeitpunkt auszulesen.
Es gibt (bei HM) keine Möglichkeit, das herauszufinden.
zu eventMap: die perl version von eventMap ist nicht auf trennzeichen angewiesen.
den timer kann man nachtäglich nicht auslesen. aber man kann auf das set_on-til event reagieren und dann alles weitere selber machen. ähnlich wie es hier: https://forum.fhem.de/index.php/topic,84016.msg762888.html#msg762888 (https://forum.fhem.de/index.php/topic,84016.msg762888.html#msg762888) für on-for-timer gemacht wird.
Zitat von: justme1968 am 21 März 2019, 15:14:39
aber man kann auf das set-on-til event reagieren
wenn schon, dann bitte richtig: set_on-till :)
ja.ja. :P