NEWS
433 Mhz Funksteckdose mit Skript will nicht
-
Hallo,
ich habe anhand des Tutorials auf meinem ioBroker Raspberry den Send Befehl installiert. Habe send nach bin kopiert und folgendes Skript erstellt.
on({id: "javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy"/*scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy").val == true) { exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); } else if (getState("javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy").val == false) { exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0'); exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0'); exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0'); exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0'); exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0'); } });
Ich habe Testweise 5 mal den Befehl abgesetzt. Aber dennoch funktioniert der Befehl nur ab und zu mal.
Sende ich den gleichen Befehl von der Konsole über SSH dann geht das ohne Probleme jedes mal.
Was muss ich denn da noch machen?
-
Was passiert denn, wenn Du nur einmal sendest?
Ohne das genau zu kennen, würd ich die exec Befehle zeitverzögert senden. Die laufen jetzt quasi gleichzeitig, vielleicht kommt sich das in die Quere …
-
Dann geht es auch nur sporadisch….
Deswegen wollte ich das mit den mehrfach senden testen.
Wie gesagt, von der Konsole aus, geht der gleiche Befehl ohne Probleme... nur über den IoBroker stimmt was nicht.
Vielleicht passt auch mein skript nicht [emoji15]
Gesendet von iPhone mit Tapatalk
-
was ist wenn du nur das machst
exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1'); exec('/bin/send 10100 2 1'); console.log("exec: " + '/bin/send 10100 2 1');
ohne button funktionalität..einfach das nur ausführen
wird dann geschaltet??
-
Hallo,
also, habe das mal in das Script ohne alles eingetragen.
Wenn ich folgendes aufrufe:
exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0');
schaltet er mir jedesmal…
-
Dennoch scheint es so zu sein, dass wenn ich die Dummy Adresse vom yahka aus ansteuere… Auf dem Objekt im IoBorker das richtige passiert, ABER nicht geschaltet wird....
:?
-
Hallo,
also, habe das mal in das Script ohne alles eingetragen.
Wenn ich folgendes aufrufe:
exec('/bin/send 10100 2 0'); console.log("exec: " + '/bin/send 10100 2 0');
schaltet er mir jedesmal… `
wenn hier geschaltet wird dann funktioniert die andere kommunikation nicht oder du hast ein Abfrageproblem..
on({id: "javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy"/*scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy*/, change: "ne"}, function (obj) { log("jo jeht"); });
geht das
-
Warum muss man eigentlich mit diesem Dummy Dkript arbeiten?
Geht das nicht, dass ich einfach dem Skript selbst ein true oder false zuweise?
Ich glaube das ist das an was es hängt…..
-
das ist kein dummy script
das ist en Schaltpunkt… auf dem du reagierst
-
Dann habe ich meine Frage falsch formuliert.
Ich habe wie oben in meinem ersten Skript, einem Beispiel nach, ein Dummy Skript und das eigentliche mit den Abweisungen.
Das eigentliche Skript überwacht ob das dummy Skript true oder false ist.
Aber braucht man diese Konstellation überhaupt? Kann man das nicht über ein skript erledigen?
Gesendet von iPhone mit Tapatalk
-
javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy
das ist ein Schaltpunkt…. auf den reagiert wird ...
du lannst auch mit create einen anlegen und auf diesen reagieren... ich würde dir http://www.iobroker.net/docu/?page_id=5385&lang=de zu Herzen legen…
-
Aber braucht man diese Konstellation überhaupt? Kann man das nicht über ein skript erledigen? `
Du kannst natürlich ein Skript bauen "Steckdose_an", in dem nur die exec-Befehle stehen und eins "Steckdose_aus", in dem die Befehle zum Ausschalten sind. Die kannst du von Hand starten und wieder stoppen.Die sauberere Variante (wie in artecks Skript) ist aber ein Datenpunkt, der entweder true oder false ist (an oder aus) und von einem Skript überwacht wird. Erkennt das Skript, dass der Datenpunkt true ist, werden die an-Befehle gesendet, sonst die aus-Befehle.
–-
"javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy" als Datenpunkt-Name ist aber ungünstig. Wo hast du das her?
scriptEnabled.*** steht eigentlich für den Zustand (aktiviert /deaktiviert) von Scripts. Geeigneter wäre ein Name wie "javascript.0.Funksteckdosen.2Dose_Status".