NEWS
Adapter mit Script ein/ausschalten
-
Das steht im Log.
javascript.0 2017-01-08 16:57:04.292 info script.js.Adapter_RPI_Ausschalten: registered 0 subscriptions and 0 schedules
javascript.0 2017-01-08 16:57:04.291 error Function "setObject" is not allowed. Use adapter settings to allow it.
javascript.0 2017-01-08 16:57:04.286 info Start javascript script.js.Adapter_RPI_Ausschalten
Sieht wohl so aus, dass nicht alle Adapter das mit sich machen lassen.
Edit:
Hab es jetzt mal bei 4 Adaptern ausprobiert. Bei mir ist es immer "not allowed".
Hab nichts gefunden wo ich das ändern könnte.
-
@Jey Cee:Hallo Paulchen,
meiner Meinung nach ist da gar nichts falsch. Ich habe das script bei mir getestet und es funktioniert.
Demnach liegt der Fehler Wahrscheinlich am Auslöser.
Das ganze Script zu sehen oder eine detalierte Beschreibung wie du den fetzen code verwendest hilft anderen dir zu helfen.
Gruß
Jey Cee `
Das ist das ganze Script.
Wie schon geschrieben und aus dem Log ersichtlich lassen es nicht alle
Adapter zu, zumindest bei mir.
Wenn noch jemand Helfen kann, gerne, bis dahin Danke für eure Hilfe.
-
Schau mal in die Einstellungen vom Javascript Adapter. Da gibt es eine Option für setObject.
Sollte angehackt sein.
-
Aaahhhh,
was so ein kleiner Hacken alles ausmachen kann.
Jetzt funktioniert es auch bei mir.
Vielen Dank.
-
Das Script hat gleich nach dem Starten seine Arbeit ja getan.
Es ist aber ja immer noch am laufen.
Kann man das Script sich selbstständig stoppen lassen?
Denn wenn ich ein Script habe um den Adapter wieder zu starten,
müsste ich ja erst wieder per Hand das Stop-Script anhalten.
-
Das Script hat gleich nach dem Starten seine Arbeit ja getan.
Es ist aber ja immer noch am laufen.
Kann man das Script sich selbstständig stoppen lassen?
Denn wenn ich ein Script habe um den Adapter wieder zu starten,
müsste ich ja erst wieder per Hand das Stop-Script anhalten. `
du kannst doch auch scripte ein/ausschalten per variablen aenderung ?
Die stehen in javascript.0 ==> ordner ==> script und dan value true oder falsch
oder versteh ich dich jetzt falsch ?
-
Ja, hab es jetzt mal so gelöst:
` > // Holle die Werte des ganzen Adapters als Variable objvar obj = getObject("system.adapter.rpi.0"/rpi/);
//Setze den Wert Enabled im Adapter auf false
obj.common.enabled = false;
//Schreibe den geänderten Wert von Enabled zurück in den Adapter
setObject("system.adapter.rpi.0"/rpi/, obj);
//Schalte das Script nach 5 Sekunden wieder aus
setStateDelayed("javascript.0.scriptEnabled.Adapter_RPI_Ausschalten"/scriptEnabled.Adapter_RPI_Ausschalten/, false, 5000);
//Programm Ende `
Das funktioniert schon mal.Könnte das auch funktionieren?
` > //Virtueller Taster an der CCU startet die Funktionon({id: "hm-rpc.0.BidCoS-RF.10.PRESS_SHORT"}, function (obj) {
// Holle die Werte des ganzen Adapters als Variable obj1
var obj1 = getObject("system.adapter.rpi.0");
//Wenn der Wert von Enabled auf false steht Setze ihn auf true
if (obj1.common.enabled === false) {
setObject("system.adapter.rpi.0.Enabled", true);
}
//Wenn der Wert von Enabled auf true steht Setze ihn auf false
if (obj1.common.enabled === true) {
setObject("system.adapter.rpi.0.Enabled", false);
}
});
//Programm Ende `
Oder ist das Script Schrott? -
Mal schnell drüber gelesen aber sieht ok aus…
Wegen der Script Geschichte, ist doch eigentlich egal ob es an steht?
Er lauscht ja nur und wenn kein event von Button 10 kommt passiert auch nichts.
Sent from my iPhone using Tapatalk
-
Das script sieht gut aus.
Nur was mir noch immer nicht klar ist, wann soll den der Adapter deaktiviert werden? Also was ist das Kriterium zum deaktivieren und was zum aktivieren?
Möglicherweise gibt es noch einen anderen Lösungsweg.
Gesendet von meinem m8 mit Tapatalk
-
@Jey Cee:Das script sieht gut aus.
Nur was mir noch immer nicht klar ist, wann soll den der Adapter deaktiviert werden? Also was ist das Kriterium zum deaktivieren und was zum aktivieren?
Möglicherweise gibt es noch einen anderen Lösungsweg.
Gesendet von meinem m8 mit Tapatalk `
Ich hab einen Adapter der immer mal wieder hängt.
Wenn man ihn dann anstößt läuft er wieder für ne ganze Weile (1-3 Tage)
Eine Kontrolanzeige zeigt mir seinen Status an.
-
Und die kontrolanzeige läuft außerhalb von iobroker und/oder nicht in javascript?
Sonst würde ich direkt die Anzeige als trigger nutzen.
Gesendet von meinem m8 mit Tapatalk