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

      ok, das sieht erst mal gut aus.

      im script ist so ein kleiner tcp-client enthalten. evtl beende ich ihn noch nicht richtig,
      daher kann sein, das mit jedem scriptstart ein neuer client im hintergrund gestartet wird, der sich dann auch jedesmal meldet.
      das reparieren noch
      durch die logs hat sich aber bestätigt, was ich vermutet habe. daher werde ich das skript nochmal umstellen.
      ich werde auch die einfache Möglichkeit für dich einabauen, Befehle zu geben durch einfaches beschreiben eines Datenpunkts.
      Das ist dann so wie ein kleiner Adapter.

      Werde ich heute aber nicht wirklich dazukommen.
      Mit dem neuen Skript machen wir dann neue Testreihen.

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

        @oliverio Sehr geil!
        Bin eben noch zur Garage gelaufen und habe Handsender und Taster am Antrieb getestet.
        Bei beiden bekomme ich die gleichen Rückmeldungen wie hier:

        @rushmed sagte in Benötige Programmierhilfe Javascript:

        Wenn ich den Steuerbefehl auskommentiere, dann die JS Instanz neu starte und die Befehle nacheinander per App sende kommt jede Antwort fünf mal.

        Damit habe ich egal wie gesteuert wird immer den aktuellen Status im ioBroker. Das wird fantastisch!

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

          @rushmed sagte in Benötige Programmierhilfe Javascript:

          Damit habe ich egal wie gesteuert wird immer den aktuellen Status im ioBroker. Das wird fantastisch!

          ja, leider hat man den status nur, wenn ein befehl ausgeführt wird.
          bei iobroker neustart oder wenn das skript gerade nicht läuft sird es den status nicht mitbekommen

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

            @oliverio Ja, das Stimmt wohl aber meine ioBroker hat echt wenig Downtime.

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

              @rushmed

              so hier ein neues skript mit einigen Neuerungen

              1. wie gehabt, das eine bisherige skript komplett ersetzen
              2. ich habe für die befehle einen neuen Datenpunkt eingeführt, den du anlegen musst. Typ Zeichenkette: 0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command
                Falls die Namen nicht passen, dann im Skript Zeile 3-5 anpassen
              3. Zeilen 7-9 ggfs ebenfalls anpassen. Z7 ist der Gerätename deines Tors, Z8-9 die Verbindungsparameter
              4. Wenn Datenpunt(e) angelegt sind und das Skript läuft (da dürfte erst einmal nix im log kommen), dann iobroker in einem 2.browserfenster öffnen
              5. im 2.Fenster auf den Objekte-Tab gehen im Datenpunkt 0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command
                einen der folgenden Befehle eingeben: open, close, stop, lighton, lightoff
                Groß/Kleinschreibung ist egal
              6. sobald du eingegeben hast, müsste der Datenpunkt automatisch sich wieder auf leer stellen
              7. und im log im 1.browserfenster eine Menge Ausgaben erscheinen. Zum Test habe ich mal für jeden Detailschritt im Programm etwas eingebaut. Später kann man das wieder entfernen oder auskommentieren.
              8. Als Test machen wir das selbe wie das letzte mal
                -> Tor offen, dann Befehl close eingeben
                -> Tor geschlossen, dann open eingeben
                -> Licht ist an, dann lightoff eingeben
                -> Licht ist aus, dann lighton eingeben

              ich habe mal die verschiedenen javascripot zeilen kommentiert, damit du nachvollziehen kannst was da so passiert

              var net = require('net'); 
              
              var dp_door = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor"; //door state
              var dp_light = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht"; //light state
              var dp_cmd = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command"; //Befehlsdatenpunkt: Mögliche Werte: open, close, stop, lighton, lightoff. Nach Beschreiben wird der Datenpunkt wieder auf leer gesetzt
              
              var deviceName = "Garagentor";
              var host = "192.168.178.149";
              var port = 2785;
              
              function sendMessage(host, port, message) {
               var timeout = 1000;                           //timeout für Antwort vom Server
               var time2termination = 1000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
               var terminator;
               var terminatorStart;
               var terminatorEnd;
               return new Promise((resolve, reject) => {     // Funktion ist asynchron, daher Rückgabe promise
                 var client = new net.Socket();                 // Erzeugen eines neuen Verbindungsobjekts
              
                 client.connect(port, host, function() {     // Gerät über host:port anwählen und Verbindung erzeugen
                   console.debug('cliend started');
                   terminatorStart();                        // Time starten, der die Verbindung beendet, falls keine Antwort mehr kommt
                   client.setTimeout(timeout);               // internes timeout setzen
                   client.write(message);                    // Nachricht an Gerät senden
                 });
                 
                 client.on('data', function(data) {          // Wenn daten ankommen, dann verarbeiten
                   console.log('client received: ' + data);
                   terminatorStart();                        // Den Timeout verlängern
                   var dataS = data.toString();              // Datenbuffer in lesbaren Text umwandeln
                   switch(dataS) {                           // je nach rückgabewert unterschiedliche Bearbeitung
                       case "S;"+deviceName+";open":         // wenn open
                       setState(dp_door,"open");             // dann Datenpunkt setzen
                       break;
                       case "S;"+deviceName+";closed":
                       setState(dp_door,"closed");
                       break;
                       case "S;"+deviceName+";opening":
                       setState(dp_door,"opening");
                       break;
                       case "S;"+deviceName+";closing":
                       setState(dp_door,"closing");
                       break;
                       case "S;"+deviceName+";lightOn":
                       setState(dp_light,"lightOn");
                       break;
                       case "S;"+deviceName+";lightOff":
                       setState(dp_light,"lightOff");
                       break;
                   }
                 });
                 client.on("error",(err)=>{                  // wenn ein Fehler entsteht
                   console.log("client error");
                   terminatorEnd();                          // dann timeout beenden
                  client.end();                             // Kommunikation beenden
                   resolve(err);                             // und Fehlerdetails zurückgeben
                 });
                 client.on("timeout",()=>{                   // wenn timeout entsteht
                   console.log("client timeout");
                   terminatorEnd();                          // dann timeout beenden
                   client.end();                             // Kommunikation beenden
                   resolve("timeout");                       // text timeout zurückgeben
                 });
                 terminatorStart = function() {              // timeout starten oder verlängern
                   console.log("client terminatorStart");
                   if (terminator) clearTimeout(terminator); // evtl vorhanden timeout beenden
                   terminator = setTimeout(() => {           // neuen timeout starten. wenn timeout eintritt, dann folgende funktionen ausführen
                     console.log('cliend ended');
                     client.end();                           // kommunikation beenden
                     resolve("ok");                          // ok zurückgeben
                   }, time2termination);                     // zeit für timeout angeben
                 };
                 terminatorEnd = function() {                // timeout beenden
                   console.log("client terminatorEnd");
                   if (terminator) clearTimeout(terminator);      
                 };
               });
              }
              on(dp_cmd, function (obj) {                     // trigger wenn datenpunkt beschrieben wird
                 var cmd;
                 if (!obj.state.ack) {                       // aber nur wenn es sich um einen unbestätigten wert handelt
                     cmd = String(obj.state.val).toLowerCase();  // Datenpunktinhalt in Kleinbuchstaben umwandeln
                     console.debug('execute command: ' + cmd);
                     switch(cmd) {                           // je nach Datenpunktinhalt verschiedene Befehle
                         case "open":                        // wenn open
                             sendMessage(host, port, "C;"+deviceName+";open"); // dann richtigen Befehl an Gerät senden
                             break;
                         case "close":
                             sendMessage(host, port, "C;"+deviceName+";close");
                             break;
                         case "stop":
                             sendMessage(host, port, "C;"+deviceName+";stop");
                             break;
                         case "lighton":
                             sendMessage(host, port, "C;"+deviceName+";lightOn");
                             break;
                         case "lightoff":
                             sendMessage(host, port, "C;"+deviceName+";lightOff");
                             break;
                     }
                     setState(obj.id, {val: "", ack: true}); // datenpunkt auf leer als bestätigt setzen
                 }
              });
              

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

                @oliverio Vielen Dank, hier die Ausgaben:
                öffnen:

                30.8.2022, 18:15:36.287	[info ]: javascript.0 (853) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661876136287,"q":0,"from":"system.adapter.javascript.0","lc":1661876136287,"c":"script.js.Garage"})
                30.8.2022, 18:15:36.306	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:15:36.307	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:15:36.345	[info ]: javascript.0 (853) script.js.Garage: client received: R;OK
                
                30.8.2022, 18:15:36.345	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:15:36.346	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:15:36.347	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:15:36.610	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.610	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.611	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.613	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.614	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.614	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.616	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.616	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.617	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.617	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.617	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.618	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.618	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.618	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.618	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.619	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.619	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.619	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.620	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.624	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.625	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.635	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.636	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.637	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.638	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.639	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.639	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.640	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.641	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.643	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.644	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.645	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.645	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.646	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.647	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.647	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.648	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.648	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.649	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.652	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.653	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.653	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.654	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.654	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.655	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.656	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.656	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.657	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.658	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.658	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.659	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.659	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.660	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.670	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.671	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.672	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.672	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.673	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.674	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.675	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.676	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.677	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.677	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.678	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.679	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.680	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.681	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.681	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.682	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.688	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.688	[info ]: javascript.0 (853) script.js.Garage: client received: S;Garagentor;opening
                
                30.8.2022, 18:15:36.689	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:15:36.689	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:15:36.690	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:15:36.739	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.740	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.740	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.741	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.741	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.742	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.743	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.743	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.744	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.744	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.745	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.752	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.753	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.754	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.754	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.755	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.755	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.755	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.756	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.756	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.758	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.759	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.759	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.760	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.760	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.760	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.761	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.761	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.762	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.762	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.763	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.763	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.764	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.764	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.765	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.765	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.768	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.769	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.770	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.770	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.771	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.771	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.772	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.772	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.773	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.773	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.774	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.777	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.778	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.779	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.781	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.788	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.789	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.789	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.790	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.790	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.791	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.791	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.792	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.792	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.792	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.792	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.793	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.793	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.793	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.794	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.794	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.811	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.812	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.812	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.812	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.814	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.815	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.816	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.817	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.817	[info ]: javascript.0 (853) script.js.Garage: client received: S;Garagentor;lightOn
                
                30.8.2022, 18:15:36.818	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:15:36.818	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:15:36.818	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:15:37.817	[info ]: javascript.0 (853) script.js.Garage: client timeout
                30.8.2022, 18:15:37.818	[info ]: javascript.0 (853) script.js.Garage: client terminatorEnd
                30.8.2022, 18:15:37.818	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:15:53.301	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.302	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.303	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.303	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.304	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.304	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.304	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.305	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.305	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.305	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.306	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.306	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.306	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.306	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.308	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.309	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.309	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.310	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.310	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.311	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.311	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.313	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.313	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.322	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.323	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.324	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.324	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.325	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.325	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.326	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.326	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.327	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.327	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.328	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.331	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.331	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.332	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.333	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.333	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.334	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.334	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.335	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.335	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.336	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.336	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.337	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.338	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.338	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.339	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.339	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.340	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.340	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.341	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.341	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.342	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.342	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.344	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.346	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.347	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.347	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.348	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.348	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.381	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.382	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.383	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.383	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.384	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.386	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.387	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.389	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.389	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.390	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.390	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.391	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                30.8.2022, 18:15:53.392	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;open
                
                

                close:

                30.8.2022, 18:17:56.379	[info ]: javascript.0 (853) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661876276379,"q":0,"from":"system.adapter.javascript.0","lc":1661876276379,"c":"script.js.Garage"})
                30.8.2022, 18:17:56.393	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:17:56.394	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:17:56.464	[info ]: javascript.0 (853) script.js.Garage: client received: R;OK
                
                30.8.2022, 18:17:56.465	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:17:56.465	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:17:56.465	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:17:56.707	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.708	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.708	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.709	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.709	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.710	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.710	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.710	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.711	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.711	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.711	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.711	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.721	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.721	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.722	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.722	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.723	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.724	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.724	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.725	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.725	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.726	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.726	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.726	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.726	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.727	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.727	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.727	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.727	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.727	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.728	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.728	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.729	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.730	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.733	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.734	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.734	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.735	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.736	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.741	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.742	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.743	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.743	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.743	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.744	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.746	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.747	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.747	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.748	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.748	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.748	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.749	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.749	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.750	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.750	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.750	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.751	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.751	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.751	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.752	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.752	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.752	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.753	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.753	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.754	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.754	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.754	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.755	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.755	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.757	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.758	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.759	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.759	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.760	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.761	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.761	[info ]: javascript.0 (853) script.js.Garage: client received: S;Garagentor;closing
                
                30.8.2022, 18:17:56.762	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:17:56.762	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:17:56.762	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:17:57.761	[info ]: javascript.0 (853) script.js.Garage: client timeout
                30.8.2022, 18:17:57.762	[info ]: javascript.0 (853) script.js.Garage: client terminatorEnd
                30.8.2022, 18:17:57.763	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:18:15.200	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.201	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.202	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.202	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.202	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.204	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.205	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.206	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.207	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.207	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.208	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.209	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.209	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.210	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.211	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.211	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.212	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.212	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.213	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.213	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.214	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.214	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.215	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.224	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.226	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.226	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.227	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.228	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.229	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.229	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.230	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.231	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.231	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.232	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.232	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.232	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.233	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.233	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.234	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.234	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.237	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.238	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.238	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.239	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.239	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.239	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.240	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.240	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.241	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.241	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.242	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.242	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.243	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.243	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.244	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.244	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.244	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.246	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.246	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.247	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.290	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.291	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.291	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.292	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.292	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.292	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.294	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.294	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.294	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.295	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.295	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.296	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.296	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.296	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                30.8.2022, 18:18:15.296	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;closed
                
                

                Licht an:

                30.8.2022, 18:19:35.737	[info ]: javascript.0 (853) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661876375737,"q":0,"from":"system.adapter.javascript.0","lc":1661876375737,"c":"script.js.Garage"})
                30.8.2022, 18:19:35.748	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:19:35.749	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:19:36.042	[info ]: javascript.0 (853) script.js.Garage: client received: R;OK
                
                30.8.2022, 18:19:36.042	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:19:36.042	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:19:36.043	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:19:36.462	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.463	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.464	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.465	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.465	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.470	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.471	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.472	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.473	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.474	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.475	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.479	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.479	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.484	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.485	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.485	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.486	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.487	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.488	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.489	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.490	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.491	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.492	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.493	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.494	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.495	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.495	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.496	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.502	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.503	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.504	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.505	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.506	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.507	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.508	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.509	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.510	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.510	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.511	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.512	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.513	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.514	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.515	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.516	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.517	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.518	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.519	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.520	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.520	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.521	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.522	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.523	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.536	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.538	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.539	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.540	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.541	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.542	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.543	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.544	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.545	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.546	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.547	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.548	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.549	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.550	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.552	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.553	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.554	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.555	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.556	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.557	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.558	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.559	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.559	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.560	[info ]: javascript.0 (853) script.js.Garage: client received: S;Garagentor;lightOn
                
                30.8.2022, 18:19:36.561	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:19:36.562	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:19:36.562	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:19:37.561	[info ]: javascript.0 (853) script.js.Garage: client timeout
                30.8.2022, 18:19:37.561	[info ]: javascript.0 (853) script.js.Garage: client terminatorEnd
                30.8.2022, 18:19:37.561	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                

                Licht aus:

                30.8.2022, 18:20:29.804	[info ]: javascript.0 (853) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661876429804,"q":0,"from":"system.adapter.javascript.0","lc":1661876429804,"c":"script.js.Garage"})
                30.8.2022, 18:20:29.816	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:20:29.817	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:20:29.871	[info ]: javascript.0 (853) script.js.Garage: client received: R;OK
                
                30.8.2022, 18:20:29.872	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:20:29.872	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:20:29.872	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:20:30.871	[info ]: javascript.0 (853) script.js.Garage: client timeout
                30.8.2022, 18:20:30.871	[info ]: javascript.0 (853) script.js.Garage: client terminatorEnd
                30.8.2022, 18:20:30.872	[info ]: javascript.0 (853) script.js.Garage: clearTimeout() => cleared
                30.8.2022, 18:20:31.135	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.136	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.137	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.137	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.138	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.139	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.139	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.140	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.141	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.141	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.142	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.142	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.143	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.146	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.147	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.148	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.148	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.150	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.153	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.154	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.154	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.155	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.155	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.157	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.158	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.159	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.160	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.160	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.161	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.161	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.162	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.163	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.163	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.164	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.164	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.165	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.165	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.166	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.166	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.167	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.167	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.168	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.169	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.169	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.170	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.171	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.171	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.178	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.178	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.179	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.179	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.180	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.180	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.181	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.181	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.182	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.182	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.183	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.184	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.184	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.185	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.185	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.186	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.187	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.187	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.191	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.227	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.228	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.229	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.230	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.231	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.233	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.234	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.235	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.236	[info ]: javascript.0 (853) script.js.Garage_: Received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.236	[info ]: javascript.0 (853) script.js.Garage: client received: S;Garagentor;lightOff
                
                30.8.2022, 18:20:31.237	[info ]: javascript.0 (853) script.js.Garage: client terminatorStart
                30.8.2022, 18:20:31.238	[warn ]: javascript.0 (853) script.js.Garage: clearTimeout() => not found
                30.8.2022, 18:20:31.238	[info ]: javascript.0 (853) script.js.Garage: setTimeout(ms=1000)
                30.8.2022, 18:20:32.239	[info ]: javascript.0 (853) script.js.Garage: cliend ended
                

                Bitte gib Bescheid wenn du weitere Zarbeit brauchst.

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

                  @rushmed

                  du musst leider nochmal. die console.debug anweisungen sind nicht im log erschienen.
                  hab wieder auf console.log umgestellt.

                  es reicht erst mal eines. dann prüfen wir ob alles so abläuft wie gewünscht.
                  noch eins.
                  stoppe und starte bitte den javascript-adapter bevor du testest.
                  dass räumt die evtl. reste aus dem speicher die nur stören.

                  var net = require('net'); 
                  
                  var dp_door = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor"; //door state
                  var dp_light = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht"; //light state
                  var dp_cmd = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command"; //Befehlsdatenpunkt: Mögliche Werte: open, close, stop, lighton, lightoff. Nach Beschreiben wird der Datenpunkt wieder auf leer gesetzt
                  
                  var deviceName = "Garagentor";
                  var host = "192.168.178.149";
                  var port = 2785;
                  
                  function sendMessage(host, port, message) {
                  var timeout = 1000;                           //timeout für Antwort vom Server
                  var time2termination = 1000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
                  var terminator;
                  var terminatorStart;
                  var terminatorEnd;
                  return new Promise((resolve, reject) => {     // Funktion ist asynchron, daher Rückgabe promise
                    var client = new net.Socket();                 // Erzeugen eines neuen Verbindungsobjekts
                  
                    client.connect(port, host, function() {     // Gerät über host:port anwählen und Verbindung erzeugen
                      console.log('cliend started');
                      terminatorStart();                        // Time starten, der die Verbindung beendet, falls keine Antwort mehr kommt
                      client.setTimeout(timeout);               // internes timeout setzen
                      client.write(message);                    // Nachricht an Gerät senden
                    });
                    
                    client.on('data', function(data) {          // Wenn daten ankommen, dann verarbeiten
                      console.log('client received: ' + data);
                      terminatorStart();                        // Den Timeout verlängern
                      var dataS = data.toString();              // Datenbuffer in lesbaren Text umwandeln
                      switch(dataS) {                           // je nach rückgabewert unterschiedliche Bearbeitung
                          case "S;"+deviceName+";open":         // wenn open
                          setState(dp_door,"open");             // dann Datenpunkt setzen
                          break;
                          case "S;"+deviceName+";closed":
                          setState(dp_door,"closed");
                          break;
                          case "S;"+deviceName+";opening":
                          setState(dp_door,"opening");
                          break;
                          case "S;"+deviceName+";closing":
                          setState(dp_door,"closing");
                          break;
                          case "S;"+deviceName+";lightOn":
                          setState(dp_light,"lightOn");
                          break;
                          case "S;"+deviceName+";lightOff":
                          setState(dp_light,"lightOff");
                          break;
                      }
                    });
                    client.on("error",(err)=>{                  // wenn ein Fehler entsteht
                      console.log("client error");
                      terminatorEnd();                          // dann timeout beenden
                     client.end();                             // Kommunikation beenden
                      resolve(err);                             // und Fehlerdetails zurückgeben
                    });
                    client.on("timeout",()=>{                   // wenn timeout entsteht
                      console.log("client timeout");
                      terminatorEnd();                          // dann timeout beenden
                      client.end();                             // Kommunikation beenden
                      resolve("timeout");                       // text timeout zurückgeben
                    });
                    terminatorStart = function() {              // timeout starten oder verlängern
                      console.log("client terminatorStart");
                      if (terminator) clearTimeout(terminator); // evtl vorhanden timeout beenden
                      terminator = setTimeout(() => {           // neuen timeout starten. wenn timeout eintritt, dann folgende funktionen ausführen
                        console.log('cliend ended');
                        client.end();                           // kommunikation beenden
                        resolve("ok");                          // ok zurückgeben
                      }, time2termination);                     // zeit für timeout angeben
                    };
                    terminatorEnd = function() {                // timeout beenden
                      console.log("client terminatorEnd");
                      if (terminator) clearTimeout(terminator);      
                    };
                  });
                  }
                  on(dp_cmd, function (obj) {                     // trigger wenn datenpunkt beschrieben wird
                    var cmd;
                    if (!obj.state.ack) {                       // aber nur wenn es sich um einen unbestätigten wert handelt
                        cmd = String(obj.state.val).toLowerCase();  // Datenpunktinhalt in Kleinbuchstaben umwandeln
                        console.log('execute command: ' + cmd);
                        switch(cmd) {                           // je nach Datenpunktinhalt verschiedene Befehle
                            case "open":                        // wenn open
                                sendMessage(host, port, "C;"+deviceName+";open"); // dann richtigen Befehl an Gerät senden
                                break;
                            case "close":
                                sendMessage(host, port, "C;"+deviceName+";close");
                                break;
                            case "stop":
                                sendMessage(host, port, "C;"+deviceName+";stop");
                                break;
                            case "lighton":
                                sendMessage(host, port, "C;"+deviceName+";lightOn");
                                break;
                            case "lightoff":
                                sendMessage(host, port, "C;"+deviceName+";lightOff");
                                break;
                        }
                        setState(obj.id, {val: "", ack: true}); // datenpunkt auf leer als bestätigt setzen
                    }
                  });
                  
                  

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

                    @oliverio sagte in Benötige Programmierhilfe Javascript:

                    Kein Problem.
                    Öffnen:

                    30.8.2022, 19:58:37.852	[info ]: javascript.0 (1060380) script.js.Garage: execute command: open
                    30.8.2022, 19:58:37.858	[info ]: javascript.0 (1060380) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661882317857,"q":0,"from":"system.adapter.javascript.0","lc":1661882317857,"c":"script.js.Garage"})
                    30.8.2022, 19:58:37.872	[info ]: javascript.0 (1060380) script.js.Garage: cliend started
                    30.8.2022, 19:58:37.873	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:58:37.874	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:58:37.909	[info ]: javascript.0 (1060380) script.js.Garage: client received: R;OK
                    
                    30.8.2022, 19:58:37.910	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:58:37.910	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    30.8.2022, 19:58:37.911	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:58:38.225	[info ]: javascript.0 (1060380) script.js.Garage: client received: S;Garagentor;opening
                    
                    30.8.2022, 19:58:38.225	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:58:38.226	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    30.8.2022, 19:58:38.226	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:58:38.294	[info ]: javascript.0 (1060380) script.js.Garage: client received: S;Garagentor;lightOn
                    
                    30.8.2022, 19:58:38.294	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:58:38.295	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    30.8.2022, 19:58:38.295	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:58:39.294	[info ]: javascript.0 (1060380) script.js.Garage: client timeout
                    30.8.2022, 19:58:39.295	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorEnd
                    30.8.2022, 19:58:39.296	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    

                    Schließen:

                    30.8.2022, 19:59:33.336	[info ]: javascript.0 (1060380) script.js.Garage: execute command: close
                    30.8.2022, 19:59:33.337	[info ]: javascript.0 (1060380) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661882373337,"q":0,"from":"system.adapter.javascript.0","lc":1661882373337,"c":"script.js.Garage"})
                    30.8.2022, 19:59:33.356	[info ]: javascript.0 (1060380) script.js.Garage: cliend started
                    30.8.2022, 19:59:33.357	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:59:33.357	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:59:33.397	[info ]: javascript.0 (1060380) script.js.Garage: client received: R;OK
                    
                    30.8.2022, 19:59:33.397	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:59:33.397	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    30.8.2022, 19:59:33.398	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:59:33.755	[info ]: javascript.0 (1060380) script.js.Garage: client received: S;Garagentor;closing
                    
                    30.8.2022, 19:59:33.756	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorStart
                    30.8.2022, 19:59:33.756	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    30.8.2022, 19:59:33.756	[info ]: javascript.0 (1060380) script.js.Garage: setTimeout(ms=1000)
                    30.8.2022, 19:59:34.755	[info ]: javascript.0 (1060380) script.js.Garage: client timeout
                    30.8.2022, 19:59:34.756	[info ]: javascript.0 (1060380) script.js.Garage: client terminatorEnd
                    30.8.2022, 19:59:34.757	[info ]: javascript.0 (1060380) script.js.Garage: clearTimeout() => cleared
                    

                    Zur Info, VErbose ist noch aktiviert und die DPs für Status Licht, Tor werden nicht beschrieben.

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

                      @rushmed
                      schau mal an dem schraubenschlüssel oben rechts, ob da debug aus ist?
                      dadurch werden keine datenpunkte beschrieben. also es muss aus sein

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

                        @oliverio Debug ist aus. Wie gesagt verbose war an. Habs mal deaktiviert und getastet, ändert nichts.

                        Das Leeren von 0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command hat seit dus eingebaut hast immer geklappt.
                        Also geht Schreiben offensichtlich.

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

                          @rushmed

                          ich habe nochmal die logausgabe um einen parameter erweitert und die timeout zeit auf 10 Sekunden erhöht.
                          Der Status der ankommt müsste schon richtig sein. In der Entscheidungsmatrix greift er aber nicht. Das prüfen wir damit.
                          Darüber hinaus kommt nur einmal "closing" und sonst nix. wenn dann wollen wir ja nach einer weile zumindest wissen das dann tatsächlich closed ist

                          könntest du parallel bitte auch dieser Firma eine EMail senden, das sie dir eine aktualisierte API-Beschreibung senden? Deine verlinkte scheint ja nicht ganz aktuell zu sein.
                          Ich erhoffe mir, das da auch ein paar mehr Details zur generellen Statusabfrage drin steht.
                          Also am besten dem Hersteller und nicht irgendeinem Vertriebspartner.

                          
                          var net = require('net'); 
                          
                          var dp_door = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor"; //door state
                          var dp_light = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht"; //light state
                          var dp_cmd = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command"; //Befehlsdatenpunkt: Mögliche Werte: open, close, stop, lighton, lightoff. Nach Beschreiben wird der Datenpunkt wieder auf leer gesetzt
                          
                          var deviceName = "Garagentor";
                          var host = "192.168.178.149";
                          var port = 2785;
                          
                          function sendMessage(host, port, message) {
                          var timeout = 10000;                           //timeout für Antwort vom Server
                          var time2termination = 10000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
                          var terminator;
                          var terminatorStart;
                          var terminatorEnd;
                          return new Promise((resolve, reject) => {     // Funktion ist asynchron, daher Rückgabe promise
                            var client = new net.Socket();                 // Erzeugen eines neuen Verbindungsobjekts
                          
                            client.connect(port, host, function() {     // Gerät über host:port anwählen und Verbindung erzeugen
                              console.debug('cliend started');
                              terminatorStart();                        // Time starten, der die Verbindung beendet, falls keine Antwort mehr kommt
                              client.setTimeout(timeout);               // internes timeout setzen
                              client.write(message);                    // Nachricht an Gerät senden
                            });
                            
                            client.on('data', function(data) {          // Wenn daten ankommen, dann verarbeiten
                              console.log('client received: ' + data + " for device: " + deviceName);
                              terminatorStart();                        // Den Timeout verlängern
                              var dataS = data.toString();              // Datenbuffer in lesbaren Text umwandeln
                              switch(dataS) {                           // je nach rückgabewert unterschiedliche Bearbeitung
                                  case "S;"+deviceName+";open":         // wenn open
                                  setState(dp_door,"open");             // dann Datenpunkt setzen
                                  break;
                                  case "S;"+deviceName+";closed":
                                  setState(dp_door,"closed");
                                  break;
                                  case "S;"+deviceName+";opening":
                                  setState(dp_door,"opening");
                                  break;
                                  case "S;"+deviceName+";closing":
                                  setState(dp_door,"closing");
                                  break;
                                  case "S;"+deviceName+";lightOn":
                                  setState(dp_light,"lightOn");
                                  break;
                                  case "S;"+deviceName+";lightOff":
                                  setState(dp_light,"lightOff");
                                  break;
                              }
                            });
                            client.on("error",(err)=>{                  // wenn ein Fehler entsteht
                              console.log("client error");
                              terminatorEnd();                          // dann timeout beenden
                             client.end();                             // Kommunikation beenden
                              resolve(err);                             // und Fehlerdetails zurückgeben
                            });
                            client.on("timeout",()=>{                   // wenn timeout entsteht
                              console.log("client timeout");
                              terminatorEnd();                          // dann timeout beenden
                              client.end();                             // Kommunikation beenden
                              resolve("timeout");                       // text timeout zurückgeben
                            });
                            terminatorStart = function() {              // timeout starten oder verlängern
                              console.log("client terminatorStart");
                              if (terminator) clearTimeout(terminator); // evtl vorhanden timeout beenden
                              terminator = setTimeout(() => {           // neuen timeout starten. wenn timeout eintritt, dann folgende funktionen ausführen
                                console.log('cliend ended');
                                client.end();                           // kommunikation beenden
                                resolve("ok");                          // ok zurückgeben
                              }, time2termination);                     // zeit für timeout angeben
                            };
                            terminatorEnd = function() {                // timeout beenden
                              console.log("client terminatorEnd");
                              if (terminator) clearTimeout(terminator);      
                            };
                          });
                          }
                          on(dp_cmd, function (obj) {                     // trigger wenn datenpunkt beschrieben wird
                            var cmd;
                            if (!obj.state.ack) {                       // aber nur wenn es sich um einen unbestätigten wert handelt
                                cmd = String(obj.state.val).toLowerCase();  // Datenpunktinhalt in Kleinbuchstaben umwandeln
                                console.debug('execute command: ' + cmd);
                                switch(cmd) {                           // je nach Datenpunktinhalt verschiedene Befehle
                                    case "open":                        // wenn open
                                        sendMessage(host, port, "C;"+deviceName+";open"); // dann richtigen Befehl an Gerät senden
                                        break;
                                    case "close":
                                        sendMessage(host, port, "C;"+deviceName+";close");
                                        break;
                                    case "stop":
                                        sendMessage(host, port, "C;"+deviceName+";stop");
                                        break;
                                    case "lighton":
                                        sendMessage(host, port, "C;"+deviceName+";lightOn");
                                        break;
                                    case "lightoff":
                                        sendMessage(host, port, "C;"+deviceName+";lightOff");
                                        break;
                                }
                                setState(obj.id, {val: "", ack: true}); // datenpunkt auf leer als bestätigt setzen
                            }
                          });
                          
                          

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

                            @oliverio Antwort von Marantec vom 03.06.2022 08:21:

                            Guten Tag Herr x,
                            
                            vielen Dank für Ihre Anfrage.
                            Anbei erhalten Sie eine Übersicht der Befehle
                            
                            Status                                      Code
                            Tor ist geöffnet:                        S;'garageDoorName';open
                            Tor ist geschlossen:                 S;'garageDoorName';closed
                            Tor öffnet sich:                         S;'garageDoorName';opening
                            Tor schließt sich:                      S;'garageDoorName';closing
                            Antriebsbeleuchtung ist an:     S;'garageDoorName';lightOn
                            Antriebsbeleuchtung ist aus:   S:'garageDoorName';lightOff
                            
                            Befehl                                      Code
                            Öffnen:                                    C;'garageDoorName';open
                            Schließen:                               C;'garageDoorName';close
                            Stop:                                       C;'garageDoorName';stop
                            Antriebsbeleuchtung an:         C;'garageDoorName';lightOn
                            Antriebsbeleuchtung aus:       C;'garageDoorName';lightOf
                            
                            garageDoorName = Der Name Ihres Tores
                            Mit freundlichen Grüßen / Best regards
                            
                            Christian Pieper
                            T +49 5247 705-221 · F +49 5247 705-234
                            service@marantec.de · www.marantec.com
                            
                            

                            Vermutlich fehlt beim letzten Befehl das zweite "f".

                            Open:

                            31.8.2022, 11:51:12.425	[info ]: javascript.0 (612549) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661939472425,"q":0,"from":"system.adapter.javascript.0","lc":1661939472425,"c":"script.js.Garage"})
                            31.8.2022, 11:51:12.440	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:51:12.441	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:51:12.472	[info ]: javascript.0 (612549) script.js.Garage: client received: R;OK
                            for device: Garagentor
                            31.8.2022, 11:51:12.473	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:51:12.473	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            31.8.2022, 11:51:12.473	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:51:12.696	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;opening
                            for device: Garagentor
                            31.8.2022, 11:51:12.696	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:51:12.696	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            31.8.2022, 11:51:12.697	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:51:12.760	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOn
                            for device: Garagentor
                            31.8.2022, 11:51:12.761	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:51:12.762	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            31.8.2022, 11:51:12.762	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:51:22.760	[info ]: javascript.0 (612549) script.js.Garage: client timeout
                            31.8.2022, 11:51:22.762	[info ]: javascript.0 (612549) script.js.Garage: client terminatorEnd
                            31.8.2022, 11:51:22.762	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            

                            Close:

                            31.8.2022, 11:52:45.628	[info ]: javascript.0 (612549) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661939565627,"q":0,"from":"system.adapter.javascript.0","lc":1661939565627,"c":"script.js.Garage"})
                            31.8.2022, 11:52:45.646	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:52:45.646	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:52:45.698	[info ]: javascript.0 (612549) script.js.Garage: client received: R;OK
                            for device: Garagentor
                            31.8.2022, 11:52:45.699	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:52:45.699	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            31.8.2022, 11:52:45.699	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:52:46.144	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closing
                            for device: Garagentor
                            31.8.2022, 11:52:46.145	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                            31.8.2022, 11:52:46.145	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            31.8.2022, 11:52:46.146	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=10000)
                            31.8.2022, 11:52:56.144	[info ]: javascript.0 (612549) script.js.Garage: client timeout
                            31.8.2022, 11:52:56.145	[info ]: javascript.0 (612549) script.js.Garage: client terminatorEnd
                            31.8.2022, 11:52:56.145	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                            

                            @oliverio sagte in Benötige Programmierhilfe Javascript:

                            Darüber hinaus kommt nur einmal "closing" und sonst nix. wenn dann wollen wir ja nach einer weile zumindest wissen das dann tatsächlich closed ist

                            Ja stimmt, die Bestätigung der Endlagen kommt nichtmehr an. Mit dem neuen Code auch nicht.
                            Auch die Datenpunkte bleiben leer.

                            Nach dem Schließen bleibt die Lampe noch drei Minuten an. Die Bestätigung des Ausschaltens kommt jetzt auch nicht mehr an.

                            Soll ich verbose jetzt weiter aktiviert lassen oder nicht?

                            Danke vorab!

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

                              @rushmed

                              ja, 2 Probleme haben wir noch.

                              1. der Vergleich zwischen
                                S;Gagentor;opening
                                und
                                S;Gagentor;opening

                              schlägt fehl, ob die beiden gleich sind.

                              1. die Rückmeldung für den Abschluss der Aktion fehlt noch.
                                Wenn du sagst, das Licht bleibt noch 3 Minuten an, dann setzen wir den Timeout mal auf 4 Minuten,
                                Ersetze bitte die folgenden 2 Zeilen
                              var timeout = 10000;                           //timeout für Antwort vom Server
                              var time2termination = 10000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
                              

                              mit

                              var timeout = 4*60*1000;                           //timeout für Antwort vom Server
                              var time2termination = 4*60*1000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
                              

                              Du musst dann auch 4 Minuten Warten bis die Aktion abgeschlossen ist.
                              Auch nicht den javascript-adapter stoppen
                              Am Schluss muss im Log immer

                              client timeout
                              client terminatorEnd

                              stehen

                              Leider hat dir der Support einfach nur die Schlüsselworte mitgeteilt, aber auch nix zum Kommunikationsverhalten, was das Gerät macht wenn der Befehl close oder open gegeben wird.
                              Wird nur einmal opening gesendet, oder mehrfach?
                              Wie kann man den Status abfragen ohne einen Befehl zu geben, steht leider auch nirgends

                              Besser wäre eine API, bei der man Befehle geben kann und separat den Status abfragen kann,
                              So ist man viel flexibler.
                              Aber man sieht ja, das sie dir keine richtige API-Beschreibung gegeben haben, sondern nur die Befehlsauflistung.
                              Du hast ja nach API-Beschreibung gefragt?

                              verbose erst mal so lassen. das stört nicht und gibt aktuell eher mehr informationen aus dem skriptablauf

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

                                @oliverio Zu1) Hast du da noch ne Idee? Ansonsten eürde es mir reichen wenn opening, closing, closed, lighton und lightoff in einem Datenpunkt landen. Dann werte ich die Status mit Blockly selber aus.

                                zu2) Habe das halboffene Tor zugefahren, lightoff kam an.

                                31.8.2022, 19:27:24.317	[info ]: javascript.0 (612549) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1661966844317,"q":0,"from":"system.adapter.javascript.0","lc":1661966844317,"c":"script.js.Garage"})
                                31.8.2022, 19:27:24.331	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.332	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.380	[info ]: javascript.0 (612549) script.js.Garage: client received: R;OK
                                for device: Garagentor
                                31.8.2022, 19:27:24.380	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.380	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.381	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.608	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closing
                                for device: Garagentor
                                31.8.2022, 19:27:24.609	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.609	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.609	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.610	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closing
                                for device: Garagentor
                                31.8.2022, 19:27:24.610	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.610	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.611	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.611	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closing
                                for device: Garagentor
                                31.8.2022, 19:27:24.612	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.612	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.612	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.672	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOn
                                for device: Garagentor
                                31.8.2022, 19:27:24.672	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.673	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.673	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.674	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOn
                                for device: Garagentor
                                31.8.2022, 19:27:24.674	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.674	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.674	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:24.675	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOn
                                for device: Garagentor
                                31.8.2022, 19:27:24.675	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:24.675	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:24.676	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:35.420	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closed
                                for device: Garagentor
                                31.8.2022, 19:27:35.421	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:35.421	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:35.421	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:35.422	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closed
                                for device: Garagentor
                                31.8.2022, 19:27:35.423	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:35.423	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:35.423	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:27:35.424	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;closed
                                for device: Garagentor
                                31.8.2022, 19:27:35.424	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:27:35.424	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:27:35.424	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:30:34.088	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOff
                                for device: Garagentor
                                31.8.2022, 19:30:34.089	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:30:34.089	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:30:34.089	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:30:34.090	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOff
                                for device: Garagentor
                                31.8.2022, 19:30:34.090	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:30:34.090	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:30:34.091	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:30:34.091	[info ]: javascript.0 (612549) script.js.Garage: client received: S;Garagentor;lightOff
                                for device: Garagentor
                                31.8.2022, 19:30:34.092	[info ]: javascript.0 (612549) script.js.Garage: client terminatorStart
                                31.8.2022, 19:30:34.092	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:30:34.092	[info ]: javascript.0 (612549) script.js.Garage: setTimeout(ms=240000)
                                31.8.2022, 19:34:34.088	[info ]: javascript.0 (612549) script.js.Garage: client timeout
                                31.8.2022, 19:34:34.089	[info ]: javascript.0 (612549) script.js.Garage: client terminatorEnd
                                31.8.2022, 19:34:34.089	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:34:34.090	[info ]: javascript.0 (612549) script.js.Garage: client timeout
                                31.8.2022, 19:34:34.090	[info ]: javascript.0 (612549) script.js.Garage: client terminatorEnd
                                31.8.2022, 19:34:34.090	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                31.8.2022, 19:34:34.092	[info ]: javascript.0 (612549) script.js.Garage: client timeout
                                31.8.2022, 19:34:34.092	[info ]: javascript.0 (612549) script.js.Garage: client terminatorEnd
                                31.8.2022, 19:34:34.092	[info ]: javascript.0 (612549) script.js.Garage: clearTimeout() => cleared
                                

                                zu3) Nein ich habe nicht nach API gefragt. Ich wollte eine Anleitung zur Integration, sowie eine Liste möglicher Befehle.
                                Ich frage da nochmal nach, aber die Antwort wird lange dauern.

                                Können wir bitte die Antwort von R; in einem DP ausgeben? Wäre aber nur nice to have und eigentlich nur bei der Einrichtung eines Antriebs interessant.

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

                                  @rushmed

                                  also von der Rückmeldung sind jetzt alle Informationen enthalten.
                                  Auch wenn da wieder ein paar zuviele Abfragen gleichzeitig laufen (3 stück),
                                  aber hier habe ich noch was gefunden an dem es gelegen haben könnte
                                  bitte vor dem test den javascriptadapter einmal stoppen und wieder starten.

                                  warum das
                                  S;Gagentor;opening
                                  nicht gleich
                                  S;Gagentor;opening
                                  ist

                                  ich habe noch was entdeckt und einen zusätzlichen Befehl eingefügt. der sollte das Problem beheben

                                  hat das letzte Schließen nur 11 Sekunden gedauert?

                                  
                                  
                                  var net = require('net'); 
                                  
                                  var dp_door = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor"; //door state
                                  var dp_light = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht"; //light state
                                  var dp_cmd = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command"; //Befehlsdatenpunkt: Mögliche Werte: open, close, stop, lighton, lightoff. Nach Beschreiben wird der Datenpunkt wieder auf leer gesetzt
                                  
                                  var deviceName = "Garagentor";
                                  var host = "192.168.178.149";
                                  var port = 2785;
                                  
                                  function sendMessage(host, port, message) {
                                  
                                  var timeout = 4*60*1000;                           //timeout für Antwort vom Server
                                  var time2termination = 4*60*1000;                  //genereller Timeout falls gar keine Reaktion mehr kommt
                                  var terminator;
                                  var terminatorStart;
                                  var terminatorEnd;
                                  return new Promise((resolve, reject) => {     // Funktion ist asynchron, daher Rückgabe promise
                                   var client = new net.Socket();                 // Erzeugen eines neuen Verbindungsobjekts
                                  
                                   client.connect(port, host, function() {     // Gerät über host:port anwählen und Verbindung erzeugen
                                     console.debug('cliend started');
                                     terminatorStart();                        // Time starten, der die Verbindung beendet, falls keine Antwort mehr kommt
                                     client.setTimeout(timeout);               // internes timeout setzen
                                     client.write(message);                    // Nachricht an Gerät senden
                                   });
                                   
                                   client.on('data', function(data) {          // Wenn daten ankommen, dann verarbeiten
                                     console.log('client received: x' + data + " for device: " + deviceName);
                                     terminatorStart();                        // Den Timeout verlängern
                                     var dataS = data.toString().trim();              // Datenbuffer in lesbaren Text umwandeln
                                     switch(dataS) {                           // je nach rückgabewert unterschiedliche Bearbeitung
                                         case "S;"+deviceName+";open":         // wenn open
                                         setState(dp_door,"open");             // dann Datenpunkt setzen
                                         break;
                                         case "S;"+deviceName+";closed":
                                         setState(dp_door,"closed");
                                         break;
                                         case "S;"+deviceName+";opening":
                                         setState(dp_door,"opening");
                                         break;
                                         case "S;"+deviceName+";closing":
                                         setState(dp_door,"closing");
                                         break;
                                         case "S;"+deviceName+";lightOn":
                                         setState(dp_light,"lightOn");
                                         break;
                                         case "S;"+deviceName+";lightOff":
                                         setState(dp_light,"lightOff");
                                         break;
                                     }
                                   });
                                   client.on("error",(err)=>{                  // wenn ein Fehler entsteht
                                     console.log("client error");
                                     terminatorEnd();                          // dann timeout beenden
                                    client.end();                             // Kommunikation beenden
                                     resolve(err);                             // und Fehlerdetails zurückgeben
                                   });
                                   client.on("timeout",()=>{                   // wenn timeout entsteht
                                     console.log("client timeout");
                                     terminatorEnd();                          // dann timeout beenden
                                     client.end();                             // Kommunikation beenden
                                     resolve("timeout");                       // text timeout zurückgeben
                                   });
                                   terminatorStart = function() {              // timeout starten oder verlängern
                                     console.log("client terminatorStart");
                                     if (terminator) clearTimeout(terminator); // evtl vorhanden timeout beenden
                                     terminator = setTimeout(() => {           // neuen timeout starten. wenn timeout eintritt, dann folgende funktionen ausführen
                                       console.log('cliend ended');
                                       client.end();                           // kommunikation beenden
                                       resolve("ok");                          // ok zurückgeben
                                     }, time2termination);                     // zeit für timeout angeben
                                   };
                                   terminatorEnd = function() {                // timeout beenden
                                     console.log("client terminatorEnd");
                                     if (terminator) clearTimeout(terminator);      
                                     client.end();  
                                   };
                                  });
                                  }
                                  on(dp_cmd, function (obj) {                     // trigger wenn datenpunkt beschrieben wird
                                   var cmd;
                                   if (!obj.state.ack) {                       // aber nur wenn es sich um einen unbestätigten wert handelt
                                       cmd = String(obj.state.val).toLowerCase();  // Datenpunktinhalt in Kleinbuchstaben umwandeln
                                       console.debug('execute command: ' + cmd);
                                       switch(cmd) {                           // je nach Datenpunktinhalt verschiedene Befehle
                                           case "open":                        // wenn open
                                               sendMessage(host, port, "C;"+deviceName+";open"); // dann richtigen Befehl an Gerät senden
                                               break;
                                           case "close":
                                               sendMessage(host, port, "C;"+deviceName+";close");
                                               break;
                                           case "stop":
                                               sendMessage(host, port, "C;"+deviceName+";stop");
                                               break;
                                           case "lighton":
                                               sendMessage(host, port, "C;"+deviceName+";lightOn");
                                               break;
                                           case "lightoff":
                                               sendMessage(host, port, "C;"+deviceName+";lightOff");
                                               break;
                                       }
                                       setState(obj.id, {val: "", ack: true}); // datenpunkt auf leer als bestätigt setzen
                                   }
                                  });
                                  
                                  
                                  

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

                                    @oliverio

                                    lightOn:

                                    1.9.2022, 05:57:50.085	[info ]: javascript.0 (1403834) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662004670085,"q":0,"from":"system.adapter.javascript.0","lc":1662004670085,"c":"script.js.Garage"})
                                    1.9.2022, 05:57:50.099	[info ]: javascript.0 (1403834) script.js.Garage: client terminatorStart
                                    1.9.2022, 05:57:50.100	[info ]: javascript.0 (1403834) script.js.Garage: setTimeout(ms=240000)
                                    1.9.2022, 05:57:50.151	[info ]: javascript.0 (1403834) script.js.Garage: client received: xR;OK
                                    for device: Garagentor
                                    1.9.2022, 05:57:50.152	[info ]: javascript.0 (1403834) script.js.Garage: client terminatorStart
                                    1.9.2022, 05:57:50.152	[info ]: javascript.0 (1403834) script.js.Garage: clearTimeout() => cleared
                                    1.9.2022, 05:57:50.152	[info ]: javascript.0 (1403834) script.js.Garage: setTimeout(ms=240000)
                                    1.9.2022, 05:57:50.317	[info ]: javascript.0 (1403834) script.js.Garage: client received: xS;Garagentor;lightOn
                                    for device: Garagentor
                                    1.9.2022, 05:57:50.318	[info ]: javascript.0 (1403834) script.js.Garage: client terminatorStart
                                    1.9.2022, 05:57:50.318	[info ]: javascript.0 (1403834) script.js.Garage: clearTimeout() => cleared
                                    1.9.2022, 05:57:50.319	[info ]: javascript.0 (1403834) script.js.Garage: setTimeout(ms=240000)
                                    1.9.2022, 05:57:50.319	[info ]: javascript.0 (1403834) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662004670319,"q":0,"from":"system.adapter.javascript.0","lc":1662004670319,"c":"script.js.Garage"})
                                    

                                    Open und Close sahen auch gut aus, hab aber erst heut abend Zeit um zu warten bis dasa licht aus geht.

                                    Die Datenpunkte werden beschrieben. Super!

                                    @rushmed sagte in Benötige Programmierhilfe Javascript:

                                    zu2) Habe das halboffene Tor zugefahren, lightoff kam an.

                                    Deswegen hat das Schließen weniger lange gedauert als sonst.

                                    Warum war denn jetzt S;Gagentor;opening ungleich S;Gagentor;opening?

                                    Ist es noch möglich Antworten von manuellen Eingaben (App, Fernbedienung und am Antrieb direkt) die nach time2termination passieren?

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

                                      @rushmed

                                      code nochmal umgestellt.
                                      der client-dienst läuft jetzt solange das skript läuft
                                      mit der Funktion send Message kannst du wie gehabt die Nachrichten senden
                                      der client-dienst wird beendet, sobald das skript gestoppt wird
                                      theoretisch müsste der client dienst nun auf alle nachrichten hören, die das garagentor sendet.
                                      einen timeout gibt es nicht mehr, ausser das garagentor sendet, das ende ist. aber das hatten wir bisher noch nicht gesehen

                                      @rushmed sagte in Benötige Programmierhilfe Javascript:

                                      Warum war denn jetzt S;Gagentor;opening ungleich S;Gagentor;opening?

                                      Am Ende der Nachricht hat noch ein Zeilenumbruch gehangen. Das ist mir in den Lognachrichten entgangen. Der trim-Befehl filtert diese Zeichen dann raus.
                                      Daher
                                      S;Gagentor;opening\n ungleich S;Gagentor;opening

                                      \n ist eine Notation für die nicht sichtbaren Steuerzeichen, hier newline

                                      
                                      
                                      var net = require('net'); 
                                      
                                      var dp_door = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor"; //door state
                                      var dp_light = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht"; //light state
                                      var dp_cmd = "0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command"; //Befehlsdatenpunkt: Mögliche Werte: open, close, stop, lighton, lightoff. Nach Beschreiben wird der Datenpunkt wieder auf leer gesetzt
                                      
                                      var deviceName = "Garagentor";
                                      var host = "192.168.178.149";
                                      var port = 2785;
                                      
                                      var client;
                                      
                                      function startClient() {
                                          client = new net.Socket();                 // Erzeugen eines neuen Verbindungsobjekts
                                          client.connect(port, host, function() {     // Gerät über host:port anwählen und Verbindung erzeugen
                                              console.log('cliend started');
                                          });
                                          client.on('data', function(data) {          // Wenn daten ankommen, dann verarbeiten
                                              console.log('client received: ' + data + " for device: " + deviceName);
                                              var dataS = data.toString().trim();              // Datenbuffer in lesbaren Text umwandeln
                                              switch(dataS) {                           // je nach rückgabewert unterschiedliche Bearbeitung
                                                  case "S;"+deviceName+";open":         // wenn open
                                                      setState(dp_door,"open");             // dann Datenpunkt setzen
                                                      break;
                                                  case "S;"+deviceName+";closed":
                                                      setState(dp_door,"closed");
                                                      break;
                                                  case "S;"+deviceName+";opening":
                                                      setState(dp_door,"opening");
                                                      break;
                                                  case "S;"+deviceName+";closing":
                                                      setState(dp_door,"closing");
                                                      break;
                                                  case "S;"+deviceName+";lightOn":
                                                      setState(dp_light,"lightOn");
                                                      break;
                                                  case "S;"+deviceName+";lightOff":
                                                      setState(dp_light,"lightOff");
                                                      break;
                                              }
                                          });
                                          client.on("error",(err)=>{                  // wenn ein Fehler entsteht
                                              console.log("client error " + err.toString());
                                          });
                                          client.on("timeout",()=>{                   // wenn timeout entsteht
                                              console.log("client timeout");
                                          });
                                      }
                                      
                                      function sendMessage(host, port, message) {
                                          return new Promise((resolve, reject) => {     // Funktion ist asynchron, daher Rückgabe promise
                                              if (!client) {
                                                  console.log("No Client available");
                                                  resolve("Error");
                                                  return;
                                              }
                                              client.write(message);
                                              resolve("OK");
                                          });
                                      }
                                      
                                      onStop (function(){
                                           /* do something when script is stopped */
                                           if (client) {
                                              console.log('client ended ');
                                              client.end();
                                           }
                                      }, 1000);
                                      
                                      startClient();
                                      
                                      on(dp_cmd, function (obj) {                     // trigger wenn datenpunkt beschrieben wird
                                       var cmd;
                                       if (!obj.state.ack) {                       // aber nur wenn es sich um einen unbestätigten wert handelt
                                           cmd = String(obj.state.val).toLowerCase();  // Datenpunktinhalt in Kleinbuchstaben umwandeln
                                           console.log('execute command: ' + cmd);
                                           switch(cmd) {                           // je nach Datenpunktinhalt verschiedene Befehle
                                               case "open":                        // wenn open
                                                   sendMessage(host, port, "C;"+deviceName+";open"); // dann richtigen Befehl an Gerät senden
                                                   break;
                                               case "close":
                                                   sendMessage(host, port, "C;"+deviceName+";close");
                                                   break;
                                               case "stop":
                                                   sendMessage(host, port, "C;"+deviceName+";stop");
                                                   break;
                                               case "lighton":
                                                   sendMessage(host, port, "C;"+deviceName+";lightOn");
                                                   break;
                                               case "lightoff":
                                                   sendMessage(host, port, "C;"+deviceName+";lightOff");
                                                   break;
                                           }
                                           setState(obj.id, {val: "", ack: true}); // datenpunkt auf leer als bestätigt setzen
                                       }
                                      });
                                      
                                      
                                      R 1 Reply Last reply Reply Quote 0
                                      • R
                                        Rushmed Most Active @OliverIO last edited by

                                        @oliverio Ok, danke.
                                        Ich würde heute Abend dann alle mögliche Szenarien durchtesten. Benötigst du noch Logs oder soll ich etwas bestimmtes testen?

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

                                          @rushmed
                                          ne erst mal nicht, ausser es passiert etwas besonderes.

                                          bitte mal auch skript mehrmals starten und stoppen und dann schauen wieviele gleiche nachrichten kommen.

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

                                            @oliverio Das läuft soweit klasse, supervielen Dank!
                                            Nach Script Neustart, aus und an Schalten kann ich doppelte aber bisher auch nur doppelte Rückmeldungen provozieren.

                                            1.9.2022, 20:09:07.380	[info ]: javascript.0 (1961154) Stop script script.js.Garage
                                            1.9.2022, 20:09:07.382	[info ]: javascript.0 (1961154) script.js.Garage: client ended 
                                            1.9.2022, 20:09:08.366	[info ]: javascript.0 (1961154) Start javascript script.js.Garage
                                            1.9.2022, 20:09:08.404	[info ]: javascript.0 (1961154) script.js.Garage: onStop(timeout=1000)
                                            1.9.2022, 20:09:08.407	[info ]: javascript.0 (1961154) script.js.Garage: subscribe: {"pattern":{"id":"0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command","change":"ne","q":0},"name":"script.js.Garage"}
                                            1.9.2022, 20:09:08.408	[info ]: javascript.0 (1961154) script.js.Garage: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            1.9.2022, 20:09:08.424	[info ]: javascript.0 (1961154) script.js.Garage: cliend started
                                            1.9.2022, 20:09:22.539	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lighton
                                            1.9.2022, 20:09:22.540	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055762540,"q":0,"from":"system.adapter.javascript.0","lc":1662055762540,"c":"script.js.Garage"})
                                            1.9.2022, 20:09:22.586	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:09:22.872	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:09:22.873	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055762873,"q":0,"from":"system.adapter.javascript.0","lc":1662055762873,"c":"script.js.Garage"})
                                            1.9.2022, 20:09:39.711	[info ]: javascript.0 (1961154) Stop script script.js.Garage
                                            1.9.2022, 20:09:39.777	[info ]: javascript.0 (1961154) Start javascript script.js.Garage
                                            1.9.2022, 20:09:39.826	[info ]: javascript.0 (1961154) script.js.Garage: onStop(timeout=1000)
                                            1.9.2022, 20:09:39.828	[info ]: javascript.0 (1961154) script.js.Garage: subscribe: {"pattern":{"id":"0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command","change":"ne","q":0},"name":"script.js.Garage"}
                                            1.9.2022, 20:09:39.828	[info ]: javascript.0 (1961154) script.js.Garage: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            1.9.2022, 20:09:39.841	[info ]: javascript.0 (1961154) script.js.Garage: cliend started
                                            1.9.2022, 20:10:14.468	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lightoff
                                            1.9.2022, 20:10:14.469	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055814469,"q":0,"from":"system.adapter.javascript.0","lc":1662055814469,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:14.470	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lightoff
                                            1.9.2022, 20:10:14.472	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055814471,"q":0,"from":"system.adapter.javascript.0","lc":1662055814469,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:14.525	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:10:14.552	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:10:15.732	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:10:15.733	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055815733,"q":0,"from":"system.adapter.javascript.0","lc":1662055815733,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:15.734	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:10:15.737	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055815737,"q":0,"from":"system.adapter.javascript.0","lc":1662055815733,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:26.293	[info ]: javascript.0 (1961154) Stop script script.js.Garage
                                            1.9.2022, 20:10:26.295	[info ]: javascript.0 (1961154) script.js.Garage: client ended 
                                            1.9.2022, 20:10:27.303	[info ]: javascript.0 (1961154) Start javascript script.js.Garage
                                            1.9.2022, 20:10:27.308	[info ]: javascript.0 (1961154) script.js.Garage: onStop(timeout=1000)
                                            1.9.2022, 20:10:27.309	[info ]: javascript.0 (1961154) script.js.Garage: subscribe: {"pattern":{"id":"0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command","change":"ne","q":0},"name":"script.js.Garage"}
                                            1.9.2022, 20:10:27.309	[info ]: javascript.0 (1961154) script.js.Garage: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            1.9.2022, 20:10:27.319	[info ]: javascript.0 (1961154) script.js.Garage: cliend started
                                            1.9.2022, 20:10:35.826	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lighton
                                            1.9.2022, 20:10:35.828	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055835828,"q":0,"from":"system.adapter.javascript.0","lc":1662055835828,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:36.069	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:10:36.286	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:10:36.287	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055836287,"q":0,"from":"system.adapter.javascript.0","lc":1662055836287,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:36.287	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:10:36.288	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055836288,"q":0,"from":"system.adapter.javascript.0","lc":1662055836287,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:55.516	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lightoff
                                            1.9.2022, 20:10:55.516	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055855516,"q":0,"from":"system.adapter.javascript.0","lc":1662055855516,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:55.558	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:10:56.676	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:10:56.677	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055856677,"q":0,"from":"system.adapter.javascript.0","lc":1662055856677,"c":"script.js.Garage"})
                                            1.9.2022, 20:10:56.678	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:10:56.678	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055856678,"q":0,"from":"system.adapter.javascript.0","lc":1662055856677,"c":"script.js.Garage"})
                                            1.9.2022, 20:11:17.185	[info ]: javascript.0 (1961154) Stop script script.js.Garage
                                            1.9.2022, 20:11:17.187	[info ]: javascript.0 (1961154) script.js.Garage: client ended 
                                            1.9.2022, 20:11:21.690	[info ]: javascript.0 (1961154) Start javascript script.js.Garage
                                            1.9.2022, 20:11:21.695	[info ]: javascript.0 (1961154) script.js.Garage: onStop(timeout=1000)
                                            1.9.2022, 20:11:21.696	[info ]: javascript.0 (1961154) script.js.Garage: subscribe: {"pattern":{"id":"0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command","change":"ne","q":0},"name":"script.js.Garage"}
                                            1.9.2022, 20:11:21.696	[info ]: javascript.0 (1961154) script.js.Garage: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            1.9.2022, 20:11:21.705	[info ]: javascript.0 (1961154) script.js.Garage: cliend started
                                            1.9.2022, 20:11:30.967	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lightoff
                                            1.9.2022, 20:11:30.968	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055890968,"q":0,"from":"system.adapter.javascript.0","lc":1662055890968,"c":"script.js.Garage"})
                                            1.9.2022, 20:11:31.081	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:11:46.199	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lighton
                                            1.9.2022, 20:11:46.200	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055906200,"q":0,"from":"system.adapter.javascript.0","lc":1662055906200,"c":"script.js.Garage"})
                                            1.9.2022, 20:11:46.244	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:11:46.486	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:11:46.487	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055906487,"q":0,"from":"system.adapter.javascript.0","lc":1662055906487,"c":"script.js.Garage"})
                                            1.9.2022, 20:11:46.487	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:11:46.488	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055906488,"q":0,"from":"system.adapter.javascript.0","lc":1662055906487,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:16.341	[info ]: javascript.0 (1961154) script.js.Garage: execute command: lighton
                                            1.9.2022, 20:12:16.342	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Command, state={"val":"","ack":true,"ts":1662055936342,"q":0,"from":"system.adapter.javascript.0","lc":1662055936342,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:16.401	[info ]: javascript.0 (1961154) script.js.Garage: client received: R;OK
                                            for device: Garagentor
                                            1.9.2022, 20:12:38.113	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:12:38.114	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055958114,"q":0,"from":"system.adapter.javascript.0","lc":1662055958114,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:38.114	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:12:38.115	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055958115,"q":0,"from":"system.adapter.javascript.0","lc":1662055958114,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:44.504	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:12:44.505	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055964505,"q":0,"from":"system.adapter.javascript.0","lc":1662055964505,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:44.505	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:12:44.506	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055964506,"q":0,"from":"system.adapter.javascript.0","lc":1662055964505,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:46.161	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:12:46.162	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055966162,"q":0,"from":"system.adapter.javascript.0","lc":1662055966162,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:46.163	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:12:46.164	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662055966163,"q":0,"from":"system.adapter.javascript.0","lc":1662055966162,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:56.426	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;opening
                                            for device: Garagentor
                                            1.9.2022, 20:12:56.426	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"opening","ack":false,"ts":1662055976426,"q":0,"from":"system.adapter.javascript.0","lc":1662055976426,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:56.427	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;opening
                                            for device: Garagentor
                                            1.9.2022, 20:12:56.427	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"opening","ack":false,"ts":1662055976427,"q":0,"from":"system.adapter.javascript.0","lc":1662055976426,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:56.502	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:12:56.502	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055976502,"q":0,"from":"system.adapter.javascript.0","lc":1662055976502,"c":"script.js.Garage"})
                                            1.9.2022, 20:12:56.507	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOn
                                            for device: Garagentor
                                            1.9.2022, 20:12:56.508	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055976508,"q":0,"from":"system.adapter.javascript.0","lc":1662055976502,"c":"script.js.Garage"})
                                            1.9.2022, 20:13:12.637	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;closing
                                            for device: Garagentor
                                            1.9.2022, 20:13:12.638	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"closing","ack":false,"ts":1662055992638,"q":0,"from":"system.adapter.javascript.0","lc":1662055992638,"c":"script.js.Garage"})
                                            1.9.2022, 20:13:12.639	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;closing
                                            for device: Garagentor
                                            1.9.2022, 20:13:12.640	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"closing","ack":false,"ts":1662055992639,"q":0,"from":"system.adapter.javascript.0","lc":1662055992638,"c":"script.js.Garage"})
                                            1.9.2022, 20:13:13.538	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;closed
                                            for device: Garagentor
                                            1.9.2022, 20:13:13.538	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"closed","ack":false,"ts":1662055993538,"q":0,"from":"system.adapter.javascript.0","lc":1662055993538,"c":"script.js.Garage"})
                                            1.9.2022, 20:13:13.539	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;closed
                                            for device: Garagentor
                                            1.9.2022, 20:13:13.539	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Tor, state={"val":"closed","ack":false,"ts":1662055993539,"q":0,"from":"system.adapter.javascript.0","lc":1662055993538,"c":"script.js.Garage"})
                                            1.9.2022, 20:16:12.242	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:16:12.242	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662056172242,"q":0,"from":"system.adapter.javascript.0","lc":1662056172242,"c":"script.js.Garage"})
                                            1.9.2022, 20:16:12.243	[info ]: javascript.0 (1961154) script.js.Garage: client received: S;Garagentor;lightOff
                                            for device: Garagentor
                                            1.9.2022, 20:16:12.243	[info ]: javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOff","ack":false,"ts":1662056172243,"q":0,"from":"system.adapter.javascript.0","lc":1662056172242,"c":"script.js.Garage"})
                                            

                                            Kannst du bitte noch diese Meldungen noch aus dem Log entfernen:

                                            javascript.0 (1961154) script.js.Garage: setForeignState(id=0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht, state={"val":"lightOn","ack":false,"ts":1662055976502,"q":0,"from":"system.adapter.javascript.0","lc":1662055976502,"c":"script.js.Garage"})
                                            
                                            OliverIO 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            690
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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