Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Benötige Programmierhilfe Javascript

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Benötige Programmierhilfe Javascript

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Rushmed last edited by

      @rushmed

      puh, da haben die sich nicht so viel mühe mit gemacht.
      die ersten 4 Zustände hätte man mit genau einem status abfragen können, da sie sich gegenseitig ausschließen
      und die letzten 2 schließen sich ebenfalls gegenseitig aus. und damit mit nur einer 2.abfrage es viel einfacher machen können.

      so musst du für den ersten status 4 anfragen losschicken, bevor du alles beurteilen kannst.
      was kommt den zurück, wenn man 'garageDoorName';open sendet und das tor gerade was anderes macht wie offen zu sein? Als mögliche Antowrten sehe ich nur OK und die 3 Fehlermöglichkeiten

      1 Reply Last reply Reply Quote 0
      • R
        Rushmed Most Active @Thomas Braun last edited by Rushmed

        @thomas-braun Der Adapter funktioniert (bei mir) nicht und läuft über die Cloud, das wäre für mich nicht erste wahl wenns lt. Hersteller auch direkt geht.

        @OliverIO Dann passiert garnichts, ich bekomme nichtmal das OK zurück.
        Es gib da noch eine Diskrepanz zwischen dem Dokument und den tatsächlich funktionierenden Befehlen.
        Dok.:
        03001124-5b37-46fd-aaa4-13c31be33ed1-grafik.png

        Funktionierende Befehle:
        C;Garagentor;open
        C;Garagentor;close
        C;Garagentor;stop
        C;Garagentor;lightOn
        C;Garagentor;lightOff

        Beim Senden dieser Befehle sind die folgenden Antworten möglich:
        S;Garagentor;open
        S;Garagentor;closed
        S;Garagentor;opening
        S;Garagentor;closing
        S;Garagentor;lightOn
        S;Garagentor;lightOff
        Quelle1
        Quelle2

        Hat @MIC hier vll. ne gute Idee?

        1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO last edited by OliverIO

          @rushmed

          Probiere es mal mit dieser angepassten Version der Funktion.
          Die Datenpunktnamen von dp1 und dp2 müssen bereits existieren.
          Als Typ für beides Zeichenkette nehmen.
          Der Timeout ist in der Funktion mit 1000 milisekunden berücksichtigt.
          Falls die Geräte zu langsam antworten, dann den Wert vergrößern.
          Der Rückgabewert der Funktion sendMessage ist dann timeout

          var net = require('net');
          function sendMessage(host, port, message) {
           var timeout = 1000;
           return new Promise((resolve, reject) => {
             var client = new net.Socket();
          
             client.connect(port, host, function() {
               //console.log('Connected');
               client.setTimeout(timeout);      
               client.write(message);
             });
             
             client.on('data', function(data) {
               //console.log('Received: ' + data);
               resolve(data.toString());
             });
             client.on("error",(err)=>{
               resolve(err);
             });
             client.on("timeout",()=>{
               resolve("timeout");
             });
           });
          }
          

          Logik wäre dann wie folgt:

            var dp1 = "0_userdata.0.garagenstatus";
            var dp2 = "0_userdata.0.lichtstatus";
            var open      = await sendMessage("192.168.178.149",2785,"'S;Garagentor;open");
            var closed    = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closed");
            var opening = await sendMessage("192.168.178.149",2785,"'S;Garagentor;opening");
            var closing  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closing");
          
            var lighton  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;lightOn");
          
          if (open=="OK") {
            setState(dp1,"open");
          }
          if (closed    =="OK") {
            setState(dp1,"closed");
          }
          if (opening =="OK") {
            setState(dp1,"opening");
          }
          if (closing =="OK") {
            setState(dp1,"closing");
          }
          if (lighton =="OK") {
            setState(dp2,"An");
          } else {
            setState(dp2,"Aus");
          }
          
          
          R 2 Replies Last reply Reply Quote 0
          • R
            Rushmed Most Active @OliverIO last edited by

            @oliverio OK, bei:

            var net = require('net');
            
            function sendMessage(host, port, message) {
            
             var timeout = 1000;
            
             return new Promise((resolve, reject) => {
            
               var client = new net.Socket();
            
             
            
               client.connect(port, host, function() {
            
                 //console.log('Connected');
            
                 client.setTimeout(timeout);      
            
                 client.write(message);
            
               });
            
               
            
               client.on('data', function(data) {
            
                 //console.log('Received: ' + data);
            
                 resolve(data.toString());
            
               });
            
               client.on("error",(err)=>{
            
                 resolve(err);
            
               });
            
               client.on("timeout",()=>{
            
                 resolve("timeout");
            
               });
            
             });
            
            }
            

            war keine Message dabei.
            Habe:

            var net = require('net');
            
            function sendMessage(host, port, message) {
            
             var timeout = 1000;
            
             return new Promise((resolve, reject) => {
            
               var client = new net.Socket();
            
             
            
               client.connect(port, host, function() {
            
                 //console.log('Connected');
            
                 client.setTimeout(timeout);      
            
                 client.write(message);
            
               });
            
               
            
               client.on('data', function(data) {
            
                 //console.log('Received: ' + data);
            
                 resolve(data.toString());
            
               });
            
               client.on("error",(err)=>{
            
                 resolve(err);
            
               });
            
               client.on("timeout",()=>{
            
                 resolve("timeout");
            
               });
            
             });
            
            }
            
            sendMessage('192.168.178.149', 2785, 'C;Garagentor;open')
            

            draus gemacht.
            Beim ersten Mal ausführen kam:

            javascript.0
            2022-08-27 23:34:41.595	info	script.js.Garage: S;Garagentor;opening
            

            im Log 👍 --> großer Fortschritt!

            Leider kam das wirklich nur bei der ersten Ausführung und dann nicht nochmal.
            Die Variation des Timeouts +- eine Zehnerpotenz und +1000 haben keine Änderung gebracht.

            Was soll ich mit der Logik anfangen? Script?

            Die DPs sind angelegt, bleiben leider leer.

            1 Reply Last reply Reply Quote 0
            • R
              Rushmed Most Active @OliverIO last edited by

              @oliverio sagte in Benötige Programmierhilfe Javascript:

              Der Rückgabewert der Funktion sendMessage ist dann timeout

              Verstehe ich nicht.

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Rushmed last edited by

                @rushmed
                das erste skript ist die wiederverwendbare funktion

                das 2.skript ist die logik, wie die verschiedenen status abgefragt werden müssen, damit der ermittelte status in die beiden datenpunkte geschrieben werden.

                du kannst mal aus der folgenden Zeile

                     //console.log('Received: ' + data);
                

                das hier machen

                     console.log('Received: ' + data);
                

                dann sollte in der skript konsole immer ausgegeben werden, wenn daten zurückommen.
                das skript geht aktuell davon aus, das OK gesendet wird. falls das nicht stimmt, dann muss das im skript angepasst werden.

                @rushmed sagte in Benötige Programmierhilfe Javascript:

                @oliverio sagte in Benötige Programmierhilfe Javascript:

                Der Rückgabewert der Funktion sendMessage ist dann timeout

                Verstehe ich nicht.

                ich habe die funktion so erstellt, das wenn die abfrage zu lange dauert (oder halt auch nix zurückgibt) spätestens nach 1000 ms gestoppt wird. Anstatt OK oder leer gibt die funktion halt dann den Text timeout aus.

                R 1 Reply Last reply Reply Quote 0
                • R
                  Rushmed Most Active @OliverIO last edited by Rushmed

                  @oliverio Sehr gut!
                  Mit:

                  var net = require('net');
                  function sendMessage(host, port, message) {
                   var timeout = 1000;
                   return new Promise((resolve, reject) => {
                     var client = new net.Socket();
                     client.connect(port, host, function() {
                       //console.log('Connected');
                       client.setTimeout(timeout);      
                       client.write(message);
                     });
                     client.on('data', function(data) {
                       console.log('Received: ' + data);
                       resolve(data.toString());
                     });
                     client.on("error",(err)=>{
                       resolve(err);
                     });
                     client.on("timeout",()=>{
                       resolve("timeout");
                     });
                   });
                  }
                  
                  sendMessage('192.168.178.149', 2785, 'C;Garagentor;open')
                  

                  bekomme ich jetzt alle Status. Jeweils sechsmal im Log. "opening" während des Öffnens, "open" wenn geöffnet....

                  Supergeil!

                  Soll ich jetzt die Logik als eigenes Script anlegen oder wie bekomm ich die Ausgaben in eigene DPs?
                  Wie können wir die Anzahl der ausgaben vo sechs auf eins reduzieren?

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Rushmed last edited by OliverIO

                    @rushmed
                    Ich verstehe nicht warum das 6 mal kommt, wenn dann 5 mal
                    Das 2.Skript kannst du einfach unter das erste kopieren
                    Wie schon erwähnt ist dort die Logik drin das die Werte in die datenpunkte (setState) geschrieben werden.
                    Poste bitte mal die Ausgabe des Skriptes

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Rushmed Most Active @OliverIO last edited by

                      @oliverio Ich habe jetzt Script "Garage1" mit deinen Änderungen für die Funktionen (funktioniert alles, danke).
                      daeba080-7090-4271-b176-70e0480f3bfb-grafik.png
                      und Script "Garage Logik":
                      2f5c731b-1ace-4b4e-8c6b-9bc55ae86a42-grafik.png

                      5169e3ff-1ce7-4c62-9cd5-57b06a7f108c-grafik.png
                      Ist das ok?

                      Der Fortschritt ist schonmal enorm. Es müssen nurnoch die Rückmeldungen in die DPs und die Wiederholungen gelöst werden. Wobei die Wiederholungen nur kosmetik sind.
                      Die DPs wurden nur einmal mit open beschrieben.

                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Rushmed last edited by

                        @rushmed
                        Von blockly habe ich keine Ahnung

                        R 2 Replies Last reply Reply Quote 0
                        • R
                          Rushmed Most Active @OliverIO last edited by

                          @oliverio Wir sind auf nem richtig guten Weg, ich bin dir sehr dankbar!
                          Muss jetzt erstmal ins Bett, lass uns morgen weiter machen.

                          1 Reply Last reply Reply Quote 0
                          • R
                            Rushmed Most Active @OliverIO last edited by Rushmed

                            @oliverio Ich habe jetzt für jeden Befehl deine Vorschläge für Funktion und Logik zusammengesetzt.
                            Hattest du dir das so gedacht?
                            Bspw.:

                            var net = require('net');
                            
                            function sendMessage(host, port, message) {
                            
                             var timeout = 1000;
                            
                             return new Promise((resolve, reject) => {
                            
                               var client = new net.Socket();
                            
                             
                            
                               client.connect(port, host, function() {
                            
                                 //console.log('Connected');
                            
                                 client.setTimeout(timeout);      
                            
                                 client.write(message);
                            
                               });
                            
                               
                            
                               client.on('data', function(data) {
                            
                                 console.log('Received: ' + data);
                            
                                 resolve(data.toString());
                            
                               });
                            
                               client.on("error",(err)=>{
                            
                                 resolve(err);
                            
                               });
                            
                               client.on("timeout",()=>{
                            
                                 resolve("timeout");
                            
                               });
                            
                             });
                            
                            }
                            
                            sendMessage('192.168.178.149', 2785, 'C;Garagentor;open')
                            
                              var dp1 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor";
                            
                              var dp2 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht";
                            
                              var open      = await sendMessage("192.168.178.149",2785,"'S;Garagentor;open");
                            
                              var closed    = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closed");
                            
                              var opening = await sendMessage("192.168.178.149",2785,"'S;Garagentor;opening");
                            
                              var closing  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closing");
                            
                             
                            
                              var lighton  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;lightOn");
                            
                             
                            
                            if (open=="OK") {
                            
                              setState(dp1,"open");
                            
                            }
                            
                            if (closed    =="OK") {
                            
                              setState(dp1,"closed");
                            
                            }
                            
                            if (opening =="OK") {
                            
                              setState(dp1,"opening");
                            
                            }
                            
                            if (closing =="OK") {
                            
                              setState(dp1,"closing");
                            
                            }
                            
                            if (lighton =="OK") {
                            
                              setState(dp2,"An");
                            
                            } else {
                            
                              setState(dp2,"Aus");
                            
                            }
                            

                            Damit kann ich alles schalten und die Antworten werden empfangen und im Log angezeigt.

                            javascript.0
                            2022-08-28 18:59:59.566	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.564	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.564	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.563	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.563	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.562	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.516	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.515	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.515	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.514	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.514	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.514	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.513	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.513	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.512	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.512	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.511	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.511	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.510	info	script.js.Garage_orig: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.510	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.509	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.509	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.507	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.507	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.506	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.505	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.505	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.505	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.504	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.503	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.503	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.503	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.502	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.501	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.501	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.500	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.500	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.499	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.438	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.438	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.437	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.437	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.437	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.436	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.436	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.435	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.435	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.434	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.433	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.433	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.432	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.431	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.431	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.430	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.424	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.424	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.423	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.423	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.422	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.422	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.422	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.421	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.421	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.420	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.419	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.417	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.417	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.416	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.415	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.414	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.376	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.375	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.375	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.375	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.374	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.374	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.373	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.373	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.372	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.372	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.372	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.371	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.358	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.357	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.357	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.357	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.356	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.356	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.356	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.355	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.355	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.355	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.354	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.354	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.354	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.353	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.353	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.353	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.352	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.352	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.351	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.351	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.350	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.350	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.348	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.347	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.346	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.346	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.345	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.345	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.344	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.344	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.343	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.342	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.342	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.331	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.331	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.331	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.331	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.330	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.329	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.329	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.329	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.328	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.328	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.327	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.327	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.327	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.326	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.326	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.325	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.325	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.324	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.323	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.323	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.322	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.322	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.318	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.318	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.318	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.317	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.317	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.316	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.316	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.316	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.315	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.315	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.314	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.312	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.312	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.311	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.311	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.310	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.285	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.284	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.284	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.284	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.283	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.283	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.282	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.282	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.281	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.281	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.280	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.279	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.279	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.277	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.277	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.276	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.275	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.275	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.271	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.271	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.270	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.269	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.269	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.268	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.267	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.267	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.266	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.262	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.262	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.262	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.262	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.262	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.261	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.261	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.261	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.261	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:59.260	info	script.js.Garage1: Received: S;Garagentor;closed
                            
                            javascript.0
                            2022-08-28 18:59:49.199	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.198	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.197	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.197	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.196	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.196	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.195	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.194	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.194	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.193	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.193	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.191	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.190	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.189	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.189	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.188	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.187	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.186	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.185	info	script.js.Garage_orig: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.184	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.183	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.180	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.179	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.179	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.178	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.177	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.175	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.174	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.172	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.171	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.170	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.170	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.130	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.130	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.126	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.126	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.125	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.125	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.122	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.121	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.122	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            javascript.0
                            2022-08-28 18:59:49.121	info	script.js.Garage1: Received: S;Garagentor;closing
                            
                            

                            Die Datenpunkte sind aber nur einmal am Anfang beschrieben worden und dann nicht mehr.

                            Was bedeutet:

                            @oliverio sagte in Benötige Programmierhilfe Javascript:

                            Der Rückgabewert der Funktion sendMessage ist dann timeou

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Rushmed last edited by

                              @rushmed
                              Das Skript ist nur dafür da den Status abzufragen
                              Das steuern machen wir wenn das funktioniert
                              Du hast die beiden Teile korrekt zusammen kopiert
                              Eine Zeile die du selbst hinzugefügt hast muss noch raus. Ist aber für den Test nicht so schlimm.
                              Das Skript ist erst mal so gedacht das einmalig der Status ermittelt wird. Durch wiederholten Aufruf in einem noch zu wählenden Zeitabstand aktualisiert es dann regelmäßig.

                              Am log finde ich aktuell noch komisch das sehr viele gleiche Einträge in sehr kurzer Zeit hintereinander steht

                              Um das zu überprüfen kannst du bitte noch den Client connect Teil mit dem folgenden tauschen
                              Eine Zeile davon habe ich angepasst.
                              Dann bitte das Script genau einmal laufen lassen und das Ergebnis hier wieder posten.

                                 client.connect(port, host, function() {
                                   console.log('send: ' + message);
                                   client.setTimeout(timeout);      
                                   client.write(message);
                                 });
                              
                              
                              R 1 Reply Last reply Reply Quote 0
                              • R
                                Rushmed Most Active @OliverIO last edited by Rushmed

                                @oliverio Habe meine Message raus genommen und deine Anpassung einegfügt.
                                Funktion jetz wie folgt:

                                
                                var net = require('net');
                                
                                function sendMessage(host, port, message) {
                                
                                 var timeout = 1000;
                                
                                 return new Promise((resolve, reject) => {
                                
                                   var client = new net.Socket();
                                
                                 
                                
                                   client.connect(port, host, function() {
                                
                                     console.log('send: ' + message);
                                
                                     client.setTimeout(timeout);      
                                
                                     client.write(message);
                                
                                   });
                                
                                   
                                
                                   client.on('data', function(data) {
                                
                                     console.log('Received: ' + data);
                                
                                     resolve(data.toString());
                                
                                   });
                                
                                   client.on("error",(err)=>{
                                
                                     resolve(err);
                                
                                   });
                                
                                   client.on("timeout",()=>{
                                
                                     resolve("timeout");
                                
                                   });
                                
                                 });
                                
                                }
                                
                                
                                  var dp1 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor";
                                
                                  var dp2 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht";
                                
                                  var open      = await sendMessage("192.168.178.149",2785,"'S;Garagentor;open");
                                
                                  var closed    = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closed");
                                
                                  var opening = await sendMessage("192.168.178.149",2785,"'S;Garagentor;opening");
                                
                                  var closing  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closing");
                                
                                 
                                
                                  var lighton  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;lightOn");
                                
                                 
                                
                                if (open=="OK") {
                                
                                  setState(dp1,"open");
                                
                                }
                                
                                if (closed    =="OK") {
                                
                                  setState(dp1,"closed");
                                
                                }
                                
                                if (opening =="OK") {
                                
                                  setState(dp1,"opening");
                                
                                }
                                
                                if (closing =="OK") {
                                
                                  setState(dp1,"closing");
                                
                                }
                                
                                if (lighton =="OK") {
                                
                                  setState(dp2,"An");
                                
                                } else {
                                
                                  setState(dp2,"Aus");
                                
                                }
                                
                                
                                

                                Hier das Ergebnis:

                                21:36:43.129	info	javascript.0 (2205415) script.js.Garage_orig: send: 'S;Garagentor;open
                                21:36:44.154	info	javascript.0 (2205415) script.js.Garage_orig: send: 'S;Garagentor;closed
                                21:36:45.176	info	javascript.0 (2205415) script.js.Garage_orig: send: 'S;Garagentor;opening
                                21:36:46.194	info	javascript.0 (2205415) script.js.Garage_orig: send: 'S;Garagentor;closing
                                21:36:47.206	info	javascript.0 (2205415) script.js.Garage_orig: send: 'S;Garagentor;lightOn
                                

                                Damit kommt nichts zurück. Ich der Status wird nur nach dem Senden der Steuerbefehle gesandt.

                                Bei 5 s Timeout passiert auch nichts.
                                Wenn ich die Message einfüge kommt die Antwort nach etwa 3 s.

                                OliverIO 2 Replies Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @Rushmed last edited by OliverIO

                                  @rushmed
                                  Füge bitte deinen steuerbefehl nochmal ein, führe das Skript aus und sende mir dann nochmal das log.
                                  Wie du vermutest wird der Status wohl nur beim senden eines Befehls zurück gesendet.
                                  Aber mal schauen was da steht
                                  Wahrscheinlich muss man dann das Skript nochmal umstellen

                                  1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Rushmed last edited by OliverIO

                                    @rushmed

                                    Kannst du bitte überall noch diesen Apostroph vor dem S; entfernen?
                                    Das gehört da evtl nicht hin

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      Rushmed Most Active @OliverIO last edited by

                                      @oliverio Bitteschön:

                                      22:41:54.703	info	javascript.0 (2205415) script.js.Garage_orig: send: C;Garagentor;lightOn
                                      22:41:54.705	info	javascript.0 (2205415) script.js.Garage_orig: send: S;Garagentor;open
                                      22:41:54.744	info	javascript.0 (2205415) script.js.Garage_orig: Received: R;OK
                                      22:41:55.074	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.075	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.076	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.076	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.077	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.077	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.078	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.078	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.079	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.079	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.080	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.081	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.081	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.082	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.082	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.082	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.083	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.083	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.084	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.085	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.085	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.085	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.086	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.120	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.120	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.121	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.122	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.123	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.123	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.124	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.125	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.125	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.126	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.126	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.127	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.130	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.130	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.131	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.132	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.132	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.133	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.133	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.134	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.135	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.135	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.136	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.136	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.137	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.137	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.138	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.138	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.141	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.141	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.142	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.142	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.143	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.143	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.144	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.144	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.145	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.145	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.146	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.146	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.146	info	javascript.0 (2205415) script.js.Garage_orig: Received: S;Garagentor;lightOn
                                      22:41:55.163	info	javascript.0 (2205415) script.js.Garage_orig: send: S;Garagentor;closed
                                      22:42:00.169	info	javascript.0 (2205415) script.js.Garage_orig: send: S;Garagentor;opening
                                      22:42:05.178	info	javascript.0 (2205415) script.js.Garage_orig: send: S;Garagentor;closing
                                      22:42:10.183	info	javascript.0 (2205415) script.js.Garage_orig: send: S;Garagentor;lightOn
                                      

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Rushmed last edited by

                                        @rushmed sagte in Benötige Programmierhilfe Javascript:

                                        OK

                                        ok, und dann bitte jeweils einen durchlauf wo du von licht an nach licht aus umschaltest
                                        und umgekehrt

                                        und dann jeweils einen durchlauf bei dem du das garagentor von geschlossen nach offen
                                        und offen nach geschlossen durchführst
                                        aber nur bei Gelegenheit, nicht das sich die Nachbarn wundern warum die Garage immer auf und zu geht 🙂

                                        Die erste Erkenntnis ist. Das senden des S-Befehls hat gar keine Auswirkung,
                                        sondern wird als Antwort auf den jeweilig passenden Befehl als Antwort gesendet
                                        Die Bbestätigung wird nach ca 40ms gesendet
                                        ca 300ms danach wird
                                        zunächst für ca 15ms im Abstand von ca 0.5ms der Status gesendet.
                                        dann 35ms gewartet und nochmal
                                        für ca 25ms lang erneut der Status im Abstand von 0.5ms gesendet.

                                        Schauen wir mal was die nächsten Ergebnisse bringen, so das ich dann den Code anpassen kann.

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          Rushmed Most Active @OliverIO last edited by

                                          @oliverio Wir müssen bitte nochmal einen Schritt zurück. Ich glaube die mehrfachen Rückmeldungen liegen daran wie ich das ganze hier im Blockly zusammegefriemelt habe und triggere. Ich habe so garkeine Ahnung von Javascript, dass ich ein Script nichtmal über nen DP Starten kann.
                                          Habe diese Datenpunkte zur Steuerung als boolsche Buttons angelegt:

                                          0_userdata.0.Eigene_Datenpunkte.Garage.Garage_close
                                          0_userdata.0.Eigene_Datenpunkte.Garage.Garage_open
                                          0_userdata.0.Eigene_Datenpunkte.Garage.Garage_stop
                                          0_userdata.0.Eigene_Datenpunkte.Garage.Garage_light_on
                                          0_userdata.0.Eigene_Datenpunkte.Garage.Garage_light_off
                                          

                                          Diese müssen mit:

                                          sendMessage('192.168.178.149', 2785, 'C;Garagentor;close')
                                          sendMessage('192.168.178.149', 2785, 'C;Garagentor;open')
                                          sendMessage('192.168.178.149', 2785, 'C;Garagentor;stop')
                                          sendMessage('192.168.178.149', 2785, 'C;Garagentor;lightOn')
                                          sendMessage('192.168.178.149', 2785, 'C;Garagentor;lightOff')
                                          

                                          gesteuert werden.
                                          Kannst du mir das bitte in ein Script packen?

                                          OliverIO 1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Rushmed last edited by

                                            @rushmed

                                            wie blockly. bei blockly muss dir jemand anders helfen
                                            Wir zusammen werden nix mit Blockly machen
                                            Alle notwendigen Anweisungen stehen schon im skript drin.

                                            ich beschreibe dir mal kleinklein was du machen musst

                                            1. javascriptadapter öffnen
                                            2. Neues Skript hinzufügen, also Plus-Knopf oben links
                                            3. Dann die JS-Kachel auswählen
                                            4. einen sinnigen Namen vergeben
                                            5. Das Javascript aus dem Spoiler dort einfügen
                                            6. Beim Werkzeugschlüssel oben rechts verbose ankreuzen

                                            In Zeile 25 steht schon mal der Befehl für öffnen drin, das heißt, bevor du das Skript ausführst,
                                            schaust du, das das Tor geschlossen ist

                                            1. Speichern und falls das Skript nicht von alleine losgelaufen ist, auf der linken Seite beim Skriptnamen das rote Play-Symbol anklicken (rotes Dreieck)
                                            2. Danach das log kopieren und hier im Thread anfügen
                                            3. Zeile 8 mit dem nächsten Befehl bestücken. Aktuell interessiert nur der Statusübergang von Open nach Close und von Close nach Open und LightAn nach LightAus und LightAus nach LightAn

                                            var net = require('net');
                                            function sendMessage(host, port, message) {
                                            var timeout = 1000;
                                            return new Promise((resolve, reject) => {
                                              var client = new net.Socket();
                                              client.connect(port, host, function() {
                                                console.log('send: ' + message);
                                                client.setTimeout(timeout);      
                                                client.write(message);
                                              });
                                              
                                              client.on('data', function(data) {
                                                console.log('Received: ' + data);
                                                resolve(data.toString());
                                              });
                                              client.on("error",(err)=>{
                                                resolve(err);
                                              });
                                              client.on("timeout",()=>{
                                                resolve("timeout");
                                              });
                                            });
                                            }
                                            
                                             sendMessage("192.168.178.149",2785,"'S;Garagentor;lightOn");
                                            
                                             var dp1 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor";
                                             var dp2 = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht";
                                             var open      = await sendMessage("192.168.178.149",2785,"'S;Garagentor;open");
                                             var closed    = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closed");
                                             var opening = await sendMessage("192.168.178.149",2785,"'S;Garagentor;opening");
                                             var closing  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;closing");
                                            
                                             var lighton  = await sendMessage("192.168.178.149",2785,"'S;Garagentor;lightOn");
                                            
                                            if (open=="OK") {
                                             setState(dp1,"open");
                                            }
                                            if (closed    =="OK") {
                                             setState(dp1,"closed");
                                            }
                                            if (opening =="OK") {
                                             setState(dp1,"opening");
                                            }
                                            if (closing =="OK") {
                                             setState(dp1,"closing");
                                            }
                                            if (lighton =="OK") {
                                             setState(dp2,"An");
                                            } else {
                                             setState(dp2,"Aus");
                                            }
                                            
                                            
                                            
                                            

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            809
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            communication javascript monitoring
                                            5
                                            60
                                            2833
                                            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