Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. 433 Mhz Funksteckdose mit Skript will nicht

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    433 Mhz Funksteckdose mit Skript will nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Matze1708 last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • D
        dwm last edited by

        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 …

        1 Reply Last reply Reply Quote 0
        • M
          Matze1708 last edited by

          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

          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by

            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??

            1 Reply Last reply Reply Quote 0
            • M
              Matze1708 last edited by

              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…

              1 Reply Last reply Reply Quote 0
              • M
                Matze1708 last edited by

                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....

                :?

                1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active last edited by

                  @Matze1708:

                  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

                  1 Reply Last reply Reply Quote 0
                  • M
                    Matze1708 last edited by

                    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…..

                    1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active last edited by

                      das ist kein dummy script

                      das ist en Schaltpunkt… auf dem du reagierst

                      1 Reply Last reply Reply Quote 0
                      • M
                        Matze1708 last edited by

                        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

                        1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active last edited by

                          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…

                          1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer last edited by

                            @Matze1708:

                            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".

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            519
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            4
                            12
                            2126
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo