Erstmal danke an Jey Cee, Pix und Paul53. Super mit den Beispielen komme ich schonmal ein ganzes Stück weiter
Hatte mit der Erklärung von Jey Cee soweit weiter gemacht das ich bei einer if Variante war, die aber nicht funktioniert hat.
Habe dann Pix Vorschlag umgesetzt, muss mir das von Paul53 noch genauer anschauen.
Pix, hast natürlich recht, die Fernbedienung ist ein RPC Element (Ich muss auf Anwesend Kurz prüfen, da ich mit der Taste Short eine Toogle Funktion zwischen An und Aus realisiert habe). Allerdings verstehe ich gerade noch nicht den Punkt mit STATE, da ich ja PRESS_SHORT verwenden muss (denke ich zumindest, ansonsten Scheiss mich zusammen. Hihi)
Erster Teil Funktioniert und auch die Funktion starteAktion. Zweite Subscription funktioniert nicht (denke weil ich da was falsches eingegeben habe, werde ich noch weiter probieren)
` > /* Programm Abwesend Kurz
Ablösen des CCU2 Programms
Mit Hilfe von Jey Cee, Pix und Paul53
*/
// Abfrage der Abwesenheit Kurz:
var idAbwesendKurzVariable = 'hm-rega.0.2330'; // System Variable CCU2 Abwesend Kurz
// lange, ausführliche Schreibweise
on({
id: idAbwesendKurzVariable, // Datenpunkt der Überwachung
change: 'ne' // auf Änderung
}, function (obj) {
// den neuen Wert der Änderung checken
if (obj.state.val === true) { // wenn neuer Wert true
// aktuelle Abfrage der zweiten Variable - also nur prüfen
var anwesenheit = getState("hm-rega.0.950"/Anwesenheit/).val; // zur besseren Übersicht in eine lokale Variable geschrieben
if (anwesenheit === true) { // wenn Anwesenheit auch wahr ist
starteAktion(); // Funktion aufrufen
}
}
});
var idAbwesendKurzTaster = "hm-rpc.0.MEQ0670647.2.PRESS_SHORT" /Funk-Fernbedienung mit D. Abw.KurzAn/Aus:2.PRESS_SHORT/ /Abwesenheit kurz Taster/; // STATE muss mit rein beim Taster, ist wohl eher ein hm-rpc.0.***.STATE Datenpunkt
// zweite subscription auf die Fernbedienung in kurzer Schreibweise (change: 'ne' ist Standard, es kann "===true" weggelassen werden und einzeilige Anweisungen nach if brauchen keine geschweiften Klammern)
on(idAbwesendKurzTaster, function (obj) {
if (obj.state.val && getState(idAbwesendKurzVariable).val) starteAktion();
});
// Ausführung
function starteAktion () {
setState("hm-rpc.0.MEQ0484756.1.STATE", false); // Taster Deckenlicht Arbeitszimmer
setState("hm-rpc.0.NEQ0018993.2.SUBMIT","0.7,1,108000,20");
// weitere Aktionen einfügen
} `
nochmals danke
Gruß Zippolighter