Frage Beantworten
Wie kann ich auf einen Button zwei Befehle legen die immer abwechselnd geschaltet werden? (Toggeln?!)
ich stocke gerade bei einer Umsetzung im Creator. Ich finde nicht das passende in den bisherigen Beiträgen. Vielleicht habt ihr eine Lösung.
Ich möchte folgendes:
1. Button anlegen.
2. Makro anlegen "Hifi Anlage an"
3. Makro anlegen "Hifi Anlage aus"
--------Bis dahin kein Problem. Und wenn ich mich damit zufrieden geben würde einfach über zwei Buttons und ohne Status die Makros zu schalten wäre alles gut :-)
4. Beide Makros auf den Button legen.
5. Bei jedem Klick auf den Button soll immer im Wechsel das eine oder das andere Makro auslösen.
6. Dabei den Status des Buttons zugleich auf "on" stellen wenn Makro "Hifi Anlage an" ausgelöst wurde und auf "off" stellen wenn das "hifi Anlage aus" Makro ausgelöst wurde.
Ich hoffe das war verständlich erklärt.
Danke vielmals vorab.
Edit 16.02.18:
So, schwere Geburt, aber dank der Hilfe von den Kollegen hier im Forum gelöst:
Da es ein sehr langer Verlauf ist fasse ich mal für alle Interessierten den Lösungsweg zusammen:
Vorab was man benötigt:
Eine CCU2
Ein Systemvariable auf der CCU2
Ein Programm auf der CCU2
Zwei Scipte für das Programm
Ein AIO GW (Bei mir V5+) mit einem laufenden Neo Server
Macros im AIO Creator
Einen Button im AIO Creator
Die Möglichkeit CCU2 Komponenten in den Creator zu laden. (HM Plugin)
(Ich vermute sehr stark man benötigt auch 1 Mal kurz einen NEO Cloud Zugang, das müsste aber Mediola nochmal bestätigen.)
1. Eine Systemvariable in der CCU2 anlegen. (Müsste auch mit einer auf dem AIO GW gehen, habe aber CCU2 bevorzugt.)
1a.
var s = "macroIdx";
string stdout;
string stderr;
string url="http://192.168.0.67/cmd?XC_FNC=DoMacroRM&groupIdx=3&" # s # "=2";
system.Exec("wget -q -O - '"#url#"'" , &stdout, &stderr);
3. Wir importieren die Variable aus der CCU2 über den Gerätemanager vom AIO Creator.
4. Dann legen wir einen Button im Creator an
4a.
Dieser bekommt als Aktion und als Status die Systemvariable der CCU zugewiesen.
Bei jedem klick auf den Button wird also die CCU2 Variable getoggelt, also immer wieder geändert: AN AUS AN AUS AN AUS ...etc.
5. Wir sind fertig.
5a. Wenn wir nun den Button auf der AIO Fernbedienung drücken passiert:
- Button löst Änderung der SysVariable auf der CCU2 aus.
- Die geändert SysVariable wiederrum lsst das Programm in der CCU2 ablaufen und ändert den Status des Buttons in der Fernbedienung
auf "on".
- Das Programm löst das Script zum HTTP Aufruf beim AIO Gateway aus womit das AIO Macro zum einschalten ausgelöst wird.
Drücken wir erneut passiert dasselbe nur halt mit dem anderen Status der SysVariablen und dem anderen Macro auf "off".
6. Bemerkung.
Der Makroaufruf funktioniert durch einen HTTP Befehl an das AIO GW funktionierte bei mir zunächst nicht. Dann hatte ich mich einmal an
der NEO cloud angemeldet den HTTP Befehl abgesetzt. Dann funktionierte er. Dann habe ich die Cloud wieder deaktiviert und der HTTP
Befehl funktioniert weiterhin. Ich gehe also davon aus dass das GW einmal in der Cloud gewesen sein muss, kann dies aber nicht garantieren.