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?
-
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… `
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
-
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_dummydas 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".
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