Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Benötige Programmierhilfe Javascript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Benötige Programmierhilfe Javascript

Geplant Angeheftet Gesperrt Verschoben JavaScript
communicationjavascriptmonitoring
60 Beiträge 5 Kommentatoren 5.0k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OliverIOO OliverIO

    @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 Offline
    R Offline
    Rushmed
    Most Active
    schrieb am zuletzt editiert von
    #37

    @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!

    OliverIOO 1 Antwort Letzte Antwort
    0
    • R Rushmed

      @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!

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #38

      @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

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      R 1 Antwort Letzte Antwort
      0
      • OliverIOO 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 Offline
        R Offline
        Rushmed
        Most Active
        schrieb am zuletzt editiert von
        #39

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

        OliverIOO 1 Antwort Letzte Antwort
        0
        • R Rushmed

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

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #40

          @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
           }
          });
          
          
          

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          R 1 Antwort Letzte Antwort
          0
          • OliverIOO 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 Offline
            R Offline
            Rushmed
            Most Active
            schrieb am zuletzt editiert von Rushmed
            #41

            @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 Antwort Letzte Antwort
            0
            • OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #42

              @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
               }
              });
              
              

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              R 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @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 Offline
                R Offline
                Rushmed
                Most Active
                schrieb am zuletzt editiert von
                #43

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

                OliverIOO 1 Antwort Letzte Antwort
                0
                • R Rushmed

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

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #44

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

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  R 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @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 Offline
                    R Offline
                    Rushmed
                    Most Active
                    schrieb am zuletzt editiert von Rushmed
                    #45

                    @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"})
                    
                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • R 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"})
                      
                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #46

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

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        Rushmed
                        Most Active
                        schrieb am zuletzt editiert von
                        #47

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

                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • R Rushmed

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

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #48

                          @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

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          R 1 Antwort Letzte Antwort
                          0
                          • OliverIOO OliverIO

                            @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 Offline
                            R Offline
                            Rushmed
                            Most Active
                            schrieb am zuletzt editiert von Rushmed
                            #49

                            @oliverio OK danke, verbose deaktiviert, funktioniert.

                            @oliverio sagte in Benötige Programmierhilfe Javascript:

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

                            Ich brauche das für meine Alexas als ein Gerät (DP) der sowohl zum Steuern da ist als auch immer den aktuellen Status beinhaltet. Habe einen DP Lampe Garagentor angelgt den ich an und aus schalten kann. Den hab ich dann als Write für einen Alias Garagentorbeleuchtung eingetragen und Status Garagentorbeleuchtung als Read. Vom Status habe ich vorher die Ausgabe im Script auf true/false geändert. Das funktioniert nicht, vermutlich weil DP 0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht als Typ Sting und nicht Boolean kommt. 0_userdata.0.Eigene_Datenpunkte.Garage.Garage_Status_Licht als boolean festzulegen geht auch nicht, dan meckert das Script.

                            @oliverio sagte in Benötige Programmierhilfe Javascript:

                            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

                            Sorry, Fehlalarm. Die Fehler erscheinen wir gewünscht im Log.

                            Hab das Resultat unserer Arbeit hier zusammengefasst.

                            1 Antwort Letzte Antwort
                            0
                            • Gerudom 0G Offline
                              Gerudom 0G Offline
                              Gerudom 0
                              schrieb am zuletzt editiert von
                              #50

                              Hallo, wie verhält es sich denn wenn das Garagentor auf Status "Intermediate" steht. Also gekippt ist ?
                              Im Status steht hier nur "Opening" was falsch ist. Hat da jemand eine Idee ? Ich finde es nirgends in den Beschreibungen

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • Gerudom 0G Gerudom 0

                                Hallo, wie verhält es sich denn wenn das Garagentor auf Status "Intermediate" steht. Also gekippt ist ?
                                Im Status steht hier nur "Opening" was falsch ist. Hat da jemand eine Idee ? Ich finde es nirgends in den Beschreibungen

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von
                                #51

                                @gerudom-0

                                und wo kommt der neue Status her?
                                Der ist nirgends beschrieben oder erwähnt hier.
                                Die Doku vom Hersteller ist auch sehr dürftig.

                                Was sollte den deiner Meinung nach passieren?

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                1 Antwort Letzte Antwort
                                0
                                • Gerudom 0G Offline
                                  Gerudom 0G Offline
                                  Gerudom 0
                                  schrieb am zuletzt editiert von
                                  #52

                                  @oliverio naja also mein Garagentor kann kippen. In der App wäre es der Button in der Mitte Lüften. Warum der Status nicht beschrieben ist kann ich nicht sagen. Das es ihn aber gibt ist Fakt. Auf diesem Status zählt der dann nämlich die Zeit nach dem drücken. Warum relevant? Ich hab ne Lichtsteuerung die das Tor beleuchtet. Licht geh an wenn Status opening und bei Open mach dies und das. Gleiches Spiel bei Close. Der Status intermediate wird warum auch immer in der API mit dem Dauerstatus Opening quittiert. In meiner Lichtsteuerung also Dauerlicht... Kann das nicht abfangen. Ein logisches und mit negierter Open Abfrage funktioniert leider auch nur bedingt. Es ist schon echt komisch was die Marantec Firma da seit Jahren produziert.

                                  OliverIOO R 2 Antworten Letzte Antwort
                                  0
                                  • Gerudom 0G Gerudom 0

                                    @oliverio naja also mein Garagentor kann kippen. In der App wäre es der Button in der Mitte Lüften. Warum der Status nicht beschrieben ist kann ich nicht sagen. Das es ihn aber gibt ist Fakt. Auf diesem Status zählt der dann nämlich die Zeit nach dem drücken. Warum relevant? Ich hab ne Lichtsteuerung die das Tor beleuchtet. Licht geh an wenn Status opening und bei Open mach dies und das. Gleiches Spiel bei Close. Der Status intermediate wird warum auch immer in der API mit dem Dauerstatus Opening quittiert. In meiner Lichtsteuerung also Dauerlicht... Kann das nicht abfangen. Ein logisches und mit negierter Open Abfrage funktioniert leider auch nur bedingt. Es ist schon echt komisch was die Marantec Firma da seit Jahren produziert.

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von OliverIO
                                    #53

                                    Ok, wir versuchen es mal langsam

                                    @gerudom-0 sagte in Benötige Programmierhilfe Javascript:

                                    naja also mein Garagentor kann kippen.

                                    Ja das ist klar, das du es siehst. Problem ist, das wir nur die ankommenden Daten interpretieren können ohne das wir das sehen.

                                    In der App wäre es der Button in der Mitte Lüften.

                                    Lüften? Ich habe den Garagentoröffner nicht. Ich habe nicht mal eine Garage. Von daher weiß ich nichts von einer Fernbedienung oder wie sie aussieht.

                                    Warum der Status nicht beschrieben ist kann ich nicht sagen. Das es ihn aber gibt ist Fakt.

                                    Nochmal die Frage, hast du den auf der Schnittstelle gesehen? Sendet das Garagentor diese Daten? oder ist es nur das was du siehst: Tor ist gestoppt?

                                    Auf diesem Status zählt der dann nämlich die Zeit nach dem drücken.

                                    Welche Zeit? Wo sieht man das das der zählt? Aus den bisherigen Berichten kommen keine Einzeldaten zur Zeit. ggfs. wird der Status Opening mehrmals wiederholt. Allerdings konnte ich da noch keine Regel ableiten, auf Basis der man was interpretieren kann.

                                    Warum relevant? Ich hab ne Lichtsteuerung die das Tor beleuchtet. Licht geh an wenn Status opening und bei Open mach dies und das. Gleiches Spiel bei Close.

                                    Der Status intermediate wird warum auch immer in der API mit dem Dauerstatus Opening quittiert.

                                    Weil ich genau den Status (also das Skript), den die Steuerung übermittelt, übersetze und dann direkt in einen Datenpunkt schreibe.

                                    In meiner Lichtsteuerung also Dauerlicht... Kann das nicht abfangen. Ein logisches und mit negierter Open Abfrage funktioniert leider auch nur bedingt. Es ist schon echt komisch was die Marantec Firma da seit Jahren produziert.

                                    Frag doch mal beim Support an, wie du das auf der Schnittstelle erkennen kannst? Leider ist die Dokumentation etwas älter und mittlerweile sendet die Steuerung auch leicht abgewandelte Daten. Ein aktuelles offizielles Dokument das zum aktuellen Status passt habe ich nicht gesehen.

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    1 Antwort Letzte Antwort
                                    0
                                    • Gerudom 0G Gerudom 0

                                      @oliverio naja also mein Garagentor kann kippen. In der App wäre es der Button in der Mitte Lüften. Warum der Status nicht beschrieben ist kann ich nicht sagen. Das es ihn aber gibt ist Fakt. Auf diesem Status zählt der dann nämlich die Zeit nach dem drücken. Warum relevant? Ich hab ne Lichtsteuerung die das Tor beleuchtet. Licht geh an wenn Status opening und bei Open mach dies und das. Gleiches Spiel bei Close. Der Status intermediate wird warum auch immer in der API mit dem Dauerstatus Opening quittiert. In meiner Lichtsteuerung also Dauerlicht... Kann das nicht abfangen. Ein logisches und mit negierter Open Abfrage funktioniert leider auch nur bedingt. Es ist schon echt komisch was die Marantec Firma da seit Jahren produziert.

                                      R Offline
                                      R Offline
                                      Rushmed
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #54

                                      @gerudom-0 Vll. erstmal ein paar Eckdaten. Um welchen Torantrieb geht es bei dir? Hersteller, Bezeichnung? Welche App?

                                      Gerudom 0G 1 Antwort Letzte Antwort
                                      0
                                      • R Rushmed

                                        @gerudom-0 Vll. erstmal ein paar Eckdaten. Um welchen Torantrieb geht es bei dir? Hersteller, Bezeichnung? Welche App?

                                        Gerudom 0G Offline
                                        Gerudom 0G Offline
                                        Gerudom 0
                                        schrieb am zuletzt editiert von
                                        #55

                                        @rushmed Marantec comfort 370 heißt der Antrieb und von Maveo gibt's die Smarte Lösung dazu samt ios App. https://apps.apple.com/de/app/maveo-app/id1552198418

                                        Ich hab Mal beim Support gefragt was die dazu sagen.

                                        OliverIOO 1 Antwort Letzte Antwort
                                        0
                                        • Gerudom 0G Gerudom 0

                                          @rushmed Marantec comfort 370 heißt der Antrieb und von Maveo gibt's die Smarte Lösung dazu samt ios App. https://apps.apple.com/de/app/maveo-app/id1552198418

                                          Ich hab Mal beim Support gefragt was die dazu sagen.

                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von OliverIO
                                          #56

                                          @gerudom-0

                                          und in dieser app sieht man dieses intermediate?
                                          bzw. was sagt die app, wenn das tor mitten drin stoppt?

                                          Nachtrag:
                                          Ich habe mir mal die App angeschaut.
                                          Allerdings die android App, weil man bei den apple-apps nicht "reinschauen" kann.
                                          https://play.google.com/store/apps/details?id=com.marantec.maveoprogta&hl=de&gl=US

                                          Diese App funktioniert über eine andere Schnittstelle, wie der Code oben.
                                          Die App nimmt per Bluetooth kontakt auf und wertet dann diese Daten, welche aber komplett anders aufgebaut sind, aus.
                                          In dieser App sehe ich die folgenden States:

                                          • GATE_POSITION_IN_BETWEEN
                                          • GATE_POSITION_OPEN
                                          • GATE_POSITION_OPENING
                                          • GATE_POSITION_CLOSING
                                          • GATE_POSITION_CLOSED

                                          und siehe da, es gibt einen weiteren Status, den die tcp schnittstelle nicht liefert.
                                          Ich interpretiere GATE_POSITION_IN_BETWEEN als mittendrin gestoppt, da opening und closing = mitten drin aber in Bewegung bedeutet.

                                          In die App reinschauen ist allerdings kein dankbarer job, da das hauptscript aus 25000 Zeilen besteht und durch webpack durchgenudelt wurde.
                                          Gott sei dank nicht minifiziert und alles in javascript und html.
                                          lustigerweise sind da portraitbilder mit enthalten. wahrscheinlich die entwickler oder die mitarbeiter der firma
                                          was für ein schrott die heute alles in die apps mit reinpacken

                                          nochmal nachtrag. die obige app ist eine app für eine profilösung
                                          ein weiterer durchgang mit dieser app
                                          https://play.google.com/store/apps/details?id=com.marantec.maveoapp2&hl=de&gl=US
                                          lief leider nicht so gut. die ist technisch anders umgesetzt und daher nicht wirklich einsehbar. ich gehe aber davon aus, das die funktionsweise nicht viel anders ist wie die obige

                                          Meine Adapter und Widgets
                                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                          Links im Profil

                                          Gerudom 0G 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          818

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe