NEWS
Adapter per Script pausieren Probleme. Suche neue Ideen.
-
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
-
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
@nyancat sagte in Adapter per Script pausieren Probleme. Suche neue Ideen.:
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).
Jetzt bin ich komplett verwirrt... kannst du mal einen Screenshot deines Objektbaumes im Expertenmodus posten? "Ordner" sind übrigens auch Objekte.
-
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
-
@nyancat sagte in Adapter per Script pausieren Probleme. Suche neue Ideen.:
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).
Jetzt bin ich komplett verwirrt... kannst du mal einen Screenshot deines Objektbaumes im Expertenmodus posten? "Ordner" sind übrigens auch Objekte.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
