Hallo zusammen,
kurz zu dem, was ich machen will.
Ich habe mehrere LED-Streifen welche über McLighting auf nodeMCs am angesteuert werden, welche wiederum über den Adapter McLighting an der ioBroker angebunden sind. Die nodeMCs hängen jeweils an Stromversorgungen, welche über Sonoff POWs mit Tasmota laufen. Allerdings hängen sie dort nicht alleine dran, es sind auch noch "nicht smarte" Geräte dabei. Wenn ich diese SonoffPOWs nun ausschalte, haben ja auch die nodeMCs keinen Strom mehr und der McLighting Adapter versucht verzweifelt eine Verbindung herzustellen und gerät dabei in einen dauerloop. Daher würde ich gerne den McLighting Adapter per Script pausieren, wenn ich auf den dazugehörigen POW ausschalte, bzw. Nach Auslöung über VIS oder Alexa, soll erst der Adapter pausieren und 5 Sekunden später dann auch der POW ausgehen. Leider klappt mein Ansatz bisher nicht wirklich:
on({id: "javascript.0.tasmota.POWs.pow1_delayed_switch", change: "ne"}, async function (obj) {
var value = obj.state.val;
var obj_adapter = getObject("system.adapter.mclighting.1");
if (value == true) {
obj_adapter.common.enabled = false;
setObject("system.adapter.mclighting.1", obj_adapter);
setStateDelayed("sonoff.0.Sonoff_POW_1.POWER", false, false, 5000);
} else if (value == false) {
setState("sonoff.0.Sonoff_POW_1.POWER", true, false);
obj_adapter.common.enabled = true;
setObject("system.adapter.mclighting.1", obj_adapter);
};
});
der Javascript Adapter meckert, dass das betreffende Objekt die Funktion "enabled" gar nicht hat. Jetzt muss ich zugeben, dass ich mir das auch nur hier aus dem Forum abgeguckt habe. Im Expertenmodus finde ich erst gar kein Objekt mit dem Namen "system.adapter.mclighting.1", sodass es eigentlich auch logisch ist, dass es nicht klappt. Ich finde nur ein Objekt "system.adapter.mclighting" ohne eine Instanznummer (obwohl ich mehrere mclighting Instanzen habe). Ich habe allerdings Ordner mit dem Namen "system.adapter.mclighting.0", "system.adapter.mclighting.1" usw. (also welche, die man nur im Expertenmodus sehen kann).
setObject ist im Javascript Adapter aktiviert.
Wie man vielleicht schon merkt, habe ich nur bedingt Ahnung, was ich tue. Aber vielleicht hat ja jemand ne Idee, wie ich das doch noch umsetzen könnte.
Danke und liebe Grüße