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.
    • 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
                                      • OliverIO
                                        OliverIO @Rushmed last edited by

                                        @rushmed
                                        das ist die verbose Einstellung, oben rechts im skript
                                        wenn du die ausmachst, dann kommt die nicht mehr

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

                                          @oliverio Ok, probiere ich aus.
                                          Könnte man Licht auch als einen boolschen Datenpunkt anlegen über den sowohl manuell gesteuert als auch die Status der Lampe zurück gegeben werden?

                                          Die Ausgabe von R; im LOG ist denke ich sinnvoll. Vor allem falls bei der ersten Einrichtung etwas schiefgeht. Vll. muss auch nicht R;OK in den LOG sondern nur die möglichen Fehler.

                                          Anwort Bedeutung
                                          Error: Invalid command Ungültiger Befehl
                                          Error: Not enough parameters
                                          Error: Unknown garage Garage ist nicht bekannt. Kontrollieren Sie den Namen der Garage in ihrer Smart Home Anwendung oder in der maveo app. 
                                          

                                          Ich kann den Command DP nicht mit InfluxDB loggen, die Datenreihe bleibt leer. Wir der Wert so schnell zurück gesetzt dass Influx das nicht mitbekommt?

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

                                            @rushmed said in Benötige Programmierhilfe Javascript:

                                            @oliverio Ok, probiere ich aus.
                                            Könnte man Licht auch als einen boolschen Datenpunkt anlegen über den sowohl manuell gesteuert als auch die Status der Lampe zurück gegeben werden?

                                            Theoretisch schon, aber du ja jetzt einen lesbaren Status
                                            und ein Vergleich auf == "LightOn" oder auf == true
                                            kommt auf das selbe heraus

                                            Die Ausgabe von R; im LOG ist denke ich sinnvoll. Vor allem falls bei der ersten Einrichtung etwas schiefgeht. Vll. muss auch nicht R;OK in den LOG sondern nur die möglichen Fehler.

                                            Da muss ich mal schauen. eigentlich wollte ich ja console.debug machen, aber das hat zu einem Fehler geführt. Gedacht war, das nicht zu viel im log erscheint, sondern nur wenn man das will.
                                            wenn du einzelne Nachrichten ausschalten willst, dann kannst du vor dem Befehle console.log
                                            das Kommentarzeichen // schreiben. Dann werden die Anweisungen nicht mehr ausgeführt

                                            Anwort Bedeutung
                                            Error: Invalid command Ungültiger Befehl
                                            Error: Not enough parameters
                                            Error: Unknown garage Garage ist nicht bekannt. Kontrollieren Sie den Namen der Garage in ihrer Smart Home Anwendung oder in der maveo app. 
                                            

                                            Ich kann den Command DP nicht mit InfluxDB loggen, die Datenreihe bleibt leer. Wir der Wert so schnell zurück gesetzt dass Influx das nicht mitbekommt?

                                            Nein, InfluxDB wird nur bestätigte Nachrichten aufzeichnen.
                                            Du schreibst den Befehl auch als unbestätigt rein. Musst du aber auch, der Trigger hört aktuell nur auf unbestätigte Nachrichten

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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