NEWS
Script aktivieren/deaktieren über zB Fancyswitch springt sofort zurück
-
Hallo Ihr Lieben,
endlich habe ich mal wieder ein bisschen Zeit, die Vis anzupassen. Dabei bin ich auf folgendes Problem gestoßen:
Ich habe ein Script, das ich manuell im Script Bereich von AKTIV auf INAKTIV ändere, je nachdem ob bei uns im Gästezimmer im Moment jemand wohnt. Das habe ich bisher im Admin Interface gemacht. Das ist meiner Frau aber zu kompliziert.
Dementsprechend habe ich in der Vis einen Fancyswitch Schalter gesetzt und den auf den Datenpunkt
javascript.0.scriptEnabled.common.Homematic-Scripte.Fenster_OG_morgens
verweisen lassen. Der Fancyswitch zeigt auch genau an, wie der Scriptstatus ist. Allerdings schaltet sich der Scriptstatus bei jeder Änderung sofort wieder auf den vorherigen Wert zurück, egal ob ich im Admin Interface oder in der Vis ändere. Im Log sieht das so aus:
javascript.0 2019-01-10 22:29:24.427 info Stop script script.js.common.Homematic-Scripte.Fenster_OG_morgens javascript.0 2019-01-10 22:29:22.411 info Stop script script.js.common.Homematic-Scripte.Fenster_OG_morgens javascript.0 2019-01-10 22:29:21.462 info script.js.common.Homematic-Scripte.Fenster_OG_morgens: registered 0 subscriptions and 1 schedule javascript.0 2019-01-10 22:29:21.462 info script.js.common.Homematic-Scripte.Fenster_OG_morgens: schedule(cron=15 6 * * *) javascript.0 2019-01-10 22:29:21.461 info Start javascript script.js.common.Homematic-Scripte.Fenster_OG_morgens javascript.0 2019-01-10 22:29:21.422 info Stop script script.js.common.Homematic-Scripte.Fenster_OG_morgens javascript.0 2019-01-10 22:29:19.521 info script.js.common.Homematic-Scripte.Fenster_OG_morgens: registered 0 subscriptions and 1 schedule javascript.0 2019-01-10 22:29:19.521 info script.js.common.Homematic-Scripte.Fenster_OG_morgens: schedule(cron=15 6 * * *) javascript.0 2019-01-10 22:29:19.521 info Start javascript script.js.common.Homematic-Scripte.Fenster_OG_morgens
Habe testweise mal einen jqui Radiobuttos Schalter genommen, Damit funktioniert es auch nicht.
Beim Googlen bin ich auf dieses Thema gestoßen: viewtopic.php?t=7382
Offenbar hat es was damit zu tun, dass das Widget sich nicht an die Bedingungen des Datenpunkts anpasst und für EIN und AUS eben 1 und 0 schreibt, was der Datenpunkt natürlich nicht mag, da er TRUE oder FALSE erwartet.
Daher die Frage: wie kann ich einstellen, was das Widget an den Datenpunkt schreibt?
Danke und viele Grüße
Christian
-
habe das in etwa so mit ner Lichtsteuerung.
Idee:
–> leg ne Variable an die dein "Fancyswitch Schalter" ändern kann. (On = 1, OFF=0) (z.B. javascript.0.ScriptFenster)
--> dann triggerst du auf diese Variable und schaltest damit das Script an und aus.
on({id: 'javascript.0.ScriptFenster', change: "ne"}, function (obj) { if (getState('javascript.0.ScriptFenster').val === 1) { setState('javascript.0.scriptEnabled.common.Homematic-Scripte.Fenster_OG_morgens', true); } else { setState('javascript.0.scriptEnabled.common.Homematic-Scripte.Fenster_OG_morgens', false); } });
(ungetestet)
EDIT: du kannst aber auch den jqui-Button (html Bool) nehmen. der toggelt von true zu false. Damit geht es auch.