Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Major Update] UniFi Adapter v0.5.0

NEWS

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

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

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

[Major Update] UniFi Adapter v0.5.0

Scheduled Pinned Locked Moved Entwicklung
unifi
510 Posts 54 Posters 117.4k Views 51 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mtaxer
    wrote on last edited by
    #236

    @braindead
    Welcher Zeitraum steckt denn hinter den Datenpunkten:
    unifi.0.default.devices.[USG 3P].port_table.wan.rx_bytes
    und
    unifi.0.default.devices.[USG 3P].port_table.wan.tx_bytes

    Danke

    SG
    Mario

    1 Reply Last reply
    0
    • braindeadB braindead

      @BBTown Ich habe klar kommuniziert, was ich mit dem Adapter erreichen möchte und in welcher Reihenfolge das passiert. Einige Dinge (RX/TX) werden nebenbei mitgenommen, andere werden eingebaut sobald sie ins Konzept passen.

      Es steht wirklich jedem frei einen Beitrag zum Adapter zu leisten in Form von Commits auf GitHub. Dein verlinkter Kommentar ist mittlerweile 22 Tage alt, also mehr als genug Zeit den Commit zu machen.

      Aber irgendetwas scheint auch für Dich einfach wichtiger zu sein ... ;-)

      BBTownB Offline
      BBTownB Offline
      BBTown
      wrote on last edited by
      #237

      @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

      Es steht wirklich jedem frei einen Beitrag zum Adapter zu leisten in Form von Commits auf GitHub. Dein verlinkter Kommentar ist mittlerweile 22 Tage alt, also mehr als genug Zeit den Commit zu machen.
      Aber irgendetwas scheint auch für Dich einfach wichtiger zu sein ...

      ja, wenn es rein um die Form geht, und Du Wünsche und Kommentare hier im Thread nicht berücksichtigen magst, dann kann man das selbstverständlich so handhaben. Entweder baut man einen Adapter der möglichst viele anspricht, oder man baut den eben vorrangig für sich selbst.

      Mitunter schmeckt der Köder dem Angler eben besser als dem Fisch :sunglasses:

      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

      braindeadB SunshinemakerS 2 Replies Last reply
      0
      • BBTownB BBTown

        @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

        Es steht wirklich jedem frei einen Beitrag zum Adapter zu leisten in Form von Commits auf GitHub. Dein verlinkter Kommentar ist mittlerweile 22 Tage alt, also mehr als genug Zeit den Commit zu machen.
        Aber irgendetwas scheint auch für Dich einfach wichtiger zu sein ...

        ja, wenn es rein um die Form geht, und Du Wünsche und Kommentare hier im Thread nicht berücksichtigen magst, dann kann man das selbstverständlich so handhaben. Entweder baut man einen Adapter der möglichst viele anspricht, oder man baut den eben vorrangig für sich selbst.

        Mitunter schmeckt der Köder dem Angler eben besser als dem Fisch :sunglasses:

        braindeadB Offline
        braindeadB Offline
        braindead
        Developer
        wrote on last edited by
        #238

        @BBTown Interessant, den ersten Teil meiner Antwort zitierst Du nicht. Wahrscheinlich passt er nicht zu Deiner gewollten Aussage und dem flotten Spruch am Ende, oder?

        Um das Thema abzuschließen: Eine Whitelist kommt, sobald alle wichtigeren Punkte abgearbeitet sind. Wenn der Adapter bis dahin für Dich nicht zu gebrauchen ist, dann sei es so. Mehr als 1000 Installationen >= v0.4.3 zeugen davon, dass es genug User gibt, die den Adapter auch ohne Whitelist nutzen.

        BBTownB 1 Reply Last reply
        2
        • BBTownB BBTown

          @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

          Es steht wirklich jedem frei einen Beitrag zum Adapter zu leisten in Form von Commits auf GitHub. Dein verlinkter Kommentar ist mittlerweile 22 Tage alt, also mehr als genug Zeit den Commit zu machen.
          Aber irgendetwas scheint auch für Dich einfach wichtiger zu sein ...

          ja, wenn es rein um die Form geht, und Du Wünsche und Kommentare hier im Thread nicht berücksichtigen magst, dann kann man das selbstverständlich so handhaben. Entweder baut man einen Adapter der möglichst viele anspricht, oder man baut den eben vorrangig für sich selbst.

          Mitunter schmeckt der Köder dem Angler eben besser als dem Fisch :sunglasses:

          SunshinemakerS Offline
          SunshinemakerS Offline
          Sunshinemaker
          wrote on last edited by
          #239

          @BBTown said in [Major Update] UniFi Adapter v0.5.0:

          Mitunter schmeckt der Köder dem Angler eben besser als dem Fisch :sunglasses:

          Ich würde mal behaupten das die meisten Adapter daraus Endstanden sind das jemand etwas für sich selbst gebraucht hat was es bisdahin nicht gab oder er mit dem was es gab unzufrieden war. Es ist also jedem freigestellt, wenn er nicht zufrieden ist, etwas eigenes auf die Beine zu stellen. Aber die meisten machen es nicht weil die es entweder nicht können, keine zeit oder lust oder beides haben sich damit zu beschäftigen und es lernen oder ganz einfach nur zu faul dafür sind.

          Ich für meinen Teil will nicht abstreiten das mir auch auch die Motivation fehlt es zu lernen einen Adapter zu schreiben, aber ich versuche auch nicht die Hand zu beißen die mich füttert.

          Muß eben jeder selber wissen wie er sich verhält.

          1 Reply Last reply
          0
          • braindeadB braindead

            @BBTown Interessant, den ersten Teil meiner Antwort zitierst Du nicht. Wahrscheinlich passt er nicht zu Deiner gewollten Aussage und dem flotten Spruch am Ende, oder?

            Um das Thema abzuschließen: Eine Whitelist kommt, sobald alle wichtigeren Punkte abgearbeitet sind. Wenn der Adapter bis dahin für Dich nicht zu gebrauchen ist, dann sei es so. Mehr als 1000 Installationen >= v0.4.3 zeugen davon, dass es genug User gibt, die den Adapter auch ohne Whitelist nutzen.

            BBTownB Offline
            BBTownB Offline
            BBTown
            wrote on last edited by
            #240

            @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

            @BBTown Interessant, den ersten Teil meiner Antwort zitierst Du nicht. Wahrscheinlich passt er nicht zu Deiner gewollten Aussage und dem flotten Spruch am Ende, oder?

            das ganze Thema ist ja wie gesagt nicht neu, und zum Thema "Github" und "es interessiert mich nicht", verweise ich einfach mal auf diesen Beitrag ...

            Ich wollte mich übrigens gar nicht streiten :sunglasses:

            ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

            1 Reply Last reply
            0
            • L Offline
              L Offline
              looxer01
              wrote on last edited by looxer01
              #241

              Hi,
              super Arbeit !!!!
              Ich habe schon lange einen Unifi Access Point. Eigentlich lief es bisher ok aber jetzt ist das SetUp wesentlich effizienter und übersichtlicher.
              Vielen Dank dafür.
              Für alle die Interesse haben und als kleines Danke schön an @braindead Ich habe vor Jahren mal ein AnwesenheitsControl Script für TR64 geschrieben. Jetzt habe ich ein kleines Script für den Unifi Adapter geschrieben (eigentlich für mich - Teile ich aber gerne :)
              Das Script kann wie gehabt ein externes Logging, eine Jason mit Komm und Geht und eine einfache Liste der Anwesenheiten.
              Ausserdem lassen sich die States aus Unifi spiegeln. Vielleicht hilft das bei dem Thema WhiteList.
              Der Hauptnutzen des Scriptes ist es aber einen Datenpunkt zu haben, der die Anwesenheiten kumuliert. Also JemandDA oder nicht..

              weiter unten das Script. Habe es einfach gehalten. Damit sollten also Anpassungen leicht möglich sein.

              Liebe Grüße
              Looxer

              //-----------------------------------------------------------------------------------------------------
              // Einstellungsbereich
              //-----------------------------------------------------------------------------------------------------
              
              // Liste der teilnehmenden User/Geräte
              var Anwesenheit = [];
              Anwesenheit[0] = ['unifi.0.default.clients.7c:94:2a:xx:4e:xx.is_online', 'Daisy' ];
              Anwesenheit[1] = ['unifi.0.default.clients.b8:7b:c5:xx:4c:xx.is_online', 'Micky' ];
              Anwesenheit[2] = ['unifi.0.default.clients.d0:2b:20:xx:98:xx.is_online', 'Tick' ];
              Anwesenheit[3] = ['unifi.0.default.clients.8c:8e:f2:xx:6f:xx.is_online', 'Trick' ];
              Anwesenheit[4] = ['unifi.0.default.clients.88:44:77:xx:5b:xx.is_online', 'Track' ];
              
              var path = "javascript.0.Anwesenheitssteuerung.Userlist."
                                                             
              //Logging
                 var logflag = false;                                                         // logging enabled
                 var LogPath = "/opt/iobroker/iobroker-data/Anwesenheiten2.csv";             // Pfad und Dateiname des externen Logs
              
              // Debug
              var debug = true;                                                                   // mehr/weniger meldungen im Log
              
              // States anlegen ?
              var CreateAllStates = true;                                                    // checken ob alle States angeleget sind ? dann auf true
              
              var shadowing = true;                                                           // user Status spiegeln 
              
              //-------------------------------------------------------------------------------------------------------
              // Start der Logik
              //-------------------------------------------------------------------------------------------------------
              var fs = require('fs');                     // enable write fuer externes log
              
              var UserAllText         = "JemandDa"; // ist irgendwer da ?
              var UserString          = "Liste"; // Statename fuer die Liste in VIS
              
              if (CreateAllStates) {
                  CreateStates(); // States anlegen
              };
              Subscribe(); // Subscriptions fuer alle User anlegen
              
              
              
              
              
              //-----------------------------------------------------------------------------------------------------
              // Suscription
              //-----------------------------------------------------------------------------------------------------
              function Subscribe () {
              
                  for (var i in Anwesenheit) {  // loop ueber alle 
                      log("Subscription fuer "+Anwesenheit[i][1] + " erstellt","info");
                      on({id: Anwesenheit[i][0], change: 'any'}, function(obj) {  // erstelle subscription
                          if (obj.state.val !== obj.oldState.val) {
                              if(debug ) {log ("Anwesenheitsstatus Aenderung fuer Objekt " + obj.id  +" auf " + obj.state.val + " erkannt","info" )};
                              UserUpdate(obj.id,obj.state.val );
                          }
              
                      }); // endon
                  }
              }
              
              //-----------------------------------------------------------------------------------------------------
              // Userupdate
              //-----------------------------------------------------------------------------------------------------
              function UserUpdate (objekt,Status) {
                  var User = "";
                  var CreationTime = formatDate(new Date(),"TT.MM.JJJJ SS:mm:ss");
                  var LogString= "";
                  var anzahluser = 0;
                  
                  // auslösenden User ermitteln
                  for (var i in Anwesenheit) {  // loop ueber alle
                      anzahluser = anzahluser + 1 ;
                      if(Anwesenheit[i][0] === objekt ) {     // das ist der Auslöser
                          User = Anwesenheit[i][1]
                          log ("Anwesenheitsstatus Aenderung fuer User " + User + " auf " + Status + " erkannt","info" );
                      }
                  }
                  if(debug) {log("Anzahl User in der Userlist = "+ anzahluser,"info")}
                  if(Status === true) {                   // user wurde auf anwesend gesetzt
                      setState(path+"1KommtGeht."+User+"Kommt",CreationTime);
                      LogString = User + ";"+ "Kommt";         
                      writelog(LogString);    
                  }else{  
                      setState(path+"1KommtGeht."+User+"Geht",CreationTime);
                      LogString = User + ";" + "Geht"; 
                      writelog(LogString);   
                  }
              
                  // jetzt schauen ob kein User mehr da ist
                  var Userda = false;
                  var Userlist = "";
                  for (var i in Anwesenheit) {  // loop ueber alle
                      if (existsState(Anwesenheit[i][0]) ) { 
                          if (getState(Anwesenheit[i][0]).val) {
                              Userda = true;
                              Userlist = Userlist + " " + Anwesenheit[i][1];
                          }
                      }
                  } 
                  if(!Userda) {
                      setState(path+UserAllText,false );   // kein User da
                      Userlist = "Niemand";              // kein User da
              
                  }else{
                      setState(path+UserAllText,true );   // wenn mindestens ein user da ist dann ist der state JemandDa = true
                  }
                  setState(path+UserString,Userlist );   // update der Userlist
              
              
              // jetzt Jason füllen
                  var JasonString ="";
                  var counter = 0;
                  var UserStatus = false;
                  var UserKommt = "";
                  var UserGeht = "";
                  for (var i in Anwesenheit) {  // loop ueber alle
                      counter = counter + 1 ;
                      //   Jason (Descr1, Wert1,  Deesc2, Wert2,  Deesc3, Wer3,  Deesc4, Wert4,
                      if ( counter === 1 ) {                                                                    // Eroeffnung der Json Tabelle
                          JasonString = "[";                                                      
                      }
                      if (existsState(Anwesenheit[i][0]) ) { 
                          UserStatus = getState(Anwesenheit[i][0]).val;
                      }else {
                          UserStatus = false;
                      };
              
                      if(Anwesenheit[i][1] === User ) {                                                   // auslösender User
                          if(Status === true) {                                                           // user ist gekommen
                              UserKommt = CreationTime;                                                   // aktuelle Zeit setzen
                              UserGeht = getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht").val;
                              if(shadowing) {
                                  setState(path+Anwesenheit[i][1],true);
                              }
                           }else {                                                                        // user ist gegangen
                              UserGeht = CreationTime;
                              UserKommt =getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt").val; 
                              if(shadowing  ) {
                                  setState(path+Anwesenheit[i][1],false);
                              }
                           } 
                        }else {
                          UserKommt =getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt").val;          // wenn dieser User nicht auslösend war dann nur den gespeicherten Wert einlesen --- Kommt
                          UserGeht = getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht").val;
                          if(shadowing) {
                              if (existsState(Anwesenheit[i][0])) {
                                  setState(path+Anwesenheit[i][1],getState(Anwesenheit[i][0]).val);
                                 }else {
                                  setState(path+Anwesenheit[i][1],false);
                              }
                          }
                      };
                      JasonString = JasonString +JasonCreate ("Name", Anwesenheit[i][1], "Status", UserStatus, "Kommt", UserKommt , "Geht", UserGeht );
                      if ( counter === anzahluser ) { 
                          JasonString = JasonString + "]";                                                // Schliessen der Json Tabelle
                       } else {
                          JasonString = JasonString + ",";                                                  // Schliessen einer einzelnen Zeile - nur die letzte nicht
                      };
                  
                  } // ende for
                  setState(path+'1KommtGeht.' + "AnwesenheitJason", JasonString);       
              
              
              
              }  // Ende Funktion
              
              
              //-----------------------------------------------------------------------------------------------------
              // Erstellung von jason strings zur Tabellendarstellung
              //-----------------------------------------------------------------------------------------------------
              function JasonCreate (Desc1, Wert1, Desc2, Wert2, Desc3,Wert3, Desc4,Wert4) {
              
              var buildzeile = "{";
              buildzeile = buildzeile +  '"'  + Desc1+ '":';
              buildzeile = buildzeile +  '"'  + Wert1 + '"' + ",";
              buildzeile = buildzeile +  '"'  + Desc2 + '"' + ":";
              buildzeile = buildzeile +  '"'  + Wert2 + '"' + ",";
              buildzeile = buildzeile +  '"'  + Desc3 + '"' + ":";
              buildzeile = buildzeile +  '"'  + Wert3 + '"' + ",";
              buildzeile = buildzeile +  '"'  + Desc4 + '"' + ":";
              buildzeile = buildzeile +  '"'  + Wert4 + '"' + "}";
              
              
              return buildzeile;
                  
              } // Ende Funktion
              
              //-----------------------------------------------------------------------------------------------------
              // Funktion schreibt einen Logeintrag in das Filesystem und auch in das interne Log-System
              //-----------------------------------------------------------------------------------------------------
              function writelog(string) {
                  if (logflag === true) {
                      var logdate = formatDate(new Date(),"TT.MM.JJJJ");
                      var logtime = formatDate(new Date(),"SS:mm:ss");
              
                      fs.readFile(LogPath, 'utf8', function(err,data){
                          if (!err){
                              fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n");       // Füge Satz in Datei ein
                          }else{
                              log("Logfile nicht gefunden - wird angelegt"), "info";
                              var headerLine= "Datum;Uhrzeit;Name;Kommt-Geht";
                              fs.appendFileSync(LogPath, headerLine + "\n");       // Füge Satz in Datei ein
                              fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n");       // Füge Satz in Datei ein
                          } // ende check error
                      }); // ende check File
                  } // endif check logflag
              
              } // Ende Funktion
              
              //-----------------------------------------------------------------------------------------------------
              // States erstellen
              //-----------------------------------------------------------------------------------------------------
              function CreateStates () {
              
              
                  for (var i in Anwesenheit) {  // loop ueber alle 
                      if(shadowing) { 
                          createState(path+Anwesenheit[i][1] , false , {read: true, write: true, type: 'boolean', name: 'Anwesenheit - User '+Anwesenheit[i][1], desc: 'ZAnwesenheit - User '+Anwesenheit[i][1] } );       
                      }
                      createState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht"   , "", {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen', desc: 'Zeit gehen  User '+Anwesenheit[i][1] } );
                      createState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt" , "", {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit einloggen', desc: 'Zeit kommen User '+Anwesenheit[i][1] } );
                  };
                  createState(path+UserAllText      , false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit alle User', desc: 'Anwesenheit alle User'})
                  createState(path+UserString , "Niemand", {read: true, write: true, type: 'string', name: 'Anwesenheit Userliste', desc: 'Anwesenheit Userliste'});
                  createState( path + '1KommtGeht.' + "AnwesenheitJason", "",{read: true, write: true, type: 'string', name: 'Anwesenheitsstatus Jason Liste', desc: 'UserListe als Jason'});
              
              };  // Ende Funktion
              
              
              

              dslraserD 1 Reply Last reply
              0
              • L looxer01

                Hi,
                super Arbeit !!!!
                Ich habe schon lange einen Unifi Access Point. Eigentlich lief es bisher ok aber jetzt ist das SetUp wesentlich effizienter und übersichtlicher.
                Vielen Dank dafür.
                Für alle die Interesse haben und als kleines Danke schön an @braindead Ich habe vor Jahren mal ein AnwesenheitsControl Script für TR64 geschrieben. Jetzt habe ich ein kleines Script für den Unifi Adapter geschrieben (eigentlich für mich - Teile ich aber gerne :)
                Das Script kann wie gehabt ein externes Logging, eine Jason mit Komm und Geht und eine einfache Liste der Anwesenheiten.
                Ausserdem lassen sich die States aus Unifi spiegeln. Vielleicht hilft das bei dem Thema WhiteList.
                Der Hauptnutzen des Scriptes ist es aber einen Datenpunkt zu haben, der die Anwesenheiten kumuliert. Also JemandDA oder nicht..

                weiter unten das Script. Habe es einfach gehalten. Damit sollten also Anpassungen leicht möglich sein.

                Liebe Grüße
                Looxer

                //-----------------------------------------------------------------------------------------------------
                // Einstellungsbereich
                //-----------------------------------------------------------------------------------------------------
                
                // Liste der teilnehmenden User/Geräte
                var Anwesenheit = [];
                Anwesenheit[0] = ['unifi.0.default.clients.7c:94:2a:xx:4e:xx.is_online', 'Daisy' ];
                Anwesenheit[1] = ['unifi.0.default.clients.b8:7b:c5:xx:4c:xx.is_online', 'Micky' ];
                Anwesenheit[2] = ['unifi.0.default.clients.d0:2b:20:xx:98:xx.is_online', 'Tick' ];
                Anwesenheit[3] = ['unifi.0.default.clients.8c:8e:f2:xx:6f:xx.is_online', 'Trick' ];
                Anwesenheit[4] = ['unifi.0.default.clients.88:44:77:xx:5b:xx.is_online', 'Track' ];
                
                var path = "javascript.0.Anwesenheitssteuerung.Userlist."
                                                               
                //Logging
                   var logflag = false;                                                         // logging enabled
                   var LogPath = "/opt/iobroker/iobroker-data/Anwesenheiten2.csv";             // Pfad und Dateiname des externen Logs
                
                // Debug
                var debug = true;                                                                   // mehr/weniger meldungen im Log
                
                // States anlegen ?
                var CreateAllStates = true;                                                    // checken ob alle States angeleget sind ? dann auf true
                
                var shadowing = true;                                                           // user Status spiegeln 
                
                //-------------------------------------------------------------------------------------------------------
                // Start der Logik
                //-------------------------------------------------------------------------------------------------------
                var fs = require('fs');                     // enable write fuer externes log
                
                var UserAllText         = "JemandDa"; // ist irgendwer da ?
                var UserString          = "Liste"; // Statename fuer die Liste in VIS
                
                if (CreateAllStates) {
                    CreateStates(); // States anlegen
                };
                Subscribe(); // Subscriptions fuer alle User anlegen
                
                
                
                
                
                //-----------------------------------------------------------------------------------------------------
                // Suscription
                //-----------------------------------------------------------------------------------------------------
                function Subscribe () {
                
                    for (var i in Anwesenheit) {  // loop ueber alle 
                        log("Subscription fuer "+Anwesenheit[i][1] + " erstellt","info");
                        on({id: Anwesenheit[i][0], change: 'any'}, function(obj) {  // erstelle subscription
                            if (obj.state.val !== obj.oldState.val) {
                                if(debug ) {log ("Anwesenheitsstatus Aenderung fuer Objekt " + obj.id  +" auf " + obj.state.val + " erkannt","info" )};
                                UserUpdate(obj.id,obj.state.val );
                            }
                
                        }); // endon
                    }
                }
                
                //-----------------------------------------------------------------------------------------------------
                // Userupdate
                //-----------------------------------------------------------------------------------------------------
                function UserUpdate (objekt,Status) {
                    var User = "";
                    var CreationTime = formatDate(new Date(),"TT.MM.JJJJ SS:mm:ss");
                    var LogString= "";
                    var anzahluser = 0;
                    
                    // auslösenden User ermitteln
                    for (var i in Anwesenheit) {  // loop ueber alle
                        anzahluser = anzahluser + 1 ;
                        if(Anwesenheit[i][0] === objekt ) {     // das ist der Auslöser
                            User = Anwesenheit[i][1]
                            log ("Anwesenheitsstatus Aenderung fuer User " + User + " auf " + Status + " erkannt","info" );
                        }
                    }
                    if(debug) {log("Anzahl User in der Userlist = "+ anzahluser,"info")}
                    if(Status === true) {                   // user wurde auf anwesend gesetzt
                        setState(path+"1KommtGeht."+User+"Kommt",CreationTime);
                        LogString = User + ";"+ "Kommt";         
                        writelog(LogString);    
                    }else{  
                        setState(path+"1KommtGeht."+User+"Geht",CreationTime);
                        LogString = User + ";" + "Geht"; 
                        writelog(LogString);   
                    }
                
                    // jetzt schauen ob kein User mehr da ist
                    var Userda = false;
                    var Userlist = "";
                    for (var i in Anwesenheit) {  // loop ueber alle
                        if (existsState(Anwesenheit[i][0]) ) { 
                            if (getState(Anwesenheit[i][0]).val) {
                                Userda = true;
                                Userlist = Userlist + " " + Anwesenheit[i][1];
                            }
                        }
                    } 
                    if(!Userda) {
                        setState(path+UserAllText,false );   // kein User da
                        Userlist = "Niemand";              // kein User da
                
                    }else{
                        setState(path+UserAllText,true );   // wenn mindestens ein user da ist dann ist der state JemandDa = true
                    }
                    setState(path+UserString,Userlist );   // update der Userlist
                
                
                // jetzt Jason füllen
                    var JasonString ="";
                    var counter = 0;
                    var UserStatus = false;
                    var UserKommt = "";
                    var UserGeht = "";
                    for (var i in Anwesenheit) {  // loop ueber alle
                        counter = counter + 1 ;
                        //   Jason (Descr1, Wert1,  Deesc2, Wert2,  Deesc3, Wer3,  Deesc4, Wert4,
                        if ( counter === 1 ) {                                                                    // Eroeffnung der Json Tabelle
                            JasonString = "[";                                                      
                        }
                        if (existsState(Anwesenheit[i][0]) ) { 
                            UserStatus = getState(Anwesenheit[i][0]).val;
                        }else {
                            UserStatus = false;
                        };
                
                        if(Anwesenheit[i][1] === User ) {                                                   // auslösender User
                            if(Status === true) {                                                           // user ist gekommen
                                UserKommt = CreationTime;                                                   // aktuelle Zeit setzen
                                UserGeht = getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht").val;
                                if(shadowing) {
                                    setState(path+Anwesenheit[i][1],true);
                                }
                             }else {                                                                        // user ist gegangen
                                UserGeht = CreationTime;
                                UserKommt =getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt").val; 
                                if(shadowing  ) {
                                    setState(path+Anwesenheit[i][1],false);
                                }
                             } 
                          }else {
                            UserKommt =getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt").val;          // wenn dieser User nicht auslösend war dann nur den gespeicherten Wert einlesen --- Kommt
                            UserGeht = getState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht").val;
                            if(shadowing) {
                                if (existsState(Anwesenheit[i][0])) {
                                    setState(path+Anwesenheit[i][1],getState(Anwesenheit[i][0]).val);
                                   }else {
                                    setState(path+Anwesenheit[i][1],false);
                                }
                            }
                        };
                        JasonString = JasonString +JasonCreate ("Name", Anwesenheit[i][1], "Status", UserStatus, "Kommt", UserKommt , "Geht", UserGeht );
                        if ( counter === anzahluser ) { 
                            JasonString = JasonString + "]";                                                // Schliessen der Json Tabelle
                         } else {
                            JasonString = JasonString + ",";                                                  // Schliessen einer einzelnen Zeile - nur die letzte nicht
                        };
                    
                    } // ende for
                    setState(path+'1KommtGeht.' + "AnwesenheitJason", JasonString);       
                
                
                
                }  // Ende Funktion
                
                
                //-----------------------------------------------------------------------------------------------------
                // Erstellung von jason strings zur Tabellendarstellung
                //-----------------------------------------------------------------------------------------------------
                function JasonCreate (Desc1, Wert1, Desc2, Wert2, Desc3,Wert3, Desc4,Wert4) {
                
                var buildzeile = "{";
                buildzeile = buildzeile +  '"'  + Desc1+ '":';
                buildzeile = buildzeile +  '"'  + Wert1 + '"' + ",";
                buildzeile = buildzeile +  '"'  + Desc2 + '"' + ":";
                buildzeile = buildzeile +  '"'  + Wert2 + '"' + ",";
                buildzeile = buildzeile +  '"'  + Desc3 + '"' + ":";
                buildzeile = buildzeile +  '"'  + Wert3 + '"' + ",";
                buildzeile = buildzeile +  '"'  + Desc4 + '"' + ":";
                buildzeile = buildzeile +  '"'  + Wert4 + '"' + "}";
                
                
                return buildzeile;
                    
                } // Ende Funktion
                
                //-----------------------------------------------------------------------------------------------------
                // Funktion schreibt einen Logeintrag in das Filesystem und auch in das interne Log-System
                //-----------------------------------------------------------------------------------------------------
                function writelog(string) {
                    if (logflag === true) {
                        var logdate = formatDate(new Date(),"TT.MM.JJJJ");
                        var logtime = formatDate(new Date(),"SS:mm:ss");
                
                        fs.readFile(LogPath, 'utf8', function(err,data){
                            if (!err){
                                fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n");       // Füge Satz in Datei ein
                            }else{
                                log("Logfile nicht gefunden - wird angelegt"), "info";
                                var headerLine= "Datum;Uhrzeit;Name;Kommt-Geht";
                                fs.appendFileSync(LogPath, headerLine + "\n");       // Füge Satz in Datei ein
                                fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n");       // Füge Satz in Datei ein
                            } // ende check error
                        }); // ende check File
                    } // endif check logflag
                
                } // Ende Funktion
                
                //-----------------------------------------------------------------------------------------------------
                // States erstellen
                //-----------------------------------------------------------------------------------------------------
                function CreateStates () {
                
                
                    for (var i in Anwesenheit) {  // loop ueber alle 
                        if(shadowing) { 
                            createState(path+Anwesenheit[i][1] , false , {read: true, write: true, type: 'boolean', name: 'Anwesenheit - User '+Anwesenheit[i][1], desc: 'ZAnwesenheit - User '+Anwesenheit[i][1] } );       
                        }
                        createState(path+"1KommtGeht."+Anwesenheit[i][1]+"Geht"   , "", {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen', desc: 'Zeit gehen  User '+Anwesenheit[i][1] } );
                        createState(path+"1KommtGeht."+Anwesenheit[i][1]+"Kommt" , "", {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit einloggen', desc: 'Zeit kommen User '+Anwesenheit[i][1] } );
                    };
                    createState(path+UserAllText      , false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit alle User', desc: 'Anwesenheit alle User'})
                    createState(path+UserString , "Niemand", {read: true, write: true, type: 'string', name: 'Anwesenheit Userliste', desc: 'Anwesenheit Userliste'});
                    createState( path + '1KommtGeht.' + "AnwesenheitJason", "",{read: true, write: true, type: 'string', name: 'Anwesenheitsstatus Jason Liste', desc: 'UserListe als Jason'});
                
                };  // Ende Funktion
                
                
                

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                wrote on last edited by
                #242

                @looxer01
                kannst Du Dein Script bitte komplett in Code Tags Packen.
                Damit (in der Menüleiste)
                Bildschirmfoto 2020-05-24 um 20.05.10.png

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  looxer01
                  wrote on last edited by
                  #243

                  @looxer01 sagte in [Major Update] UniFi Adapter v0.5.0:

                  sorry - da hatte sich ein Fehler eingeschlichen. Sollte jetzt komplett selektierbar sein.
                  vG Looxer

                  dslraserD 1 Reply Last reply
                  1
                  • L looxer01

                    @looxer01 sagte in [Major Update] UniFi Adapter v0.5.0:

                    sorry - da hatte sich ein Fehler eingeschlichen. Sollte jetzt komplett selektierbar sein.
                    vG Looxer

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    wrote on last edited by
                    #244

                    @looxer01
                    ja, nun ist es okay, danke fürs teilen.

                    1 Reply Last reply
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      wrote on last edited by dslraser
                      #245

                      @crunchip @braindead
                      Ich habe in mein Blockly eine Verzögerung eingebaut. Den Adapter habe ich auf 60 Sekunden gelassen. Heute Nacht habe ich das mal mit 2 Minuten Verzögerung laufen gelassen. (nur für die Abmeldung/Offline Meldung) Bei 2 Minuten Verzögerung hatte ich nicht eine einzige Offline Meldung. Die Online Meldung kommt beim nächsten Adapter Intervall Durchlauf und die Offline Meldung dann nach Adapter Intevall Durchlauf + max die eingestellte Verzögerung. Ich werde jetzt mal die Verzögerung nur knapp über dem Updateintervall testen. (eine Minute Verzögerung reicht bei meiner Installation nicht)

                      Falls Jemand probieren möchte:
                      Bildschirmfoto 2020-05-25 um 09.17.34.png

                      <xml xmlns="http://www.w3.org/1999/xhtml">
                       <variables>
                         <variable type="" id=";k,Ihk0[-)fmYrQXm8m^">anlegen_in</variable>
                         <variable type="" id="fyVM({2.Ubq}R7hxFVRc">speicherort</variable>
                         <variable type="" id="nTXOZ!3I{zM-7hg^DXcc">person_1_is_online_DP</variable>
                         <variable type="" id="lvz.2`K]e8c1*JEc-vJu">anwesenheit_person_1</variable>
                         <variable type="" id="@i-nl2q|$|OFpK!Yx+CC">anwesenheit_person_2</variable>
                         <variable type="" id="yB(N?#)zIjYIo%.B@UT(">person_2_is_online_DP</variable>
                         <variable type="" id=";^euFaDvC/jHl4C^!SUw">person_1</variable>
                         <variable type="undefined" id="start">start</variable>
                         <variable type="" id="sgYRW3,@::dC5Ux]x;8|">person_2</variable>
                         <variable type="" id=";,S.tm1x]$^/_:4UWB~|">verzoegerung_person_1</variable>
                         <variable type="undefined" id="warten_person_1">warten_person_1</variable>
                         <variable type="undefined" id="warten_person_2">warten_person_2</variable>
                         <variable type="" id="XzCE`hDBP%sX+x?@f$E;">verzoegerung_person_2</variable>
                         <variable type="" id="![EW]9b!hQ9S[MT.q}6-">telegram_benutzer</variable>
                       </variables>
                       <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="13" y="13">
                         <mutation statements="false">
                           <arg name="anlegen_in" varid=";k,Ihk0[-)fmYrQXm8m^"></arg>
                         </mutation>
                         <field name="NAME">Datenpunkte_anlegen</field>
                         <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBPbmx5IGZvciAwX3VzZXJkYXRhLjA6IFRocm93cyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgZm9yY2U9ZmFsc2UuIERlZmF1bHQgaXMgZmFsc2UsIHNvIG5vIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBleGlzdHMuCiAgICBjb25zdCBMT0dfREVCVUcgPSBmYWxzZTsgLy8gVG8gZGVidWcgdGhpcyBmdW5jdGlvbiwgc2V0IHRvIHRydWUKICAgIC8vIFBlciBpc3N1ZSAjNDc0IChodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc0KSwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgZXhlY3V0ZXMgdGhlIGNhbGxiYWNrIAogICAgLy8gYmVmb3JlIHRoZSBzdGF0ZSBpcyBhY3R1YWwgY3JlYXRlZC4gVGhlcmVmb3JlLCB3ZSB1c2UgYSBzZXRUaW1lb3V0IGFuZCBjb3VudGVyIGFzIGEgd29ya2Fyb3VuZC4KICAgIGNvbnN0IERFTEFZID0gNTA7IC8vIERlbGF5IGluIG1pbGxpc2Vjb25kcyAobXMpLiBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCgogICAgLy8gVmFsaWRhdGUgIndoZXJlIgogICAgaWYgKHdoZXJlLmVuZHNXaXRoKCcuJykpIHdoZXJlID0gd2hlcmUuc2xpY2UoMCwgLTEpOyAvLyBSZW1vdmUgdHJhaWxpbmcgZG90CiAgICBpZiAoICh3aGVyZS5tYXRjaCgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pKSR8MF91c2VyZGF0YVwuMCQpLykgPT0gbnVsbCkgKSB7CiAgICAgICAgbG9nKCdUaGlzIHNjcmlwdCBkb2VzIG5vdCBzdXBwb3J0IHRvIGNyZWF0ZSBzdGF0ZXMgdW5kZXIgWycgKyB3aGVyZSArICddJywgJ2Vycm9yJyk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFByZXBhcmUgInN0YXRlc1RvQ3JlYXRlIiBzaW5jZSB3ZSBhbHNvIGFsbG93IGEgc2luZ2xlIHN0YXRlIHRvIGNyZWF0ZQogICAgaWYoIUFycmF5LmlzQXJyYXkoc3RhdGVzVG9DcmVhdGVbMF0pKSBzdGF0ZXNUb0NyZWF0ZSA9IFtzdGF0ZXNUb0NyZWF0ZV07IC8vIHdyYXAgaW50byBhcnJheSwgaWYganVzdCBvbmUgYXJyYXkgYW5kIG5vdCBpbnNpZGUgYW4gYXJyYXkKCiAgICAvLyBBZGQgIndoZXJlIiB0byBTVEFURVNfVE9fQ1JFQVRFCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgbGV0IGxwUGF0aCA9IHN0YXRlc1RvQ3JlYXRlW2ldWzBdLnJlcGxhY2UoL1wuKlwuL2csICcuJyk7IC8vIHJlcGxhY2UgYWxsIG11bHRpcGxlIGRvdHMgbGlrZSAnLi4nLCAnLi4uJyB3aXRoIGEgc2luZ2xlICcuJwogICAgICAgIGxwUGF0aCA9IGxwUGF0aC5yZXBsYWNlKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSlcLil8MF91c2VyZGF0YVwuMFwuKS8sJycpIC8vIHJlbW92ZSBhbnkgamF2YXNjcmlwdC54LiAvIDBfdXNlcmRhdGEuMC4gZnJvbSBiZWdpbm5pbmcKICAgICAgICBscFBhdGggPSB3aGVyZSArICcuJyArIGxwUGF0aDsgLy8gYWRkIHdoZXJlIHRvIGJlZ2lubmluZyBvZiBzdHJpbmcKICAgICAgICBzdGF0ZXNUb0NyZWF0ZVtpXVswXSA9IGxwUGF0aDsKICAgIH0KCiAgICBpZiAod2hlcmUgIT0gJzBfdXNlcmRhdGEuMCcpIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIGphdmFzY3JpcHQueAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgbGV0IGxvb3BJbml0ID0gKGxvb3BQYXJhbVsxXVsnZGVmJ10gPT0gdW5kZWZpbmVkKSA/IG51bGwgOiBsb29wUGFyYW1bMV1bJ2RlZiddOyAvLyBtaW1pYyBzYW1lIGJlaGF2aW9yIGFzIGNyZWF0ZVN0YXRlIGlmIG5vIGluaXQgdmFsdWUgaXMgcHJvdmlkZWQKICAgICAgICAgICAgY3JlYXRlU3RhdGUobG9vcFBhcmFtWzBdLCBsb29wSW5pdCwgZm9yY2UsIGxvb3BQYXJhbVsxXSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciAwX3VzZXJkYXRhLjAKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIGxldCBjb3VudGVyID0gLTE7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgY291bnRlciArPSAxOwogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2cgKCdbRGVidWddIEN1cnJlbnRseSBwcm9jZXNzaW5nIGZvbGxvd2luZyBzdGF0ZTogWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBpZiggKCQobG9vcFBhcmFtWzBdKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUobG9vcFBhcmFtWzBdKSkgKSB7IC8vIFdvcmthcm91bmQgZHVlIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzgKICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICAgICAgaWYgKFdBUk4gJiYgIWZvcmNlKSBsb2coJ1N0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICAgICAgaWYgKCFXQVJOICYmIExPR19ERUJVRykgbG9nKCdbRGVidWddIFN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwogICAgICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gU3RhdGUgZXhpc3RzIGFuZCBzaGFsbCBub3QgYmUgb3ZlcndyaXR0ZW4gc2luY2UgZm9yY2U9ZmFsc2UKICAgICAgICAgICAgICAgICAgICAvLyBTbywgd2UgZG8gbm90IHByb2NlZWQuCiAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIScpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQW4gb3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gd2FzIHByb3ZpZGVkLCB3aGljaCB3ZSBhcmUgZ29pbmcgdG8gZXhlY3V0ZSBub3cuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZ28gb3V0IGFuZCBjb250aW51ZSB3aXRoIG5leHQgZWxlbWVudCBpbiBsb29wLgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSAvLyBpZighZm9yY2UpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgICAgbGV0IG9iaiA9IHt9OwogICAgICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICAgICAgb2JqLmNvbW1vbiA9IGxvb3BQYXJhbVsxXTsKICAgICAgICAgICAgc2V0T2JqZWN0KGxvb3BQYXJhbVswXSwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0IGZvciBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddOiAnICsgZXJyKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKQogICAgICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gbG9vcFBhcmFtWzFdLmRlZjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdGUobG9vcFBhcmFtWzBdLCBpbml0LCB0cnVlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBzZXRTdGF0ZSBkdXJjaGdlZsO8aHJ0OiAnICsgbG9vcFBhcmFtWzBdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSwgREVMQVkgKyAoMjAgKiBjb3VudGVyKSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0KfQoKcGVyc29uMSA9ICdIZWlrbycKcGVyc29uMiA9ICdLZXJzdGluJwpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICAvL0Fud2VzZW5oZWl0IFBlcnNvbmVuL0hhbmR5cwogICAgWydVbmlmaS5Bbndlc2VuaGVpdC4nK1twZXJzb24xXSwgeyduYW1lJzpbcGVyc29uMV0rJyBBbndlc2VuaGVpdCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIFsnVW5pZmkuQW53ZXNlbmhlaXQuJytbcGVyc29uMl0sIHsnbmFtZSc6W3BlcnNvbjJdKycgQW53ZXNlbmhlaXQnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgIApdOwoKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUsIGZ1bmN0aW9uKCl7OwogICAgbWFpbigpOwp9KTsKCgo=</field>
                         <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
                       </block>
                       <block type="variables_set" id="oODt+HYM*+ptP0jLnPoN" x="13" y="62">
                         <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                         <value name="VALUE">
                           <block type="text" id="^a2)}wPt=s[~]UsHJqvr">
                             <field name="TEXT">0_userdata.0</field>
                           </block>
                         </value>
                         <next>
                           <block type="comment" id="@hJky?+Qv5OpJOJa;Tl6">
                             <field name="COMMENT">Unifi Adapter Client DP is_online</field>
                             <next>
                               <block type="variables_set" id="Y?6=|YzWSeM4LOdF5$XM">
                                 <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                 <value name="VALUE">
                                   <block type="field_oid" id="knG,[`=1g+b,s{kx1EP,">
                                     <field name="oid">unifi.0.default.clients.8c:b8:4a:34:ac:85.is_online</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="comment" id="/R=ulymL%~caLxh2Ilfo">
                                     <field name="COMMENT">Unifi Adapter Client DP is_online</field>
                                     <next>
                                       <block type="variables_set" id="Vx9vV3Sg8kY@H?;zDw@(">
                                         <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                         <value name="VALUE">
                                           <block type="field_oid" id="!feFu(z:sKBl~0nK`eGu">
                                             <field name="oid">unifi.0.default.clients.04:d6:aa:76:06:53.is_online</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="9m,K[:2^)KFEl|00rZQ7">
                                             <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                             <value name="VALUE">
                                               <block type="text" id="pJ}1(u|}l3lA7~[z+Wg5">
                                                 <field name="TEXT">Heiko</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="comment" id="}W{ch-1OEjvE8xy`G(aN">
                                                 <field name="COMMENT">60000 x 1 = 1 Minute</field>
                                                 <next>
                                                   <block type="comment" id="vOE*^-a,jtYycI=KQ)Q!">
                                                     <field name="COMMENT">90000 x 1 = 1,5 Minuten</field>
                                                     <next>
                                                       <block type="variables_set" id="WCX(yO/edOT~0H{EzEDJ">
                                                         <field name="VAR" id=";,S.tm1x]$^/_:4UWB~|" variabletype="">verzoegerung_person_1</field>
                                                         <value name="VALUE">
                                                           <block type="math_arithmetic" id="8=|?+a[CEu_T?522u981">
                                                             <field name="OP">MULTIPLY</field>
                                                             <value name="A">
                                                               <shadow type="math_number" id="y=JYnz0]^+S}-0Wcp8dK">
                                                                 <field name="NUM">90000</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="B">
                                                               <shadow type="math_number" id="xBI[G7a_J/}x!L4k{6FN">
                                                                 <field name="NUM">1</field>
                                                               </shadow>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="k`L|~6i[HzfGD|D*L^Z[">
                                                             <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                             <value name="VALUE">
                                                               <block type="text" id="$^o6%]+%A^W3{Txo4Yds">
                                                                 <field name="TEXT">Kerstin</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="aJJ+aqI83onu8lQ]Q_UQ">
                                                                 <field name="VAR" id="XzCE`hDBP%sX+x?@f$E;" variabletype="">verzoegerung_person_2</field>
                                                                 <value name="VALUE">
                                                                   <block type="math_arithmetic" id="q`nu[t,DyhqtYO9Tp}`Y">
                                                                     <field name="OP">MULTIPLY</field>
                                                                     <value name="A">
                                                                       <shadow type="math_number" id="`Ce#nDl]~dO36UCkyB]1">
                                                                         <field name="NUM">90000</field>
                                                                       </shadow>
                                                                     </value>
                                                                     <value name="B">
                                                                       <shadow type="math_number" id="cHM6|FVqyG^7-@=9PZ$t">
                                                                         <field name="NUM">1</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="variables_set" id="bEu?$N6,|qbfd8h2t;xr">
                                                                     <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                     <value name="VALUE">
                                                                       <block type="text" id="@AJ19!Lch7=H%ib(sX@`">
                                                                         <field name="TEXT">Heiko</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="procedures_callcustomnoreturn" id="(4(-f$1VS~CwO}P[R@.6" collapsed="true">
                                                                         <mutation name="Datenpunkte_anlegen">
                                                                           <arg name="anlegen_in"></arg>
                                                                         </mutation>
                                                                         <value name="ARG0">
                                                                           <block type="variables_get" id="!74)L93;^_?DR0pALJ9f">
                                                                             <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                       <block type="procedures_defnoreturn" id="SSMy$1MUVX,GQsbb[2*m" collapsed="true" x="12" y="437">
                         <field name="NAME">main</field>
                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                         <statement name="STACK">
                           <block type="timeouts_cleartimeout" id="TZP~F0nTRJ5tX).DDSa`">
                             <field name="NAME">start</field>
                             <next>
                               <block type="variables_set" id=",U2@|cXpD(cMh/t+?6ch">
                                 <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                 <value name="VALUE">
                                   <block type="text_join" id="!1[II16BPGnRh-7=6hz[">
                                     <mutation items="3"></mutation>
                                     <value name="ADD0">
                                       <block type="variables_get" id="xK5Ij}90B8}K(46SJ?nI">
                                         <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="text" id="j|:+t7a^%@D?7F{x85Vu">
                                         <field name="TEXT">.Unifi.Anwesenheit.</field>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <block type="variables_get" id="/d9dG48mWBBOwwOV|b7q">
                                         <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="!b3P0hupqzO)$LYY_96G">
                                     <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                     <value name="VALUE">
                                       <block type="text_join" id="j^1|XvQ;,bZdK7j*e[W]">
                                         <mutation items="3"></mutation>
                                         <value name="ADD0">
                                           <block type="variables_get" id="{e5Na0l3aK]%yCR.A^B{">
                                             <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="text" id="IVD:VEYV~yR=s_-/Xf!N">
                                             <field name="TEXT">.Unifi.Anwesenheit.</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="variables_get" id="Aty5L{S^6krr(,SAac[M">
                                             <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="timeouts_settimeout" id=".|_m4*n~bGC)tC]M]!E^">
                                         <field name="NAME">start</field>
                                         <field name="DELAY">1</field>
                                         <field name="UNIT">sec</field>
                                         <statement name="STATEMENT">
                                           <block type="controls_if" id="@IdN-@8]b19pM5K:RKAV">
                                             <mutation else="1"></mutation>
                                             <value name="IF0">
                                               <block type="logic_compare" id="mOtoF5ZD{_J6ssks0m)y">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value_var" id="P=ub#}lCd=k9sU(YPcg:">
                                                     <field name="ATTR">val</field>
                                                     <value name="OID">
                                                       <shadow type="text" id="+?=%oVJ6|*ti.6j6/Wxj">
                                                         <field name="TEXT"></field>
                                                       </shadow>
                                                       <block type="variables_get" id="l+hT5v.Pk.O2J$/Iaqt,">
                                                         <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_boolean" id="9{xgUNQr|Jen;~u_$)6d">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="control_ex" id=".V]CdR(,WY/[gHi[+RLy" inline="true">
                                                 <field name="TYPE">true</field>
                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                 <value name="OID">
                                                   <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                     <field name="oid">Object ID</field>
                                                   </shadow>
                                                   <block type="variables_get" id="3%^DGT`3E`2/0p:w3{4^">
                                                     <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                   </block>
                                                 </value>
                                                 <value name="VALUE">
                                                   <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                     <field name="BOOL">TRUE</field>
                                                   </shadow>
                                                   <block type="text_join" id="f8$xC!VB#l1J#2YIx60!">
                                                     <mutation items="3"></mutation>
                                                     <value name="ADD0">
                                                       <block type="variables_get" id="1oBT:?uj_zr?Mgi+#WM`">
                                                         <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="text" id="SWk`f2QCt@7CE*{M9F=y">
                                                         <field name="TEXT"> </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD2">
                                                       <block type="text" id="Gh(!zydv3Jh_{d7dIKNr">
                                                         <field name="TEXT">ist online ✅</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="DELAY_MS">
                                                   <shadow type="math_number" id="I7CJ`-|pTzVbPm]Rm~#j">
                                                     <field name="NUM">0</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </statement>
                                             <statement name="ELSE">
                                               <block type="control_ex" id="Rm7t|TP;p?8IkYCVTFYf" inline="true">
                                                 <field name="TYPE">true</field>
                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                 <value name="OID">
                                                   <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                     <field name="oid">Object ID</field>
                                                   </shadow>
                                                   <block type="variables_get" id="rh!@7z?k=8.uZbxF?DoI">
                                                     <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                   </block>
                                                 </value>
                                                 <value name="VALUE">
                                                   <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                     <field name="BOOL">TRUE</field>
                                                   </shadow>
                                                   <block type="text_join" id=";.n,Hn*I2XhhSW85o_Q2">
                                                     <mutation items="3"></mutation>
                                                     <value name="ADD0">
                                                       <block type="variables_get" id="tu5-.4UIt2~I(onp}L$P">
                                                         <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="text" id="`*!Euh8@c0Kv1`dL)`|]">
                                                         <field name="TEXT"> </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD2">
                                                       <block type="text" id="OP@O9n8`%s$i4iu!qalG">
                                                         <field name="TEXT">ist offline ❌</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="DELAY_MS">
                                                   <shadow type="math_number" id="?QJBHR?P%=ONW9U|7bz~">
                                                     <field name="NUM">0</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="controls_if" id="CW7PDI-i5$*GOj_KJb4Q">
                                                 <mutation else="1"></mutation>
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="-!aPk*oy9xC5J=ysP)7=">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value_var" id="n+Ps:J5qI;GEdiv{)E?z">
                                                         <field name="ATTR">val</field>
                                                         <value name="OID">
                                                           <shadow type="text" id="+?=%oVJ6|*ti.6j6/Wxj">
                                                             <field name="TEXT"></field>
                                                           </shadow>
                                                           <block type="variables_get" id="!|b(=p?G65~q+jglAR8w">
                                                             <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="!(SIj5PDvV$R:iUQ*(LP">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="control_ex" id="4VEiHKIjpLMpRX2h?+MR" inline="true">
                                                     <field name="TYPE">true</field>
                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                     <value name="OID">
                                                       <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                         <field name="oid">Object ID</field>
                                                       </shadow>
                                                       <block type="variables_get" id="MTibw$-yf66T#p]`3z?r">
                                                         <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                       </block>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                         <field name="BOOL">TRUE</field>
                                                       </shadow>
                                                       <block type="text_join" id=":iT@UQ1eLTq{?.Nc0-Ob">
                                                         <mutation items="3"></mutation>
                                                         <value name="ADD0">
                                                           <block type="variables_get" id=")vF^Rbw,2,7/)$D8gF};">
                                                             <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="text" id="23zE8haiF=Z5L.H#Pk7i">
                                                             <field name="TEXT"> </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="text" id="+0!/qeY$7F8aH-xnRR*0">
                                                             <field name="TEXT">ist online ✅</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="DELAY_MS">
                                                       <shadow type="math_number" id="l4gI%#`:C=?(4rd|p`^.">
                                                         <field name="NUM">0</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <statement name="ELSE">
                                                   <block type="control_ex" id="W?x]+MW|=5vu@Uj(3,75" inline="true">
                                                     <field name="TYPE">true</field>
                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                     <value name="OID">
                                                       <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                         <field name="oid">Object ID</field>
                                                       </shadow>
                                                       <block type="variables_get" id="VV1Lj`Qf^tQkmc+x.maW">
                                                         <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                       </block>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                         <field name="BOOL">TRUE</field>
                                                       </shadow>
                                                       <block type="text_join" id="ll.R;kcidI|hRLwDFVB{">
                                                         <mutation items="3"></mutation>
                                                         <value name="ADD0">
                                                           <block type="variables_get" id="WD$^uCEDqYwF6:QS*F]j">
                                                             <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="text" id="wR$`1P`CT=B)$/YSN(~J">
                                                             <field name="TEXT"> </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="text" id="4c(~/}V#~bT!jwy2iB}J">
                                                             <field name="TEXT">ist offline ❌</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="DELAY_MS">
                                                       <shadow type="math_number" id="!d5FRdKZAaU7?)=#m4%_">
                                                         <field name="NUM">0</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <next>
                                           <block type="on_ext" id="SX%6!fqcVoVlD@SU-7Y4">
                                             <mutation items="1"></mutation>
                                             <field name="CONDITION">ne</field>
                                             <field name="ACK_CONDITION"></field>
                                             <value name="OID0">
                                               <shadow type="field_oid" id=";0_S:)AqTJF$]lRUv@gx">
                                                 <field name="oid">default</field>
                                               </shadow>
                                               <block type="variables_get" id="UKe(AmN7{4GdYH(3_`O#">
                                                 <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                               </block>
                                             </value>
                                             <statement name="STATEMENT">
                                               <block type="timeouts_cleartimeout" id=";5poL43K$!]^/%.4$m+%">
                                                 <field name="NAME">warten_person_1</field>
                                                 <next>
                                                   <block type="controls_if" id="_z?rO3%XvQmDU%U1=lon">
                                                     <value name="IF0">
                                                       <block type="on_source" id="_(Fal+8L^ATHe#Hq|y+9">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="control_ex" id="LM-KIX/g(V6Tuik9CLF/" inline="true">
                                                         <field name="TYPE">true</field>
                                                         <field name="CLEAR_RUNNING">FALSE</field>
                                                         <value name="OID">
                                                           <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                             <field name="oid">Object ID</field>
                                                           </shadow>
                                                           <block type="variables_get" id="7,y}skvg#u?n$OT[5K=S">
                                                             <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                           </block>
                                                         </value>
                                                         <value name="VALUE">
                                                           <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                             <field name="BOOL">TRUE</field>
                                                           </shadow>
                                                           <block type="text_join" id="l|J80x/T-`0?9M^7b]:N">
                                                             <mutation items="3"></mutation>
                                                             <value name="ADD0">
                                                               <block type="variables_get" id=".qiA1:)|eFl9@:8-b6*`">
                                                                 <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                               </block>
                                                             </value>
                                                             <value name="ADD1">
                                                               <block type="text" id="G0=0Fc~I_fA]0O)}g3W(">
                                                                 <field name="TEXT"> </field>
                                                               </block>
                                                             </value>
                                                             <value name="ADD2">
                                                               <block type="text" id="]N,+4OnsaC~Lw_.k0/hh">
                                                                 <field name="TEXT">ist online ✅</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="DELAY_MS">
                                                           <shadow type="math_number" id="1:S1**dQmdnwe.l7.Z-b">
                                                             <field name="NUM">0</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <next>
                                                       <block type="timeouts_settimeout" id="=B9@U~m`_A#Z6:]qChNR">
                                                         <field name="NAME">warten_person_1</field>
                                                         <field name="DELAY">verzoegerung_person_1</field>
                                                         <field name="UNIT">ms</field>
                                                         <statement name="STATEMENT">
                                                           <block type="controls_if" id="1VR-AfT4Oa^*9,9^jtoL">
                                                             <value name="IF0">
                                                               <block type="logic_negate" id="7-N(LCjniX9-2w}5C|lV">
                                                                 <value name="BOOL">
                                                                   <block type="on_source" id="9dgu*Y:=}#idI+CVK{?O">
                                                                     <field name="ATTR">state.val</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="control_ex" id="YN=l|7.)+2WVOGMcg!/`" inline="true">
                                                                 <field name="TYPE">true</field>
                                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                                 <value name="OID">
                                                                   <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                     <field name="oid">Object ID</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="4.t^B;y;~YJA^DTb;gyE">
                                                                     <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="VALUE">
                                                                   <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </shadow>
                                                                   <block type="text_join" id="o}K:*wP8{onf4yKv=4YT">
                                                                     <mutation items="3"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="941ISD`abMu2l=]8Y(/m">
                                                                         <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="ZM+pW%,1k!o2Vf?t0R?l">
                                                                         <field name="TEXT"> </field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="S__OPp))@Dgo/JTcf}ax">
                                                                         <field name="TEXT">ist offline ❌</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="DELAY_MS">
                                                                   <shadow type="math_number" id="f6RJ7!swO;Le1Bfko;L2">
                                                                     <field name="NUM">0</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="on_ext" id="~ObZs=5%-:^CnQuYO(z=">
                                                 <mutation items="1"></mutation>
                                                 <field name="CONDITION">ne</field>
                                                 <field name="ACK_CONDITION"></field>
                                                 <value name="OID0">
                                                   <shadow type="field_oid" id=";0_S:)AqTJF$]lRUv@gx">
                                                     <field name="oid">default</field>
                                                   </shadow>
                                                   <block type="variables_get" id="Olbu@Xq[MZTK?j4d_a#g">
                                                     <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                                   </block>
                                                 </value>
                                                 <statement name="STATEMENT">
                                                   <block type="timeouts_cleartimeout" id="TP402$RK@-Gp1F8cUm2A">
                                                     <field name="NAME">warten_person_2</field>
                                                     <next>
                                                       <block type="controls_if" id="!K2H`_FR~oD9eh*@T1|w">
                                                         <value name="IF0">
                                                           <block type="on_source" id="*I8C7_{s9`7I(Zx#@%|2">
                                                             <field name="ATTR">state.val</field>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="control_ex" id="mFAN(dDUr6q/gR6UwBVZ" inline="true">
                                                             <field name="TYPE">true</field>
                                                             <field name="CLEAR_RUNNING">FALSE</field>
                                                             <value name="OID">
                                                               <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                 <field name="oid">Object ID</field>
                                                               </shadow>
                                                               <block type="variables_get" id="$UftmC*.f}ze-ab-ys,Q">
                                                                 <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                               </block>
                                                             </value>
                                                             <value name="VALUE">
                                                               <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                 <field name="BOOL">TRUE</field>
                                                               </shadow>
                                                               <block type="text_join" id="P3N04_kX]?qG{Xs2[(fH">
                                                                 <mutation items="3"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="variables_get" id="P5IAcPBtd#@dS,*2B@fW">
                                                                     <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="text" id="r7@)j/8/+({|VPB=@6%r">
                                                                     <field name="TEXT"> </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="xxE=NzJgw3NYsn-%!LPx">
                                                                     <field name="TEXT">ist online ✅</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="DELAY_MS">
                                                               <shadow type="math_number" id="p/d5]r.~2%E#lqUZ+Zzo">
                                                                 <field name="NUM">0</field>
                                                               </shadow>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="timeouts_settimeout" id="@C,B!T7fXep/Dm=_:4d3">
                                                             <field name="NAME">warten_person_2</field>
                                                             <field name="DELAY">verzoegerung_person_2</field>
                                                             <field name="UNIT">ms</field>
                                                             <statement name="STATEMENT">
                                                               <block type="controls_if" id="MR]9DN1U5jsMH!CAUwnx">
                                                                 <value name="IF0">
                                                                   <block type="logic_negate" id=",X~j=CgHu3Dua,Pajc)c">
                                                                     <value name="BOOL">
                                                                       <block type="on_source" id=":T;WH4z-(3~qmteGL,c3">
                                                                         <field name="ATTR">state.val</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO0">
                                                                   <block type="control_ex" id="L{2Dp(q220seA@K)H~:9" inline="true">
                                                                     <field name="TYPE">true</field>
                                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                                     <value name="OID">
                                                                       <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                         <field name="oid">Object ID</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="37B(F$tlde-Bt#u.;L~#">
                                                                         <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="VALUE">
                                                                       <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </shadow>
                                                                       <block type="text_join" id="eFy4q-cPhD:xWFQ|LO1f">
                                                                         <mutation items="3"></mutation>
                                                                         <value name="ADD0">
                                                                           <block type="variables_get" id=";$UrDWF]KPE{L^K`r/hr">
                                                                             <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD1">
                                                                           <block type="text" id="wwJ^.~7}z9=7(BjXQ.p)">
                                                                             <field name="TEXT"> </field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD2">
                                                                           <block type="text" id="lM_E)oJ#UCr|#hxu*pAT">
                                                                             <field name="TEXT">ist offline ❌</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <value name="DELAY_MS">
                                                                       <shadow type="math_number" id="~ECK]+XM?KdV2JNU{|2O">
                                                                         <field name="NUM">0</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="on_ext" id="kBmahL8nnn?vxO//$f-[">
                                                     <mutation items="1"></mutation>
                                                     <field name="CONDITION">ne</field>
                                                     <field name="ACK_CONDITION"></field>
                                                     <value name="OID0">
                                                       <shadow type="field_oid" id="ni$tZS5FQYqe`2,/#UC,">
                                                         <field name="oid">default</field>
                                                       </shadow>
                                                       <block type="variables_get" id="QQcy{{[8Zg74:pbx$kRi">
                                                         <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                       </block>
                                                     </value>
                                                     <statement name="STATEMENT">
                                                       <block type="controls_if" id="$/OU#xEey?~;BXD:2yDW">
                                                         <mutation else="1"></mutation>
                                                         <value name="IF0">
                                                           <block type="logic_compare" id="Q~Ms:uf(M:~S,tM9,~js">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="on_source" id="i@wtxhk*E|Qo{AoB_u?I">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="text_join" id="@,A~!kjAU/-aY3.wbM9;">
                                                                 <mutation items="3"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="variables_get" id="TACK]j|)Lo@,E00/vwhP">
                                                                     <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="text" id="7hOD~O*?LrVG~dZ8TQ5`">
                                                                     <field name="TEXT"> </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="L492!]0m|`X{r2h{+w=6">
                                                                     <field name="TEXT">ist online ✅</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="telegram" id="54*y/hkmyWndQBH{h#)V">
                                                             <field name="INSTANCE"></field>
                                                             <field name="LOG"></field>
                                                             <field name="SILENT">FALSE</field>
                                                             <field name="PARSEMODE">Markdown</field>
                                                             <value name="MESSAGE">
                                                               <shadow type="text" id="F8`_}5Ls0W8c7x2c+hZa">
                                                                 <field name="TEXT">text</field>
                                                               </shadow>
                                                               <block type="text_join" id="IGB?:md|3ZD;,sYcS|bg">
                                                                 <mutation items="3"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="variables_get" id="/tAT/wS-)[}+6m*I4~g8">
                                                                     <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="text" id="fFlUO))aCIA!f=Yag|;M">
                                                                     <field name="TEXT"> </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="V[o?yVyX~D{w{(:^NNVr">
                                                                     <field name="TEXT">ist online ✅</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="USERNAME">
                                                               <block type="variables_get" id="41ZPm5?AKrt.cqhBg3{2">
                                                                 <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <statement name="ELSE">
                                                           <block type="telegram" id="gONL!Ak:KiDx*lp_)..%">
                                                             <field name="INSTANCE"></field>
                                                             <field name="LOG"></field>
                                                             <field name="SILENT">FALSE</field>
                                                             <field name="PARSEMODE">Markdown</field>
                                                             <value name="MESSAGE">
                                                               <shadow type="text" id="=nQH.TsZSn{lfpy^dbYY">
                                                                 <field name="TEXT">text</field>
                                                               </shadow>
                                                               <block type="text_join" id="z,us3C]4=+L0DA.p_}lp">
                                                                 <mutation items="3"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="variables_get" id="i3Q4|n~53-sQ?^T*H.TC">
                                                                     <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="text" id="QFr-g%mo//Sg8;:roRfA">
                                                                     <field name="TEXT"> </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id=")0nYWe-N-O.,_Jrn${Vm">
                                                                     <field name="TEXT">ist offline ❌</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="USERNAME">
                                                               <block type="variables_get" id="vm,}kUg}PwBi!:PsGM,{">
                                                                 <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </statement>
                                                     <next>
                                                       <block type="on_ext" id="q4OPoLnwQVEJSw$nioXu">
                                                         <mutation items="1"></mutation>
                                                         <field name="CONDITION">ne</field>
                                                         <field name="ACK_CONDITION"></field>
                                                         <value name="OID0">
                                                           <shadow type="field_oid" id="hXjoTKk;7Ym;i+XqSni1">
                                                             <field name="oid">default</field>
                                                           </shadow>
                                                           <block type="variables_get" id="U=OI/?JPPNn/VeC.eoBY">
                                                             <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                           </block>
                                                         </value>
                                                         <statement name="STATEMENT">
                                                           <block type="controls_if" id="({xqy3x//DnK@jj08nId">
                                                             <mutation else="1"></mutation>
                                                             <value name="IF0">
                                                               <block type="logic_compare" id="7hJU.dk^tV/xxaHXK:96">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="on_source" id="lLs6wkl|I#q4lph`RbX(">
                                                                     <field name="ATTR">state.val</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="text_join" id="kT/l3;AAS%)aS2G#O$Kn">
                                                                     <mutation items="3"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="iVvqZxBB66K4Oco(cXJa">
                                                                         <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="(J`VLxYAOs=YWWOW$[H+">
                                                                         <field name="TEXT"> </field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="o@}[*NOAo(#=4meNSS8q">
                                                                         <field name="TEXT">ist online ✅</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="telegram" id="G/k/uD]_e{FwK|;oni_9">
                                                                 <field name="INSTANCE"></field>
                                                                 <field name="LOG"></field>
                                                                 <field name="SILENT">FALSE</field>
                                                                 <field name="PARSEMODE">Markdown</field>
                                                                 <value name="MESSAGE">
                                                                   <shadow type="text" id="F8`_}5Ls0W8c7x2c+hZa">
                                                                     <field name="TEXT">text</field>
                                                                   </shadow>
                                                                   <block type="text_join" id="EwI{:V.W#KbT~#,))hp4">
                                                                     <mutation items="3"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="rXJ#~l_SmSueR^}c}c+2">
                                                                         <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="{++h2{_?][DK]_UJQ!1;">
                                                                         <field name="TEXT"> </field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="+T~B`e5Yo89(P:rS[eXJ">
                                                                         <field name="TEXT">ist online ✅</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="USERNAME">
                                                                   <block type="variables_get" id="SIP/Bn3+q.?-|~fP{|mj">
                                                                     <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <statement name="ELSE">
                                                               <block type="telegram" id="QrG*QsVt38c~9UI4H1.U">
                                                                 <field name="INSTANCE"></field>
                                                                 <field name="LOG"></field>
                                                                 <field name="SILENT">FALSE</field>
                                                                 <field name="PARSEMODE">Markdown</field>
                                                                 <value name="MESSAGE">
                                                                   <shadow type="text" id="=nQH.TsZSn{lfpy^dbYY">
                                                                     <field name="TEXT">text</field>
                                                                   </shadow>
                                                                   <block type="text_join" id="i*RxzVi!*A==)}IS5C}S">
                                                                     <mutation items="3"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="}%!^~Qa|-+l=w6[91@*f">
                                                                         <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="nE0K73Q(?EJwI52FCdl@">
                                                                         <field name="TEXT"> </field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="text" id="zQ8F1qC^L?*7c#hE}z_A">
                                                                         <field name="TEXT">ist offline ❌</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="USERNAME">
                                                                   <block type="variables_get" id="M|AZ+FjOe.JP3wkCCbbC">
                                                                     <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

                      crunchipC 1 Reply Last reply
                      2
                      • dslraserD dslraser

                        @crunchip @braindead
                        Ich habe in mein Blockly eine Verzögerung eingebaut. Den Adapter habe ich auf 60 Sekunden gelassen. Heute Nacht habe ich das mal mit 2 Minuten Verzögerung laufen gelassen. (nur für die Abmeldung/Offline Meldung) Bei 2 Minuten Verzögerung hatte ich nicht eine einzige Offline Meldung. Die Online Meldung kommt beim nächsten Adapter Intervall Durchlauf und die Offline Meldung dann nach Adapter Intevall Durchlauf + max die eingestellte Verzögerung. Ich werde jetzt mal die Verzögerung nur knapp über dem Updateintervall testen. (eine Minute Verzögerung reicht bei meiner Installation nicht)

                        Falls Jemand probieren möchte:
                        Bildschirmfoto 2020-05-25 um 09.17.34.png

                        <xml xmlns="http://www.w3.org/1999/xhtml">
                         <variables>
                           <variable type="" id=";k,Ihk0[-)fmYrQXm8m^">anlegen_in</variable>
                           <variable type="" id="fyVM({2.Ubq}R7hxFVRc">speicherort</variable>
                           <variable type="" id="nTXOZ!3I{zM-7hg^DXcc">person_1_is_online_DP</variable>
                           <variable type="" id="lvz.2`K]e8c1*JEc-vJu">anwesenheit_person_1</variable>
                           <variable type="" id="@i-nl2q|$|OFpK!Yx+CC">anwesenheit_person_2</variable>
                           <variable type="" id="yB(N?#)zIjYIo%.B@UT(">person_2_is_online_DP</variable>
                           <variable type="" id=";^euFaDvC/jHl4C^!SUw">person_1</variable>
                           <variable type="undefined" id="start">start</variable>
                           <variable type="" id="sgYRW3,@::dC5Ux]x;8|">person_2</variable>
                           <variable type="" id=";,S.tm1x]$^/_:4UWB~|">verzoegerung_person_1</variable>
                           <variable type="undefined" id="warten_person_1">warten_person_1</variable>
                           <variable type="undefined" id="warten_person_2">warten_person_2</variable>
                           <variable type="" id="XzCE`hDBP%sX+x?@f$E;">verzoegerung_person_2</variable>
                           <variable type="" id="![EW]9b!hQ9S[MT.q}6-">telegram_benutzer</variable>
                         </variables>
                         <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="13" y="13">
                           <mutation statements="false">
                             <arg name="anlegen_in" varid=";k,Ihk0[-)fmYrQXm8m^"></arg>
                           </mutation>
                           <field name="NAME">Datenpunkte_anlegen</field>
                           <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBPbmx5IGZvciAwX3VzZXJkYXRhLjA6IFRocm93cyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgZm9yY2U9ZmFsc2UuIERlZmF1bHQgaXMgZmFsc2UsIHNvIG5vIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBleGlzdHMuCiAgICBjb25zdCBMT0dfREVCVUcgPSBmYWxzZTsgLy8gVG8gZGVidWcgdGhpcyBmdW5jdGlvbiwgc2V0IHRvIHRydWUKICAgIC8vIFBlciBpc3N1ZSAjNDc0IChodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc0KSwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgZXhlY3V0ZXMgdGhlIGNhbGxiYWNrIAogICAgLy8gYmVmb3JlIHRoZSBzdGF0ZSBpcyBhY3R1YWwgY3JlYXRlZC4gVGhlcmVmb3JlLCB3ZSB1c2UgYSBzZXRUaW1lb3V0IGFuZCBjb3VudGVyIGFzIGEgd29ya2Fyb3VuZC4KICAgIGNvbnN0IERFTEFZID0gNTA7IC8vIERlbGF5IGluIG1pbGxpc2Vjb25kcyAobXMpLiBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCgogICAgLy8gVmFsaWRhdGUgIndoZXJlIgogICAgaWYgKHdoZXJlLmVuZHNXaXRoKCcuJykpIHdoZXJlID0gd2hlcmUuc2xpY2UoMCwgLTEpOyAvLyBSZW1vdmUgdHJhaWxpbmcgZG90CiAgICBpZiAoICh3aGVyZS5tYXRjaCgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pKSR8MF91c2VyZGF0YVwuMCQpLykgPT0gbnVsbCkgKSB7CiAgICAgICAgbG9nKCdUaGlzIHNjcmlwdCBkb2VzIG5vdCBzdXBwb3J0IHRvIGNyZWF0ZSBzdGF0ZXMgdW5kZXIgWycgKyB3aGVyZSArICddJywgJ2Vycm9yJyk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFByZXBhcmUgInN0YXRlc1RvQ3JlYXRlIiBzaW5jZSB3ZSBhbHNvIGFsbG93IGEgc2luZ2xlIHN0YXRlIHRvIGNyZWF0ZQogICAgaWYoIUFycmF5LmlzQXJyYXkoc3RhdGVzVG9DcmVhdGVbMF0pKSBzdGF0ZXNUb0NyZWF0ZSA9IFtzdGF0ZXNUb0NyZWF0ZV07IC8vIHdyYXAgaW50byBhcnJheSwgaWYganVzdCBvbmUgYXJyYXkgYW5kIG5vdCBpbnNpZGUgYW4gYXJyYXkKCiAgICAvLyBBZGQgIndoZXJlIiB0byBTVEFURVNfVE9fQ1JFQVRFCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgbGV0IGxwUGF0aCA9IHN0YXRlc1RvQ3JlYXRlW2ldWzBdLnJlcGxhY2UoL1wuKlwuL2csICcuJyk7IC8vIHJlcGxhY2UgYWxsIG11bHRpcGxlIGRvdHMgbGlrZSAnLi4nLCAnLi4uJyB3aXRoIGEgc2luZ2xlICcuJwogICAgICAgIGxwUGF0aCA9IGxwUGF0aC5yZXBsYWNlKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSlcLil8MF91c2VyZGF0YVwuMFwuKS8sJycpIC8vIHJlbW92ZSBhbnkgamF2YXNjcmlwdC54LiAvIDBfdXNlcmRhdGEuMC4gZnJvbSBiZWdpbm5pbmcKICAgICAgICBscFBhdGggPSB3aGVyZSArICcuJyArIGxwUGF0aDsgLy8gYWRkIHdoZXJlIHRvIGJlZ2lubmluZyBvZiBzdHJpbmcKICAgICAgICBzdGF0ZXNUb0NyZWF0ZVtpXVswXSA9IGxwUGF0aDsKICAgIH0KCiAgICBpZiAod2hlcmUgIT0gJzBfdXNlcmRhdGEuMCcpIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIGphdmFzY3JpcHQueAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgbGV0IGxvb3BJbml0ID0gKGxvb3BQYXJhbVsxXVsnZGVmJ10gPT0gdW5kZWZpbmVkKSA/IG51bGwgOiBsb29wUGFyYW1bMV1bJ2RlZiddOyAvLyBtaW1pYyBzYW1lIGJlaGF2aW9yIGFzIGNyZWF0ZVN0YXRlIGlmIG5vIGluaXQgdmFsdWUgaXMgcHJvdmlkZWQKICAgICAgICAgICAgY3JlYXRlU3RhdGUobG9vcFBhcmFtWzBdLCBsb29wSW5pdCwgZm9yY2UsIGxvb3BQYXJhbVsxXSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciAwX3VzZXJkYXRhLjAKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIGxldCBjb3VudGVyID0gLTE7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgY291bnRlciArPSAxOwogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2cgKCdbRGVidWddIEN1cnJlbnRseSBwcm9jZXNzaW5nIGZvbGxvd2luZyBzdGF0ZTogWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBpZiggKCQobG9vcFBhcmFtWzBdKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUobG9vcFBhcmFtWzBdKSkgKSB7IC8vIFdvcmthcm91bmQgZHVlIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzgKICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICAgICAgaWYgKFdBUk4gJiYgIWZvcmNlKSBsb2coJ1N0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICAgICAgaWYgKCFXQVJOICYmIExPR19ERUJVRykgbG9nKCdbRGVidWddIFN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwogICAgICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gU3RhdGUgZXhpc3RzIGFuZCBzaGFsbCBub3QgYmUgb3ZlcndyaXR0ZW4gc2luY2UgZm9yY2U9ZmFsc2UKICAgICAgICAgICAgICAgICAgICAvLyBTbywgd2UgZG8gbm90IHByb2NlZWQuCiAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIScpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQW4gb3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gd2FzIHByb3ZpZGVkLCB3aGljaCB3ZSBhcmUgZ29pbmcgdG8gZXhlY3V0ZSBub3cuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZ28gb3V0IGFuZCBjb250aW51ZSB3aXRoIG5leHQgZWxlbWVudCBpbiBsb29wLgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSAvLyBpZighZm9yY2UpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgICAgbGV0IG9iaiA9IHt9OwogICAgICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICAgICAgb2JqLmNvbW1vbiA9IGxvb3BQYXJhbVsxXTsKICAgICAgICAgICAgc2V0T2JqZWN0KGxvb3BQYXJhbVswXSwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0IGZvciBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddOiAnICsgZXJyKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKQogICAgICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gbG9vcFBhcmFtWzFdLmRlZjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdGUobG9vcFBhcmFtWzBdLCBpbml0LCB0cnVlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBzZXRTdGF0ZSBkdXJjaGdlZsO8aHJ0OiAnICsgbG9vcFBhcmFtWzBdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSwgREVMQVkgKyAoMjAgKiBjb3VudGVyKSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0KfQoKcGVyc29uMSA9ICdIZWlrbycKcGVyc29uMiA9ICdLZXJzdGluJwpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICAvL0Fud2VzZW5oZWl0IFBlcnNvbmVuL0hhbmR5cwogICAgWydVbmlmaS5Bbndlc2VuaGVpdC4nK1twZXJzb24xXSwgeyduYW1lJzpbcGVyc29uMV0rJyBBbndlc2VuaGVpdCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIFsnVW5pZmkuQW53ZXNlbmhlaXQuJytbcGVyc29uMl0sIHsnbmFtZSc6W3BlcnNvbjJdKycgQW53ZXNlbmhlaXQnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgIApdOwoKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUsIGZ1bmN0aW9uKCl7OwogICAgbWFpbigpOwp9KTsKCgo=</field>
                           <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
                         </block>
                         <block type="variables_set" id="oODt+HYM*+ptP0jLnPoN" x="13" y="62">
                           <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                           <value name="VALUE">
                             <block type="text" id="^a2)}wPt=s[~]UsHJqvr">
                               <field name="TEXT">0_userdata.0</field>
                             </block>
                           </value>
                           <next>
                             <block type="comment" id="@hJky?+Qv5OpJOJa;Tl6">
                               <field name="COMMENT">Unifi Adapter Client DP is_online</field>
                               <next>
                                 <block type="variables_set" id="Y?6=|YzWSeM4LOdF5$XM">
                                   <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                   <value name="VALUE">
                                     <block type="field_oid" id="knG,[`=1g+b,s{kx1EP,">
                                       <field name="oid">unifi.0.default.clients.8c:b8:4a:34:ac:85.is_online</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="comment" id="/R=ulymL%~caLxh2Ilfo">
                                       <field name="COMMENT">Unifi Adapter Client DP is_online</field>
                                       <next>
                                         <block type="variables_set" id="Vx9vV3Sg8kY@H?;zDw@(">
                                           <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                           <value name="VALUE">
                                             <block type="field_oid" id="!feFu(z:sKBl~0nK`eGu">
                                               <field name="oid">unifi.0.default.clients.04:d6:aa:76:06:53.is_online</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="9m,K[:2^)KFEl|00rZQ7">
                                               <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                               <value name="VALUE">
                                                 <block type="text" id="pJ}1(u|}l3lA7~[z+Wg5">
                                                   <field name="TEXT">Heiko</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="comment" id="}W{ch-1OEjvE8xy`G(aN">
                                                   <field name="COMMENT">60000 x 1 = 1 Minute</field>
                                                   <next>
                                                     <block type="comment" id="vOE*^-a,jtYycI=KQ)Q!">
                                                       <field name="COMMENT">90000 x 1 = 1,5 Minuten</field>
                                                       <next>
                                                         <block type="variables_set" id="WCX(yO/edOT~0H{EzEDJ">
                                                           <field name="VAR" id=";,S.tm1x]$^/_:4UWB~|" variabletype="">verzoegerung_person_1</field>
                                                           <value name="VALUE">
                                                             <block type="math_arithmetic" id="8=|?+a[CEu_T?522u981">
                                                               <field name="OP">MULTIPLY</field>
                                                               <value name="A">
                                                                 <shadow type="math_number" id="y=JYnz0]^+S}-0Wcp8dK">
                                                                   <field name="NUM">90000</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="B">
                                                                 <shadow type="math_number" id="xBI[G7a_J/}x!L4k{6FN">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="variables_set" id="k`L|~6i[HzfGD|D*L^Z[">
                                                               <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                               <value name="VALUE">
                                                                 <block type="text" id="$^o6%]+%A^W3{Txo4Yds">
                                                                   <field name="TEXT">Kerstin</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="variables_set" id="aJJ+aqI83onu8lQ]Q_UQ">
                                                                   <field name="VAR" id="XzCE`hDBP%sX+x?@f$E;" variabletype="">verzoegerung_person_2</field>
                                                                   <value name="VALUE">
                                                                     <block type="math_arithmetic" id="q`nu[t,DyhqtYO9Tp}`Y">
                                                                       <field name="OP">MULTIPLY</field>
                                                                       <value name="A">
                                                                         <shadow type="math_number" id="`Ce#nDl]~dO36UCkyB]1">
                                                                           <field name="NUM">90000</field>
                                                                         </shadow>
                                                                       </value>
                                                                       <value name="B">
                                                                         <shadow type="math_number" id="cHM6|FVqyG^7-@=9PZ$t">
                                                                           <field name="NUM">1</field>
                                                                         </shadow>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="variables_set" id="bEu?$N6,|qbfd8h2t;xr">
                                                                       <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                       <value name="VALUE">
                                                                         <block type="text" id="@AJ19!Lch7=H%ib(sX@`">
                                                                           <field name="TEXT">Heiko</field>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="procedures_callcustomnoreturn" id="(4(-f$1VS~CwO}P[R@.6" collapsed="true">
                                                                           <mutation name="Datenpunkte_anlegen">
                                                                             <arg name="anlegen_in"></arg>
                                                                           </mutation>
                                                                           <value name="ARG0">
                                                                             <block type="variables_get" id="!74)L93;^_?DR0pALJ9f">
                                                                               <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                         <block type="procedures_defnoreturn" id="SSMy$1MUVX,GQsbb[2*m" collapsed="true" x="12" y="437">
                           <field name="NAME">main</field>
                           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                           <statement name="STACK">
                             <block type="timeouts_cleartimeout" id="TZP~F0nTRJ5tX).DDSa`">
                               <field name="NAME">start</field>
                               <next>
                                 <block type="variables_set" id=",U2@|cXpD(cMh/t+?6ch">
                                   <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                   <value name="VALUE">
                                     <block type="text_join" id="!1[II16BPGnRh-7=6hz[">
                                       <mutation items="3"></mutation>
                                       <value name="ADD0">
                                         <block type="variables_get" id="xK5Ij}90B8}K(46SJ?nI">
                                           <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="text" id="j|:+t7a^%@D?7F{x85Vu">
                                           <field name="TEXT">.Unifi.Anwesenheit.</field>
                                         </block>
                                       </value>
                                       <value name="ADD2">
                                         <block type="variables_get" id="/d9dG48mWBBOwwOV|b7q">
                                           <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="!b3P0hupqzO)$LYY_96G">
                                       <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                       <value name="VALUE">
                                         <block type="text_join" id="j^1|XvQ;,bZdK7j*e[W]">
                                           <mutation items="3"></mutation>
                                           <value name="ADD0">
                                             <block type="variables_get" id="{e5Na0l3aK]%yCR.A^B{">
                                               <field name="VAR" id="fyVM({2.Ubq}R7hxFVRc" variabletype="">speicherort</field>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="text" id="IVD:VEYV~yR=s_-/Xf!N">
                                               <field name="TEXT">.Unifi.Anwesenheit.</field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="variables_get" id="Aty5L{S^6krr(,SAac[M">
                                               <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="timeouts_settimeout" id=".|_m4*n~bGC)tC]M]!E^">
                                           <field name="NAME">start</field>
                                           <field name="DELAY">1</field>
                                           <field name="UNIT">sec</field>
                                           <statement name="STATEMENT">
                                             <block type="controls_if" id="@IdN-@8]b19pM5K:RKAV">
                                               <mutation else="1"></mutation>
                                               <value name="IF0">
                                                 <block type="logic_compare" id="mOtoF5ZD{_J6ssks0m)y">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value_var" id="P=ub#}lCd=k9sU(YPcg:">
                                                       <field name="ATTR">val</field>
                                                       <value name="OID">
                                                         <shadow type="text" id="+?=%oVJ6|*ti.6j6/Wxj">
                                                           <field name="TEXT"></field>
                                                         </shadow>
                                                         <block type="variables_get" id="l+hT5v.Pk.O2J$/Iaqt,">
                                                           <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="logic_boolean" id="9{xgUNQr|Jen;~u_$)6d">
                                                       <field name="BOOL">TRUE</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="control_ex" id=".V]CdR(,WY/[gHi[+RLy" inline="true">
                                                   <field name="TYPE">true</field>
                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                   <value name="OID">
                                                     <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                       <field name="oid">Object ID</field>
                                                     </shadow>
                                                     <block type="variables_get" id="3%^DGT`3E`2/0p:w3{4^">
                                                       <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                     </block>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                       <field name="BOOL">TRUE</field>
                                                     </shadow>
                                                     <block type="text_join" id="f8$xC!VB#l1J#2YIx60!">
                                                       <mutation items="3"></mutation>
                                                       <value name="ADD0">
                                                         <block type="variables_get" id="1oBT:?uj_zr?Mgi+#WM`">
                                                           <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="text" id="SWk`f2QCt@7CE*{M9F=y">
                                                           <field name="TEXT"> </field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD2">
                                                         <block type="text" id="Gh(!zydv3Jh_{d7dIKNr">
                                                           <field name="TEXT">ist online ✅</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="DELAY_MS">
                                                     <shadow type="math_number" id="I7CJ`-|pTzVbPm]Rm~#j">
                                                       <field name="NUM">0</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <statement name="ELSE">
                                                 <block type="control_ex" id="Rm7t|TP;p?8IkYCVTFYf" inline="true">
                                                   <field name="TYPE">true</field>
                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                   <value name="OID">
                                                     <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                       <field name="oid">Object ID</field>
                                                     </shadow>
                                                     <block type="variables_get" id="rh!@7z?k=8.uZbxF?DoI">
                                                       <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                     </block>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                       <field name="BOOL">TRUE</field>
                                                     </shadow>
                                                     <block type="text_join" id=";.n,Hn*I2XhhSW85o_Q2">
                                                       <mutation items="3"></mutation>
                                                       <value name="ADD0">
                                                         <block type="variables_get" id="tu5-.4UIt2~I(onp}L$P">
                                                           <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="text" id="`*!Euh8@c0Kv1`dL)`|]">
                                                           <field name="TEXT"> </field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD2">
                                                         <block type="text" id="OP@O9n8`%s$i4iu!qalG">
                                                           <field name="TEXT">ist offline ❌</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="DELAY_MS">
                                                     <shadow type="math_number" id="?QJBHR?P%=ONW9U|7bz~">
                                                       <field name="NUM">0</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <next>
                                                 <block type="controls_if" id="CW7PDI-i5$*GOj_KJb4Q">
                                                   <mutation else="1"></mutation>
                                                   <value name="IF0">
                                                     <block type="logic_compare" id="-!aPk*oy9xC5J=ysP)7=">
                                                       <field name="OP">EQ</field>
                                                       <value name="A">
                                                         <block type="get_value_var" id="n+Ps:J5qI;GEdiv{)E?z">
                                                           <field name="ATTR">val</field>
                                                           <value name="OID">
                                                             <shadow type="text" id="+?=%oVJ6|*ti.6j6/Wxj">
                                                               <field name="TEXT"></field>
                                                             </shadow>
                                                             <block type="variables_get" id="!|b(=p?G65~q+jglAR8w">
                                                               <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="logic_boolean" id="!(SIj5PDvV$R:iUQ*(LP">
                                                           <field name="BOOL">TRUE</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <statement name="DO0">
                                                     <block type="control_ex" id="4VEiHKIjpLMpRX2h?+MR" inline="true">
                                                       <field name="TYPE">true</field>
                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                           <field name="oid">Object ID</field>
                                                         </shadow>
                                                         <block type="variables_get" id="MTibw$-yf66T#p]`3z?r">
                                                           <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                         </block>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                           <field name="BOOL">TRUE</field>
                                                         </shadow>
                                                         <block type="text_join" id=":iT@UQ1eLTq{?.Nc0-Ob">
                                                           <mutation items="3"></mutation>
                                                           <value name="ADD0">
                                                             <block type="variables_get" id=")vF^Rbw,2,7/)$D8gF};">
                                                               <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="text" id="23zE8haiF=Z5L.H#Pk7i">
                                                               <field name="TEXT"> </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD2">
                                                             <block type="text" id="+0!/qeY$7F8aH-xnRR*0">
                                                               <field name="TEXT">ist online ✅</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="l4gI%#`:C=?(4rd|p`^.">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <statement name="ELSE">
                                                     <block type="control_ex" id="W?x]+MW|=5vu@Uj(3,75" inline="true">
                                                       <field name="TYPE">true</field>
                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                           <field name="oid">Object ID</field>
                                                         </shadow>
                                                         <block type="variables_get" id="VV1Lj`Qf^tQkmc+x.maW">
                                                           <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                         </block>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                           <field name="BOOL">TRUE</field>
                                                         </shadow>
                                                         <block type="text_join" id="ll.R;kcidI|hRLwDFVB{">
                                                           <mutation items="3"></mutation>
                                                           <value name="ADD0">
                                                             <block type="variables_get" id="WD$^uCEDqYwF6:QS*F]j">
                                                               <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="text" id="wR$`1P`CT=B)$/YSN(~J">
                                                               <field name="TEXT"> </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD2">
                                                             <block type="text" id="4c(~/}V#~bT!jwy2iB}J">
                                                               <field name="TEXT">ist offline ❌</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="!d5FRdKZAaU7?)=#m4%_">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="on_ext" id="SX%6!fqcVoVlD@SU-7Y4">
                                               <mutation items="1"></mutation>
                                               <field name="CONDITION">ne</field>
                                               <field name="ACK_CONDITION"></field>
                                               <value name="OID0">
                                                 <shadow type="field_oid" id=";0_S:)AqTJF$]lRUv@gx">
                                                   <field name="oid">default</field>
                                                 </shadow>
                                                 <block type="variables_get" id="UKe(AmN7{4GdYH(3_`O#">
                                                   <field name="VAR" id="nTXOZ!3I{zM-7hg^DXcc" variabletype="">person_1_is_online_DP</field>
                                                 </block>
                                               </value>
                                               <statement name="STATEMENT">
                                                 <block type="timeouts_cleartimeout" id=";5poL43K$!]^/%.4$m+%">
                                                   <field name="NAME">warten_person_1</field>
                                                   <next>
                                                     <block type="controls_if" id="_z?rO3%XvQmDU%U1=lon">
                                                       <value name="IF0">
                                                         <block type="on_source" id="_(Fal+8L^ATHe#Hq|y+9">
                                                           <field name="ATTR">state.val</field>
                                                         </block>
                                                       </value>
                                                       <statement name="DO0">
                                                         <block type="control_ex" id="LM-KIX/g(V6Tuik9CLF/" inline="true">
                                                           <field name="TYPE">true</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                               <field name="oid">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="7,y}skvg#u?n$OT[5K=S">
                                                               <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                             </block>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                               <field name="BOOL">TRUE</field>
                                                             </shadow>
                                                             <block type="text_join" id="l|J80x/T-`0?9M^7b]:N">
                                                               <mutation items="3"></mutation>
                                                               <value name="ADD0">
                                                                 <block type="variables_get" id=".qiA1:)|eFl9@:8-b6*`">
                                                                   <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD1">
                                                                 <block type="text" id="G0=0Fc~I_fA]0O)}g3W(">
                                                                   <field name="TEXT"> </field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD2">
                                                                 <block type="text" id="]N,+4OnsaC~Lw_.k0/hh">
                                                                   <field name="TEXT">ist online ✅</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="1:S1**dQmdnwe.l7.Z-b">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </statement>
                                                       <next>
                                                         <block type="timeouts_settimeout" id="=B9@U~m`_A#Z6:]qChNR">
                                                           <field name="NAME">warten_person_1</field>
                                                           <field name="DELAY">verzoegerung_person_1</field>
                                                           <field name="UNIT">ms</field>
                                                           <statement name="STATEMENT">
                                                             <block type="controls_if" id="1VR-AfT4Oa^*9,9^jtoL">
                                                               <value name="IF0">
                                                                 <block type="logic_negate" id="7-N(LCjniX9-2w}5C|lV">
                                                                   <value name="BOOL">
                                                                     <block type="on_source" id="9dgu*Y:=}#idI+CVK{?O">
                                                                       <field name="ATTR">state.val</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <statement name="DO0">
                                                                 <block type="control_ex" id="YN=l|7.)+2WVOGMcg!/`" inline="true">
                                                                   <field name="TYPE">true</field>
                                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                                   <value name="OID">
                                                                     <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                       <field name="oid">Object ID</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="4.t^B;y;~YJA^DTb;gyE">
                                                                       <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="VALUE">
                                                                     <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                       <field name="BOOL">TRUE</field>
                                                                     </shadow>
                                                                     <block type="text_join" id="o}K:*wP8{onf4yKv=4YT">
                                                                       <mutation items="3"></mutation>
                                                                       <value name="ADD0">
                                                                         <block type="variables_get" id="941ISD`abMu2l=]8Y(/m">
                                                                           <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD1">
                                                                         <block type="text" id="ZM+pW%,1k!o2Vf?t0R?l">
                                                                           <field name="TEXT"> </field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD2">
                                                                         <block type="text" id="S__OPp))@Dgo/JTcf}ax">
                                                                           <field name="TEXT">ist offline ❌</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="DELAY_MS">
                                                                     <shadow type="math_number" id="f6RJ7!swO;Le1Bfko;L2">
                                                                       <field name="NUM">0</field>
                                                                     </shadow>
                                                                   </value>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </statement>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <next>
                                                 <block type="on_ext" id="~ObZs=5%-:^CnQuYO(z=">
                                                   <mutation items="1"></mutation>
                                                   <field name="CONDITION">ne</field>
                                                   <field name="ACK_CONDITION"></field>
                                                   <value name="OID0">
                                                     <shadow type="field_oid" id=";0_S:)AqTJF$]lRUv@gx">
                                                       <field name="oid">default</field>
                                                     </shadow>
                                                     <block type="variables_get" id="Olbu@Xq[MZTK?j4d_a#g">
                                                       <field name="VAR" id="yB(N?#)zIjYIo%.B@UT(" variabletype="">person_2_is_online_DP</field>
                                                     </block>
                                                   </value>
                                                   <statement name="STATEMENT">
                                                     <block type="timeouts_cleartimeout" id="TP402$RK@-Gp1F8cUm2A">
                                                       <field name="NAME">warten_person_2</field>
                                                       <next>
                                                         <block type="controls_if" id="!K2H`_FR~oD9eh*@T1|w">
                                                           <value name="IF0">
                                                             <block type="on_source" id="*I8C7_{s9`7I(Zx#@%|2">
                                                               <field name="ATTR">state.val</field>
                                                             </block>
                                                           </value>
                                                           <statement name="DO0">
                                                             <block type="control_ex" id="mFAN(dDUr6q/gR6UwBVZ" inline="true">
                                                               <field name="TYPE">true</field>
                                                               <field name="CLEAR_RUNNING">FALSE</field>
                                                               <value name="OID">
                                                                 <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                   <field name="oid">Object ID</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="$UftmC*.f}ze-ab-ys,Q">
                                                                   <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                                 </block>
                                                               </value>
                                                               <value name="VALUE">
                                                                 <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                   <field name="BOOL">TRUE</field>
                                                                 </shadow>
                                                                 <block type="text_join" id="P3N04_kX]?qG{Xs2[(fH">
                                                                   <mutation items="3"></mutation>
                                                                   <value name="ADD0">
                                                                     <block type="variables_get" id="P5IAcPBtd#@dS,*2B@fW">
                                                                       <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD1">
                                                                     <block type="text" id="r7@)j/8/+({|VPB=@6%r">
                                                                       <field name="TEXT"> </field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD2">
                                                                     <block type="text" id="xxE=NzJgw3NYsn-%!LPx">
                                                                       <field name="TEXT">ist online ✅</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="DELAY_MS">
                                                                 <shadow type="math_number" id="p/d5]r.~2%E#lqUZ+Zzo">
                                                                   <field name="NUM">0</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </statement>
                                                           <next>
                                                             <block type="timeouts_settimeout" id="@C,B!T7fXep/Dm=_:4d3">
                                                               <field name="NAME">warten_person_2</field>
                                                               <field name="DELAY">verzoegerung_person_2</field>
                                                               <field name="UNIT">ms</field>
                                                               <statement name="STATEMENT">
                                                                 <block type="controls_if" id="MR]9DN1U5jsMH!CAUwnx">
                                                                   <value name="IF0">
                                                                     <block type="logic_negate" id=",X~j=CgHu3Dua,Pajc)c">
                                                                       <value name="BOOL">
                                                                         <block type="on_source" id=":T;WH4z-(3~qmteGL,c3">
                                                                           <field name="ATTR">state.val</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <statement name="DO0">
                                                                     <block type="control_ex" id="L{2Dp(q220seA@K)H~:9" inline="true">
                                                                       <field name="TYPE">true</field>
                                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                                       <value name="OID">
                                                                         <shadow type="field_oid" id="hRVN~;8VstUL/pd4KSAZ">
                                                                           <field name="oid">Object ID</field>
                                                                         </shadow>
                                                                         <block type="variables_get" id="37B(F$tlde-Bt#u.;L~#">
                                                                           <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="VALUE">
                                                                         <shadow type="logic_boolean" id="bbVKs5v:Ert)PYdo!`!i">
                                                                           <field name="BOOL">TRUE</field>
                                                                         </shadow>
                                                                         <block type="text_join" id="eFy4q-cPhD:xWFQ|LO1f">
                                                                           <mutation items="3"></mutation>
                                                                           <value name="ADD0">
                                                                             <block type="variables_get" id=";$UrDWF]KPE{L^K`r/hr">
                                                                               <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD1">
                                                                             <block type="text" id="wwJ^.~7}z9=7(BjXQ.p)">
                                                                               <field name="TEXT"> </field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD2">
                                                                             <block type="text" id="lM_E)oJ#UCr|#hxu*pAT">
                                                                               <field name="TEXT">ist offline ❌</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                       <value name="DELAY_MS">
                                                                         <shadow type="math_number" id="~ECK]+XM?KdV2JNU{|2O">
                                                                           <field name="NUM">0</field>
                                                                         </shadow>
                                                                       </value>
                                                                     </block>
                                                                   </statement>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </statement>
                                                   <next>
                                                     <block type="on_ext" id="kBmahL8nnn?vxO//$f-[">
                                                       <mutation items="1"></mutation>
                                                       <field name="CONDITION">ne</field>
                                                       <field name="ACK_CONDITION"></field>
                                                       <value name="OID0">
                                                         <shadow type="field_oid" id="ni$tZS5FQYqe`2,/#UC,">
                                                           <field name="oid">default</field>
                                                         </shadow>
                                                         <block type="variables_get" id="QQcy{{[8Zg74:pbx$kRi">
                                                           <field name="VAR" id="lvz.2`K]e8c1*JEc-vJu" variabletype="">anwesenheit_person_1</field>
                                                         </block>
                                                       </value>
                                                       <statement name="STATEMENT">
                                                         <block type="controls_if" id="$/OU#xEey?~;BXD:2yDW">
                                                           <mutation else="1"></mutation>
                                                           <value name="IF0">
                                                             <block type="logic_compare" id="Q~Ms:uf(M:~S,tM9,~js">
                                                               <field name="OP">EQ</field>
                                                               <value name="A">
                                                                 <block type="on_source" id="i@wtxhk*E|Qo{AoB_u?I">
                                                                   <field name="ATTR">state.val</field>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <block type="text_join" id="@,A~!kjAU/-aY3.wbM9;">
                                                                   <mutation items="3"></mutation>
                                                                   <value name="ADD0">
                                                                     <block type="variables_get" id="TACK]j|)Lo@,E00/vwhP">
                                                                       <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD1">
                                                                     <block type="text" id="7hOD~O*?LrVG~dZ8TQ5`">
                                                                       <field name="TEXT"> </field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD2">
                                                                     <block type="text" id="L492!]0m|`X{r2h{+w=6">
                                                                       <field name="TEXT">ist online ✅</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <statement name="DO0">
                                                             <block type="telegram" id="54*y/hkmyWndQBH{h#)V">
                                                               <field name="INSTANCE"></field>
                                                               <field name="LOG"></field>
                                                               <field name="SILENT">FALSE</field>
                                                               <field name="PARSEMODE">Markdown</field>
                                                               <value name="MESSAGE">
                                                                 <shadow type="text" id="F8`_}5Ls0W8c7x2c+hZa">
                                                                   <field name="TEXT">text</field>
                                                                 </shadow>
                                                                 <block type="text_join" id="IGB?:md|3ZD;,sYcS|bg">
                                                                   <mutation items="3"></mutation>
                                                                   <value name="ADD0">
                                                                     <block type="variables_get" id="/tAT/wS-)[}+6m*I4~g8">
                                                                       <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD1">
                                                                     <block type="text" id="fFlUO))aCIA!f=Yag|;M">
                                                                       <field name="TEXT"> </field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD2">
                                                                     <block type="text" id="V[o?yVyX~D{w{(:^NNVr">
                                                                       <field name="TEXT">ist online ✅</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="USERNAME">
                                                                 <block type="variables_get" id="41ZPm5?AKrt.cqhBg3{2">
                                                                   <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </statement>
                                                           <statement name="ELSE">
                                                             <block type="telegram" id="gONL!Ak:KiDx*lp_)..%">
                                                               <field name="INSTANCE"></field>
                                                               <field name="LOG"></field>
                                                               <field name="SILENT">FALSE</field>
                                                               <field name="PARSEMODE">Markdown</field>
                                                               <value name="MESSAGE">
                                                                 <shadow type="text" id="=nQH.TsZSn{lfpy^dbYY">
                                                                   <field name="TEXT">text</field>
                                                                 </shadow>
                                                                 <block type="text_join" id="z,us3C]4=+L0DA.p_}lp">
                                                                   <mutation items="3"></mutation>
                                                                   <value name="ADD0">
                                                                     <block type="variables_get" id="i3Q4|n~53-sQ?^T*H.TC">
                                                                       <field name="VAR" id=";^euFaDvC/jHl4C^!SUw" variabletype="">person_1</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD1">
                                                                     <block type="text" id="QFr-g%mo//Sg8;:roRfA">
                                                                       <field name="TEXT"> </field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD2">
                                                                     <block type="text" id=")0nYWe-N-O.,_Jrn${Vm">
                                                                       <field name="TEXT">ist offline ❌</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="USERNAME">
                                                                 <block type="variables_get" id="vm,}kUg}PwBi!:PsGM,{">
                                                                   <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </statement>
                                                         </block>
                                                       </statement>
                                                       <next>
                                                         <block type="on_ext" id="q4OPoLnwQVEJSw$nioXu">
                                                           <mutation items="1"></mutation>
                                                           <field name="CONDITION">ne</field>
                                                           <field name="ACK_CONDITION"></field>
                                                           <value name="OID0">
                                                             <shadow type="field_oid" id="hXjoTKk;7Ym;i+XqSni1">
                                                               <field name="oid">default</field>
                                                             </shadow>
                                                             <block type="variables_get" id="U=OI/?JPPNn/VeC.eoBY">
                                                               <field name="VAR" id="@i-nl2q|$|OFpK!Yx+CC" variabletype="">anwesenheit_person_2</field>
                                                             </block>
                                                           </value>
                                                           <statement name="STATEMENT">
                                                             <block type="controls_if" id="({xqy3x//DnK@jj08nId">
                                                               <mutation else="1"></mutation>
                                                               <value name="IF0">
                                                                 <block type="logic_compare" id="7hJU.dk^tV/xxaHXK:96">
                                                                   <field name="OP">EQ</field>
                                                                   <value name="A">
                                                                     <block type="on_source" id="lLs6wkl|I#q4lph`RbX(">
                                                                       <field name="ATTR">state.val</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <block type="text_join" id="kT/l3;AAS%)aS2G#O$Kn">
                                                                       <mutation items="3"></mutation>
                                                                       <value name="ADD0">
                                                                         <block type="variables_get" id="iVvqZxBB66K4Oco(cXJa">
                                                                           <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD1">
                                                                         <block type="text" id="(J`VLxYAOs=YWWOW$[H+">
                                                                           <field name="TEXT"> </field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD2">
                                                                         <block type="text" id="o@}[*NOAo(#=4meNSS8q">
                                                                           <field name="TEXT">ist online ✅</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <statement name="DO0">
                                                                 <block type="telegram" id="G/k/uD]_e{FwK|;oni_9">
                                                                   <field name="INSTANCE"></field>
                                                                   <field name="LOG"></field>
                                                                   <field name="SILENT">FALSE</field>
                                                                   <field name="PARSEMODE">Markdown</field>
                                                                   <value name="MESSAGE">
                                                                     <shadow type="text" id="F8`_}5Ls0W8c7x2c+hZa">
                                                                       <field name="TEXT">text</field>
                                                                     </shadow>
                                                                     <block type="text_join" id="EwI{:V.W#KbT~#,))hp4">
                                                                       <mutation items="3"></mutation>
                                                                       <value name="ADD0">
                                                                         <block type="variables_get" id="rXJ#~l_SmSueR^}c}c+2">
                                                                           <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD1">
                                                                         <block type="text" id="{++h2{_?][DK]_UJQ!1;">
                                                                           <field name="TEXT"> </field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD2">
                                                                         <block type="text" id="+T~B`e5Yo89(P:rS[eXJ">
                                                                           <field name="TEXT">ist online ✅</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="USERNAME">
                                                                     <block type="variables_get" id="SIP/Bn3+q.?-|~fP{|mj">
                                                                       <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </statement>
                                                               <statement name="ELSE">
                                                                 <block type="telegram" id="QrG*QsVt38c~9UI4H1.U">
                                                                   <field name="INSTANCE"></field>
                                                                   <field name="LOG"></field>
                                                                   <field name="SILENT">FALSE</field>
                                                                   <field name="PARSEMODE">Markdown</field>
                                                                   <value name="MESSAGE">
                                                                     <shadow type="text" id="=nQH.TsZSn{lfpy^dbYY">
                                                                       <field name="TEXT">text</field>
                                                                     </shadow>
                                                                     <block type="text_join" id="i*RxzVi!*A==)}IS5C}S">
                                                                       <mutation items="3"></mutation>
                                                                       <value name="ADD0">
                                                                         <block type="variables_get" id="}%!^~Qa|-+l=w6[91@*f">
                                                                           <field name="VAR" id="sgYRW3,@::dC5Ux]x;8|" variabletype="">person_2</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD1">
                                                                         <block type="text" id="nE0K73Q(?EJwI52FCdl@">
                                                                           <field name="TEXT"> </field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ADD2">
                                                                         <block type="text" id="zQ8F1qC^L?*7c#hE}z_A">
                                                                           <field name="TEXT">ist offline ❌</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="USERNAME">
                                                                     <block type="variables_get" id="M|AZ+FjOe.JP3wkCCbbC">
                                                                       <field name="VAR" id="![EW]9b!hQ9S[MT.q}6-" variabletype="">telegram_benutzer</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </statement>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                        </xml>
                        

                        crunchipC Away
                        crunchipC Away
                        crunchip
                        Forum Testing Most Active
                        wrote on last edited by
                        #246

                        @dslraser :+1: ich werde es mal testen

                        umgestiegen von Proxmox auf Unraid

                        dslraserD 1 Reply Last reply
                        1
                        • crunchipC crunchip

                          @dslraser :+1: ich werde es mal testen

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #247

                          @crunchip sagte in [Major Update] UniFi Adapter v0.5.0:

                          @dslraser :+1: ich werde es mal testen

                          Hat heute morgen und eben (ich war unterwegs) funktioniert wie gewünscht.

                          Screenshot_20200525-133128_Telegram.jpg

                          crunchipC 1 Reply Last reply
                          0
                          • dslraserD dslraser

                            @crunchip sagte in [Major Update] UniFi Adapter v0.5.0:

                            @dslraser :+1: ich werde es mal testen

                            Hat heute morgen und eben (ich war unterwegs) funktioniert wie gewünscht.

                            Screenshot_20200525-133128_Telegram.jpg

                            crunchipC Away
                            crunchipC Away
                            crunchip
                            Forum Testing Most Active
                            wrote on last edited by crunchip
                            #248

                            @dslraser ja sieht besser aus, soweit ich testen konnte.
                            Übrigens läuft der radar2 in der neuen Version(v1.9.9) prima, werde diese DP's wohl wieder für Anwesend verwenden.

                            umgestiegen von Proxmox auf Unraid

                            braindeadB 1 Reply Last reply
                            0
                            • crunchipC crunchip

                              @dslraser ja sieht besser aus, soweit ich testen konnte.
                              Übrigens läuft der radar2 in der neuen Version(v1.9.9) prima, werde diese DP's wohl wieder für Anwesend verwenden.

                              braindeadB Offline
                              braindeadB Offline
                              braindead
                              Developer
                              wrote on last edited by
                              #249

                              @crunchip Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder? Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert. Hast Du ein Apple Gerät?

                              K crunchipC dslraserD 4 Replies Last reply
                              0
                              • braindeadB braindead

                                @crunchip Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder? Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert. Hast Du ein Apple Gerät?

                                K Offline
                                K Offline
                                Kueppert
                                wrote on last edited by
                                #250

                                @braindead ich könnte mir fast vorstellen, dass hier ggf. jedes Handy (Hersteller/Android-Version) anders reagiert. Einen fest verbauten Offset im Code würde ich jetzt nicht so gut finden - oder meinstest du einen Offset, den man selbst im Adapter angeben kann?

                                UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                                braindeadB 1 Reply Last reply
                                0
                                • K Kueppert

                                  @braindead ich könnte mir fast vorstellen, dass hier ggf. jedes Handy (Hersteller/Android-Version) anders reagiert. Einen fest verbauten Offset im Code würde ich jetzt nicht so gut finden - oder meinstest du einen Offset, den man selbst im Adapter angeben kann?

                                  braindeadB Offline
                                  braindeadB Offline
                                  braindead
                                  Developer
                                  wrote on last edited by
                                  #251

                                  @Kueppert Korrekt, der Offset muss konfigurierbar sein. Andernfalls ist er für einige User zu klein und für andere zu groß.

                                  1 Reply Last reply
                                  1
                                  • braindeadB braindead

                                    @crunchip Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder? Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert. Hast Du ein Apple Gerät?

                                    crunchipC Away
                                    crunchipC Away
                                    crunchip
                                    Forum Testing Most Active
                                    wrote on last edited by crunchip
                                    #252

                                    @braindead nein sind beides Galaxy S10. Ein S10 und ein S10+. Auch sind beide per Einstellung bei Energiemodus auf maximale Leistung gestellt und auch der Wlan Energiesparmodus ist deaktiviert.
                                    Dann wahrscheinlich die beste Wahl, es im Adapter konfigurierbar zu machen.

                                    umgestiegen von Proxmox auf Unraid

                                    1 Reply Last reply
                                    0
                                    • braindeadB braindead

                                      @crunchip Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder? Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert. Hast Du ein Apple Gerät?

                                      dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      wrote on last edited by dslraser
                                      #253

                                      @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

                                      Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert.

                                      Hast Du einen AP, oder mehrere ?
                                      (EDIT: wir haben hier ein Samsung Note 8 und ein Samsung Note 10 plus 5G---eingestellt wie bei @crunchip )

                                      1 Reply Last reply
                                      0
                                      • braindeadB braindead

                                        @crunchip Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder? Wobei ich mich etwas wunder, dass es bei meinem Android Handy ohne Offset funktioniert. Hast Du ein Apple Gerät?

                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #254

                                        @braindead sagte in [Major Update] UniFi Adapter v0.5.0:

                                        Wenn online sofort funktioniert, offline aber Probleme macht, dann muss ich wohl doch ein Offset einbauen für offline, oder?

                                        Beides funktioniert sofort.
                                        Aber ich habe es gestern bei mir noch mal getestet. Wenn ich mit dem Handy in den Keller laufe, dann wechselt das Handy den AP und dann geht der DP is_online für einen Durchlauf auf false, da kann ich live zusehen. Wenn ich jetzt einfach im Adapter das Intervall verlängere geht es ja auch nur "zufällig", da ich ja nicht weiß wie weit der Durchlauf gerade ist wenn das Handy den DP wechselt und kurz auf false geht. Deswegen hatte ich es für mich erstmal so gelöst. " 2 Minuten ist bei mir ein guter Wert. Auch 1,5 Minuten waren vorhin schon zu kurz.

                                        1 Reply Last reply
                                        0
                                        • XsevX Offline
                                          XsevX Offline
                                          Xsev
                                          wrote on last edited by
                                          #255

                                          Ich hab jetzt seit 2 Tagen ein Testscript für die Anwesenheit am laufen. Bei mir läuft es soweit top, einzig beim wechsel des AP (hab 3 davon) kann es zu einer kurzen "falsch Meldung" kommen, wenn ich in der Bude rumlaufe aber nur dann. Stört mich jetzt soweit nicht, da im Gegensatz zum tr-064 die Erkennung dafür auch wesentlich schneller ist. Falls das mit einem konfigurierbarem Offset lösbar wäre, wäre das natürlich top! :+1:

                                          dslraserD 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          590

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe