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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.1k

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

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

[Major Update] UniFi Adapter v0.5.0

Geplant Angeheftet Gesperrt Verschoben Entwicklung
unifi
510 Beiträge 54 Kommentatoren 115.4k Aufrufe 51 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • braindeadB braindead

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

    Zuverlässig läuft nur mein anders Skript, meldet nur, wenn ich wirklich off/online bin.

    OK, dann Butter bei die Fische: Wie oft läuft Dein Script und gibt es ein Offset? Bitte auch mal das Script hier posten, damit ich das genau nachvollziehen kann. 🙂

    crunchipC Abwesend
    crunchipC Abwesend
    crunchip
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #233

    @braindead hatte ich weiter oben schon genannt
    was anderes macht du ja auch nicht im Adapter?

    codeschnipsel

    function checkUAP () {
        for (var i=0; i<wificlients.devices.length; i++) {
            // UAP abfragen
            var lchange = getState("unifi.0.default.clients." + wificlients.devices[i].mac + ".uptime_by_uap").lc;
            var uap_anwesenheit = (lchange - ((new Date().getTime()) - 60000) < 0 === true) ? false : true;
            
            if (logging) log('Gerät ' + wificlients.devices[i].geraet + ' von ' + wificlients.devices[i].nutzer + ' ist ' + uap_anwesenheit);
            
            // Datenpunkt verzögert beschreiben
            var idUAP = "javascript." + instance + ".Anwesend.UAP." + wificlients.devices[i].nutzer;
            setStateDelayed(idUAP, uap_anwesenheit, 1000);
            
        }
    } 
     
    // jede Minute
    schedule('* * * * * *', checkUAP);
     
    // bei Skriptstart
    createStates(); // Datenpunkte erstmal anlegen
    setTimeout(function() { // 2s verzögert Abfrage erstmals ausführen
        checkUAP();
    }, 2*1000);
    

    umgestiegen von Proxmox auf Unraid

    dslraserD 1 Antwort Letzte Antwort
    0
    • crunchipC crunchip

      @braindead hatte ich weiter oben schon genannt
      was anderes macht du ja auch nicht im Adapter?

      codeschnipsel

      function checkUAP () {
          for (var i=0; i<wificlients.devices.length; i++) {
              // UAP abfragen
              var lchange = getState("unifi.0.default.clients." + wificlients.devices[i].mac + ".uptime_by_uap").lc;
              var uap_anwesenheit = (lchange - ((new Date().getTime()) - 60000) < 0 === true) ? false : true;
              
              if (logging) log('Gerät ' + wificlients.devices[i].geraet + ' von ' + wificlients.devices[i].nutzer + ' ist ' + uap_anwesenheit);
              
              // Datenpunkt verzögert beschreiben
              var idUAP = "javascript." + instance + ".Anwesend.UAP." + wificlients.devices[i].nutzer;
              setStateDelayed(idUAP, uap_anwesenheit, 1000);
              
          }
      } 
       
      // jede Minute
      schedule('* * * * * *', checkUAP);
       
      // bei Skriptstart
      createStates(); // Datenpunkte erstmal anlegen
      setTimeout(function() { // 2s verzögert Abfrage erstmals ausführen
          checkUAP();
      }, 2*1000);
      
      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #234

      @crunchip
      okay, in Deinem Script ist eine Verzögerung drinn....Dann ändere ich meins auch mal. Wenn Du den "Schraubenschlüssel" für Telegramm nimmst, dann kommen auch keine Nachrichten zwischendurch, oder doch ?

      crunchipC 1 Antwort Letzte Antwort
      0
      • dslraserD dslraser

        @crunchip
        okay, in Deinem Script ist eine Verzögerung drinn....Dann ändere ich meins auch mal. Wenn Du den "Schraubenschlüssel" für Telegramm nimmst, dann kommen auch keine Nachrichten zwischendurch, oder doch ?

        crunchipC Abwesend
        crunchipC Abwesend
        crunchip
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #235

        @dslraser
        Wenn ich den Datenpunkt über den Schraubenschlüssel konfigurieren möchte, sei es per Telegram oder auch iogo Nachrichten zu senden, bekomme ich keine Benachrichtigung, warum auch immer.
        Daher hab ich mir wiederum dafür ein Blockly erstellt

        umgestiegen von Proxmox auf Unraid

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mtaxer
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 😎

            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 Antworten Letzte Antwort
            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 😎

              braindeadB Offline
              braindeadB Offline
              braindead
              Developer
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 😎

                SunshinemakerS Offline
                SunshinemakerS Offline
                Sunshinemaker
                schrieb am zuletzt editiert von
                #239

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

                Mitunter schmeckt der Köder dem Angler eben besser als dem Fisch 😎

                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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 😎

                  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 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    looxer01
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        looxer01
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #244

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

                          1 Antwort Letzte Antwort
                          0
                          • dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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 Abwesend
                              crunchipC Abwesend
                              crunchip
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #246

                              @dslraser 👍 ich werde es mal testen

                              umgestiegen von Proxmox auf Unraid

                              dslraserD 1 Antwort Letzte Antwort
                              1
                              • crunchipC crunchip

                                @dslraser 👍 ich werde es mal testen

                                dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #247

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

                                @dslraser 👍 ich werde es mal testen

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

                                Screenshot_20200525-133128_Telegram.jpg

                                crunchipC 1 Antwort Letzte Antwort
                                0
                                • dslraserD dslraser

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

                                  @dslraser 👍 ich werde es mal testen

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

                                  Screenshot_20200525-133128_Telegram.jpg

                                  crunchipC Abwesend
                                  crunchipC Abwesend
                                  crunchip
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antworten Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #251

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

                                        1 Antwort Letzte Antwort
                                        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 Abwesend
                                          crunchipC Abwesend
                                          crunchip
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          380

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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