Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Unifi WLAN Script 2 mit Anwesenheitskontrolle

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Unifi WLAN Script 2 mit Anwesenheitskontrolle

    This topic has been deleted. Only users with topic management privileges can see it.
    • Nashra
      Nashra Most Active Forum Testing @liv-in-sky last edited by

      @liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

      UPDATE UPDATE UPDATE (im ersten post)

      Klasse Arbeit und es wird alles sauber angezeigt, sogar Unifi Bug-Anzeige funktioniert
      unifi-bug.PNG

      Danke @liv-in-sky 👍 👍 👍 👍 👍 👍

      1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @liv-in-sky last edited by

        @liv-in-sky

        Moin, irgendetwas stimmt noch nicht.
        Wenn ich mich nicht aus dem WLAN abmelde, sondern einfach so bei eingeschaltetem WLAN das Haus verlasse, dann kommt zwar im DP richtiger Weise false, aber kein noConn in dem Network DP und auch nicht in der iQontrol WLAN Liste. In der iQontrol Gesamtliste stehen die Geräte als noConn drinn.
        Ich bin jetzt gerade per VPN zu Hause angemeldet.

        richtig:
        Bildschirmfoto 2019-12-16 um 10.18.23.png

        falsch:
        Bildschirmfoto 2019-12-16 um 10.24.15.png

        richtig:
        Bildschirmfoto 2019-12-16 um 10.19.07.png

        In der iQontrol WLAN-Liste erscheinen die Geräte nicht.

        1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @liv-in-sky last edited by

          @liv-in-sky

          hier hat übrigens Jemand den gleichen Verdacht....
          https://forum.iobroker.net/post/340053

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @dslraser last edited by

            @dslraser hallo h.

            so wie es scheint, es ist tatsächlich wieder ein anderes verhalten - wenn mein handy aus dem netz verschwindet - wird bei mir im controller unter last activity "just now" angezeigt - anscheinend kommen da wieder andere werte- wie sich das mit usg auswirkt weiß ich im moment nicht

            würdest du das bitte mal testen und morgen, wenn du wieder im büro bist, kontrollieren

            unifi-skipt-ohne-abmelden-test.txt

            danke dir

            ps: ist garnicht so leicht darzustellen - das handy aus dem netz zu bekommen, obwohl alle ap'S online sind 😞

            dslraser 3 Replies Last reply Reply Quote 1
            • dslraser
              dslraser Forum Testing Most Active @liv-in-sky last edited by

              @liv-in-sky
              mache ich.

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

                Nach der Installation des Scriptes komme ich wegen der folgenden Fehlermeldungen nicht weiter:

                16c6c78c-fd12-4506-92e6-fc1b41a76f73-grafik.png

                Die Zugangsdaten zum Cloud-Key sind korrekt eingetragen.

                Kann mir evtl. jemand Hinweise zur Fehlerbehebung geben?

                b2f0c71e-2c92-43f6-a21a-f99f5696dc30-grafik.png

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @SirDirk last edited by

                  @SirDirk evtl der sitename - bitte prüfen im controller
                  Image 2.png

                  SirDirk 1 Reply Last reply Reply Quote 0
                  • SirDirk
                    SirDirk @liv-in-sky last edited by

                    @liv-in-sky
                    der Sitename stimmt überein:

                    im Controller:
                    6023aedc-9d5f-4bce-a602-c11de79206fa-grafik.png

                    im Script:

                    a853278c-89b7-4b00-a5ef-8dc5ddda0bca-grafik.png

                    hast du evtl. noch eine Idee?

                    dslraser 2 Replies Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @SirDirk last edited by

                      @SirDirk
                      hast Du schon die WLAN ID/ID's eingetragen ?

                      SirDirk 1 Reply Last reply Reply Quote 0
                      • SirDirk
                        SirDirk @dslraser last edited by

                        @dslraser
                        ja, aus der Url (hinter dem EDIT)

                        ae57ee8a-92ac-4542-84f8-cc648d3e100a-grafik.png

                        5fe9f071-84ac-45f1-80a0-74b3ffeba617-grafik.png

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @SirDirk last edited by

                          @SirDirk sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                          @liv-in-sky
                          der Sitename stimmt überein:

                          im Controller:
                          6023aedc-9d5f-4bce-a602-c11de79206fa-grafik.png

                          im Script:

                          a853278c-89b7-4b00-a5ef-8dc5ddda0bca-grafik.png

                          hast du evtl. noch eine Idee?

                          Bei mir im Controller ist der Site Name auch Default, aber im Script schon immer klein (default) geschrieben.
                          Ich weiß aber nicht ob das eine Rolle spielt ?

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @dslraser last edited by

                            @dslraser hab ich auch gerade gesehen - würde es def. klein schreiben

                            der pfad im browser ist auch :

                            https://192.168.178.157:8443/manage/site/default/settings/site
                            

                            klein geschrieben -

                            hast du ein "extra spezielles" passwort - keine leerzeichen, keine umlaute

                            ich denke, er logt sich nicht ein

                            SirDirk 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @SirDirk last edited by

                              @SirDirk und die zusätze im javascript adapter setting hast du dazugefügt

                              dslraser 1 Reply Last reply Reply Quote 0
                              • SirDirk
                                SirDirk @liv-in-sky last edited by SirDirk

                                @liv-in-sky
                                Ich habe ein kompliziertes Passwort aus einem PW-Manager mit Sonderzeichen und Zahlen - aber keine Umlaute - keine Leerzeichen.

                                In der JS-Instanz habe ich die folgenden Einträge:

                                14ac5649-3f90-4bff-a20d-57f21d40f249-grafik.png

                                @dslraser
                                nach dem klein-schreiben von default funktioniert nun der Login - es kommt jetzt aber folgende Fehlermeldung:

                                099831ea-0029-4bf4-944c-029e3a33ebfd-grafik.png

                                Irgendwie komme ich da auf folgende Zeilen, denn es sind keine MephistoFon-Einträge in den Datenpunkten.

                                dce2b33d-8d0b-42ff-a2c2-aefe467fc05f-grafik.png

                                Danke für die Hilfe beim Login - habt ihr evtl. eine Idee zu der neuen Fehlermeldung?

                                die folgenden Log-Einträge sind auch noch vorhanden:

                                7754af29-a0a2-45cb-9626-81120153884d-grafik.png

                                dslraser liv-in-sky 2 Replies Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @SirDirk last edited by

                                  @SirDirk

                                  Kannst Du mal diesen Teil ( also ohne Deine Zugangsdaten ab unter Const apName (ohne Deine AP'S) posten

                                  //Vordefinierte Vouchers für  one-click-create - wird hier etwas geändert BITTE DATENPUNKT (Vouchers_StandardList) LÖSCHEN vor Scriptstart!!!!
                                  //BITTE alle Werte eingeben - für nichtbenutzte wie up-, download und nmb_begrenzung eine 0 eintragen
                                  // Pflichteinträge sind dauer, anzahl, multiuse und notiz !!!
                                  const standardVouchers = {"Vier Tage" : {dauer: 240, anzahl: 1, multiuse: 1, upload: 0, download:0, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 4 Tage"}, 
                                                           "Sieben Tage" : {dauer: 10080, anzahl: 1, multiuse: 1, upload: 300, download:300, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 7 Tage"},
                                                           "99 Minuten" : {dauer: 99, anzahl: 2, multiuse: 1, upload: 0, download:200, mb_begrenzung: 500, notiz:"Dauer 99 Minuten - Anzahl 2"}}
                                  
                                  const blackList = [] //Blacklist - diese clients werden nicht berücksichtigt - aber nur wenn ein alias im controller definiert ist
                                  const checkConnType=["Heiko-Note10","Kerstin-Note8"];  // Datenpunkte (werden erstellt) für Überwachung von Connection (WLAN only) - aber nur wenn ein alias im controller definiert ist
                                                                                    // wenn leer - keine überwachung (const checkConnType=[])
                                  
                                  //Pause bei Umschalten der WLANnetze, damit Netzanmeldungen der clients wieder normal
                                  const clientPauseConst = 200000;    //1000 bedeutet 1 Sekunde -  das braucht Zeit !!!
                                  // Abfragezyklus definieren
                                  const abfragezyklus =30000; // es ist nicht zu empfehlen unter 20000 (20 sekunden) zu gehen
                                  const abfageoffset = 40000; // zu schnelle Abmeldungen können hier eingestellt weren - > erhöhen (15000 = 15 sek.)
                                  //HIER Einstellungen : EIN-AUSSCHALTEN Vouchers, iqontrol-Datei erstellen, anwesenheitskontrolle-clientpflege
                                  let iqontrol = true;
                                  let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
                                  let vouchers = true;
                                  let apInfo = true;
                                  let problemWLAN=false; //bei problemen mit APs die über WLAN angebuden sind
                                  let countFalseSetting=2; //2 bedeutet : einmal einen abfragezyklus auslassen bevor auf false gesetzt wird: Formel:  n-1
                                  let aliasname=true; 
                                  let disConClientsFirst=true; //zeigt disconnected clients als erstes im table (vis) oder iqontrol an
                                  let ohneClientAbfrage=false; //schaltet das bearbeiten der clients vollständig ab - auch keine datenpunkte
                                  let sortedByIP =true; //client anzeige nach IP sortiert
                                  //FARBEN für IQontrol und VIS
                                  //die farbe für die tabellen in der vis wird im widget eingestellt
                                  //color_vis_text_client_in_table
                                  //color_vis_text_voucher_in_table
                                  let color_iqontrol_text__client_letzteAenderung_VIS="lightblue";
                                  let color_iqontrol_text__client_letzteAenderung_VIS_Text="#d0cdcd";
                                  let color_iqontrol_text_client_in_table= "black";  
                                  let color_iqontrol_text__client_disconnected="#01A9DB";
                                  let color_iqontrol_client_gradient1= "lightblue";   
                                  let color_iqontrol_text_voucher_in_table= "black"; 
                                  let color_iqontrol_voucher_gradient1= "lightblue"; 
                                  let color_iqontrol_text__client_letzteAenderung="#848484";
                                  let color_iqontrol_text__voucher_ueberschrift="blue";
                                  let schriftart="Helvetica";  //möglich: Helvetica,Serif
                                  
                                  //-----------------AB HIER NICHTS MEHR ÄNDERN------------------------------------------------------
                                  
                                  const versionNr = "12122019-3.0"
                                  const dpPrefix = "javascript."+ instance +".";
                                  // Hier Definition iqontrol-Style für Popup
                                  const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Voucher</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><table style=\"color:"+color_iqontrol_text_voucher_in_table+";text-align:center; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent,"+color_iqontrol_voucher_gradient1+");\">";
                                  const format2 = "<!DOCTYPE html><html lang=\"de\"><head><title>Clients</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><table style=\"color:"+color_iqontrol_text_client_in_table+"; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent," +color_iqontrol_client_gradient1+");\">";
                                  const format3 = "<table style=\"color:"+color_iqontrol_text__client_letzteAenderung_VIS_Text+"; font-family:"+schriftart+";\">";
                                  const format6 ="<tr><td>&ensp;</td><td>&ensp;</td></tr> <tr style=\"color:"+color_iqontrol_text__voucher_ueberschrift+";\">"
                                  const apHead = "<!DOCTYPE html><html lang=\"de\"><head><title>Voucher</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>"
                                  const apTable = "<table style=\"color:"+color_iqontrol_text_client_in_table+"; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent," +color_iqontrol_client_gradient1+");\">";
                                  const tableAus = "</table>";
                                  
                                  
                                  
                                  const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                  
                                  const pathVoucher = "/htmlvoucher.html"; const pathClient = "/htmlclients.html"; const pathInfo = "/htmlinfo.html"; const pathAlarm = "/htmlalarm.html"; const pathAbmelung = "/htmlLog.html";
                                  const pathOnlyWLAN = "/htmlwlan.html";const pathOnlyLAN = "/htmllan.html";const pathOnlyDISC = "/htmldisc.html";
                                  let cookies = [];
                                  let loggedIn = false;
                                  let debug = false;
                                  let mylogs = false;
                                  let syslogs = false;
                                  let xxClientxx="Heiko-Note10";"Kerstin-Note8"; // falls der name leerzeichen beinhaltet müssen diese mit _ ersetzt werden z.b : "liv in sky handy"  zu  "liv_in_sky_handy"
                                  let xxClientxxIndex=0;
                                  let clientPause = false;
                                  let clientPauseVal;
                                  let wifiDPs = [];
                                  let wifiDPsHide = [];
                                  let vouchiesDPs=[];
                                  let myname = 'hostname';
                                  let respv; let respc; let respw; let resph; let respgv; let respa; let respal; //geholte Daten
                                  let countFalse=1; 
                                  let statusarr=[];
                                  let writeFileVar =0;
                                  let listValue=[];            //iqontrol löschen kachel
                                  let listValue2;              //iqontrol löschen kachel
                                  let listValue3;              //iqontrol löschen VIS
                                  let nichtSchalten=true;   
                                  //let nichtSchalten2=false;    //iqontrol löschen kachel
                                  let versuch;
                                  let listeDatenpunkte = [];
                                  let listeDatenpunkteControl=[];
                                  let countie;
                                  let binAmArbeiten=false;
                                  var midnight=false;
                                  let apListeTable;
                                  let apListe;
                                  let healthListe;
                                  let healthListeTable;
                                  let notSeen=[];
                                  let ipArrFehlt=[];
                                  var notseenLengthOld;
                                  var notseenLength;
                                  let lastChange=[];
                                  let mybodyVouchers2; // create-one-click-standard-voucher
                                  let expire_var; // create-one-click-standard-voucher
                                  let n_var; // create-one-click-standard-voucher
                                  let quota_var; // create-one-click-standard-voucher
                                  let note_var; // create-one-click-standard-voucher
                                  let up_var; // create-one-click-standard-voucher
                                  let down_var; // create-one-click-standard-voucher
                                  let MBytes_var; // create-one-click-standard-voucher
                                  let testerral=false; let testerrc=false; let testerrl=false; let testerrv=false; let testerrs=false; let testerrh=false; let testerrcv=false; let testerrdv=false; let testerrws=false; let testerrap=false; 
                                  var scriptCounter=0;
                                  let health = true;  // Angaben zum Systemstatus - die Healtdaten werden nur alle 5 Abfragezyklen geholt
                                  let alarmSwitch =false;
                                  let alarmCounter =0;
                                  let firstTime=0;
                                  let mybodyVouchers;
                                  let monthChangeData=false;
                                  let checkNetwork=false;
                                  var wifiLength=0;
                                       for(let wifi_name in wifis) {      
                                     wifiLength++; }
                                  
                                  

                                  SirDirk 1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @liv-in-sky last edited by dslraser

                                    @liv-in-sky

                                    ich finde es ein bisschen "unglücklich" das dieser Punkt

                                    let xxClientxx="Heiko-Note10";"Kerstin-Note8"; // falls der name leerzeichen beinhaltet müssen diese mit _ ersetzt werden z.b : "liv in sky handy"  zu  "liv_in_sky_handy"
                                    

                                    unter "ab hier nichts mehr ändern" steht. Ich vermute da auch den Fehler von @SirDirk , kann das sein ?
                                    Weil da eigentlich nichts geändert werden soll, aber die eigenen Geräte da rein müssen.

                                    SirDirk 1 Reply Last reply Reply Quote 0
                                    • SirDirk
                                      SirDirk @dslraser last edited by

                                      @dslraser sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                      Kannst Du mal diesen Teil ( also ohne Deine Zugangsdaten ab unter Const apName (ohne Deine AP'S) posten

                                      Folgt hier:

                                      
                                      //Vordefinierte Vouchers für  one-click-create - wird hier etwas geändert BITTE DATENPUNKT (Vouchers_StandardList) LÖSCHEN vor Scriptstart!!!!
                                      //BITTE alle Werte eingeben - für nichtbenutzte wie up-, download und nmb_begrenzung eine 0 eintragen
                                      // Pflichteinträge sind dauer, anzahl, multiuse und notiz !!!
                                      const standardVouchers = {"Vier Tage" : {dauer: 240, anzahl: 1, multiuse: 1, upload: 0, download:0, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 4 Tage"}, 
                                                                "Sieben Tage" : {dauer: 10080, anzahl: 1, multiuse: 1, upload: 300, download:300, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 7 Tage"},
                                                                "99 Minuten" : {dauer: 99, anzahl: 2, multiuse: 1, upload: 0, download:200, mb_begrenzung: 500, notiz:"Dauer 99 Minuten - Anzahl 2"}}
                                      
                                      const blackList = [] //Blacklist - diese clients werden nicht berücksichtigt - aber nur wenn ein alias im controller definiert ist
                                      const checkConnType=["MephistoFon"];  // Datenpunkte (werden erstellt) für Überwachung von Connection (WLAN only) - aber nur wenn ein alias im controller definiert ist
                                                                                         // wenn leer - keine überwachung (const checkConnType=[])
                                      
                                      //Pause bei Umschalten der WLANnetze, damit Netzanmeldungen der clients wieder normal
                                      const clientPauseConst = 200000;    //1000 bedeutet 1 Sekunde -  das braucht Zeit !!!
                                      
                                      // Abfragezyklus definieren
                                      const abfragezyklus =20000; // es ist nicht zu empfehlen unter 20000 (20 sekunden) zu gehen
                                      const abfageoffset = 45000; // zu schnelle Abmeldungen können hier eingestellt weren - > erhöhen (15000 = 15 sek.)
                                      
                                      //HIER Einstellungen : EIN-AUSSCHALTEN Vouchers, iqontrol-Datei erstellen, anwesenheitskontrolle-clientpflege
                                      let iqontrol = true;
                                      let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
                                      
                                      let vouchers = false;
                                      let apInfo = true;
                                      let problemWLAN=false; //bei problemen mit APs die über WLAN angebuden sind
                                      let countFalseSetting=2; //2 bedeutet : einmal einen abfragezyklus auslassen bevor auf false gesetzt wird: Formel:  n-1
                                      let aliasname=false; 
                                      let disConClientsFirst=true; //zeigt disconnected clients als erstes im table (vis) oder iqontrol an
                                      
                                      let ohneClientAbfrage=false; //schaltet das bearbeiten der clients vollständig ab - auch keine datenpunkte
                                      
                                      let sortedByIP =false; //client anzeige nach IP sortiert
                                      
                                      
                                      //FARBEN für IQontrol und VIS
                                      //die farbe für die tabellen in der vis wird im widget eingestellt
                                      //color_vis_text_client_in_table
                                      //color_vis_text_voucher_in_table
                                      let color_iqontrol_text__client_letzteAenderung_VIS="lightblue";
                                      let color_iqontrol_text__client_letzteAenderung_VIS_Text="#d0cdcd";
                                      let color_iqontrol_text_client_in_table= "black";  
                                      let color_iqontrol_text__client_disconnected="#01A9DB";
                                      
                                      let color_iqontrol_client_gradient1= "lightblue";   
                                      
                                      let color_iqontrol_text_voucher_in_table= "black"; 
                                      let color_iqontrol_voucher_gradient1= "lightblue"; 
                                      let color_iqontrol_text__client_letzteAenderung="#848484";
                                      let color_iqontrol_text__voucher_ueberschrift="lightblue";
                                      
                                      let schriftart="Helvetica";  //möglich: Helvetica,Serif
                                      
                                      
                                      //-----------------AB HIER NICHTS MEHR ÄNDERN------------------------------------------------------
                                      
                                      const versionNr = "12122019-3.0"
                                      const dpPrefix = "javascript."+ instance +".";
                                      // Hier Definition iqontrol-Style für Popup
                                      const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Voucher</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><table style=\"color:"+color_iqontrol_text_voucher_in_table+";text-align:center; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent,"+color_iqontrol_voucher_gradient1+");\">";
                                      const format2 = "<!DOCTYPE html><html lang=\"de\"><head><title>Clients</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><table style=\"color:"+color_iqontrol_text_client_in_table+"; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent," +color_iqontrol_client_gradient1+");\">";
                                      const format3 = "<table style=\"color:"+color_iqontrol_text__client_letzteAenderung_VIS_Text+"; font-family:"+schriftart+";\">";
                                      const format6 ="<tr><td>&ensp;</td><td>&ensp;</td></tr> <tr style=\"color:"+color_iqontrol_text__voucher_ueberschrift+";\">"
                                      const apHead = "<!DOCTYPE html><html lang=\"de\"><head><title>Voucher</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>"
                                      const apTable = "<table style=\"color:"+color_iqontrol_text_client_in_table+"; font-family:"+schriftart+";background-image: linear-gradient(42deg,transparent," +color_iqontrol_client_gradient1+");\">";
                                      const tableAus = "</table>";
                                      
                                      
                                      
                                      const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                      
                                      const pathVoucher = "/htmlvoucher.html"; const pathClient = "/htmlclients.html"; const pathInfo = "/htmlinfo.html"; const pathAlarm = "/htmlalarm.html"; const pathAbmelung = "/htmlLog.html";
                                      const pathOnlyWLAN = "/htmlwlan.html";const pathOnlyLAN = "/htmllan.html";const pathOnlyDISC = "/htmldisc.html";
                                      let cookies = [];
                                      let loggedIn = false;
                                      let debug = false;
                                      let mylogs = false;
                                      let syslogs = false;
                                      let xxClientxx="Heiko-Note10"; // falls der name leerzeichen beinhaltet müssen diese mit _ ersetzt werden z.b : "liv in sky handy"  zu  "liv_in_sky_handy"
                                      let xxClientxxIndex=0;
                                      let clientPause = false;
                                      let clientPauseVal;
                                      let wifiDPs = [];
                                      
                                      let wifiDPsHide = [];
                                      let vouchiesDPs=[];
                                      let myname = 'hostname';
                                      let respv; let respc; let respw; let resph; let respgv; let respa; let respal; //geholte Daten
                                      let countFalse=1; 
                                      let statusarr=[];
                                      let writeFileVar =0;
                                      let listValue=[];            //iqontrol löschen kachel
                                      let listValue2;              //iqontrol löschen kachel
                                      let listValue3;              //iqontrol löschen VIS
                                      let nichtSchalten=true;   
                                      //let nichtSchalten2=false;    //iqontrol löschen kachel
                                      let versuch;
                                      let listeDatenpunkte = [];
                                      let listeDatenpunkteControl=[];
                                      let countie;
                                      let binAmArbeiten=false;
                                      var midnight=false;
                                      let apListeTable;
                                      let apListe;
                                      let healthListe;
                                      let healthListeTable;
                                      let notSeen=[];
                                      let ipArrFehlt=[];
                                      var notseenLengthOld;
                                      var notseenLength;
                                      let lastChange=[];
                                      let mybodyVouchers2; // create-one-click-standard-voucher
                                      let expire_var; // create-one-click-standard-voucher
                                      let n_var; // create-one-click-standard-voucher
                                      let quota_var; // create-one-click-standard-voucher
                                      let note_var; // create-one-click-standard-voucher
                                      let up_var; // create-one-click-standard-voucher
                                      let down_var; // create-one-click-standard-voucher
                                      let MBytes_var; // create-one-click-standard-voucher
                                      let testerral=false; let testerrc=false; let testerrl=false; let testerrv=false; let testerrs=false; let testerrh=false; let testerrcv=false; let testerrdv=false; let testerrws=false; let testerrap=false; 
                                      var scriptCounter=0;
                                      let health = true;  // Angaben zum Systemstatus - die Healtdaten werden nur alle 5 Abfragezyklen geholt
                                      let alarmSwitch =false;
                                      let alarmCounter =0;
                                      let firstTime=0;
                                      let mybodyVouchers;
                                      let monthChangeData=false;
                                      let checkNetwork=false;
                                      var wifiLength=0;
                                            for(let wifi_name in wifis) {      
                                          wifiLength++; }
                                      
                                      
                                       if (aliasname)  myname="name";
                                       if (ohneClientAbfrage) anwesenheit=false;
                                       writeMyFile("neugestartet ... bitte warten", pathClient);
                                       writeMyFile("neugestartet ... bitte warten", pathVoucher);
                                       writeMyFile("neugestartet ... bitte warten", pathAlarm);
                                       writeMyFile("neugestartet ... bitte warten", pathInfo);
                                       writeMyFile("neugestartet ... bitte warten", pathOnlyWLAN);
                                       writeMyFile("neugestartet ... bitte warten", pathOnlyLAN);
                                       writeMyFile("neugestartet ... bitte warten", pathOnlyDISC);
                                       if ( !anwesenheit) {writeMyFile("variable anwesenheit und/oder iqontrol ist nicht im unifiscript aktiviert - auf true setzen", pathClient);
                                                           writeMyFile("variable anwesenheit und/oder iqontrol ist nicht im unifiscript aktiviert - auf true setzen", pathOnlyWLAN);
                                                           writeMyFile("variable anwesenheit und/oder iqontrol ist nicht im unifiscript aktiviert - auf true setzen", pathOnlyLAN);
                                                           writeMyFile("variable anwesenheit und/oder iqontrol ist nicht im unifiscript aktiviert - auf true setzen", pathOnlyDISC);}
                                      
                                      
                                       if ( !vouchers && !iqontrol) writeMyFile("variable vouchers und/oder iqontrol ist nicht im unifiscript aktiviert - auf true setzen", pathVoucher);
                                      
                                      for(let wifi_name in wifis) {
                                           wifiDPsHide.push(dpPrefix + "WLANUnifi.WLANSSIDsHide." + wifis[wifi_name].name);
                                           createState(dpPrefix + "WLANUnifi.WLANSSIDsHide."+ wifi_name, false, { name: wifis[wifi_name].desc, role: 'switch', read: true, write: true, type: "boolean" });}
                                      
                                       //Erstelle Datenpunkte für die WLANs automatisch
                                       for(let wifi_name in wifis) {
                                           wifiDPs.push(dpPrefix + "WLANUnifi." + wifis[wifi_name].name);
                                           createState(dpPrefix + "WLANUnifi."+ wifi_name, { name: wifis[wifi_name].desc, role: 'switch', read: true, write: true, type: "boolean" });}
                                      
                                       createState(dpPrefix + "WLANUnifi.Wifi_Clients", "not available",{ name: 'Clients_HTML_Table_VIS',  role: 'string', read:  true,  write: true,});
                                       createState(dpPrefix + "WLANUnifi.Wifi_ClientsOnlyLAN", "not available",{ name: 'Clients_LAN_HTML_Table_VIS',  role: 'string', read:  true,  write: true,});
                                       createState(dpPrefix + "WLANUnifi.Wifi_ClientsOnlyWLAN", "not available",{ name: 'Clients__WLAN_HTML_Table_VIS',  role: 'string', read:  true,  write: true,});
                                       createState(dpPrefix + "WLANUnifi.Wifi_ClientsOnlyDISC", "not available",{ name: 'Clients__Disconnected_HTML_Table_VIS',  role: 'string', read:  true,  write: true,});
                                       createState(dpPrefix + "WLANUnifi.Wifi_Clients_Anzahl_LAN",  { name: 'Wifi_Clients_Anzahl_LAN', desc: 'Wifi_Clients_Anzahl_LAN', type: 'number',def:0, unit: '', min: '0', max: '100', role: '',read: true, write: false });
                                       createState(dpPrefix + "WLANUnifi.Wifi_Clients_Anzahl_WLAN",  { name: 'Wifi_Clients_Anzahl_WLAN', desc: 'Wifi_Clients_Anzahl_WLAN', type: 'number',def:0, unit: '', min: '0', max: '100', role: '',read: true, write: false });
                                       createState(dpPrefix + "WLANUnifi.Wifi_Clients_Anzahl_DISC",  { name: 'Wifi_Clients_Anzahl_DISC', desc: 'Wifi_Clients_Anzahl_DISC', type: 'number',def:0, unit: '', min: '0', max: '100', role: '',read: true, write: false });
                                       createState(dpPrefix + "WLANUnifi.SiteLED", false, { name: 'SiteLED',  type: 'boolean', role: 'switch', read:  true,  write: true,});
                                       createState(dpPrefix + "WLANUnifi.Client_WhiteList", "default", { name: 'Client_WhiteList_Filter_String', desc: 'Alarm_Table', type: 'string', unit: '',  role: '',read: true, write: true }); 
                                       createState(dpPrefix + "WLANUnifi.Alarm.Alarm", { name: 'Alarm_Table_not_archieved', desc: 'Alarm_Table', type: 'string', unit: '',  role: '',read: true, write: true }); 
                                       createState(dpPrefix + "WLANUnifi.Missing_Name", "not available", { name: 'Missing_Name', desc: 'Missing_Name', type: 'string', unit: '',  role: '',read: true, write: true }); 
                                       createState(dpPrefix + "WLANUnifi.Alarm.Alarm_Anzahl", { name: 'Alarm_Anzahl', desc: 'Alarm_Table', type: 'number', unit: '',  role: '',read: true, write: true });
                                       createState(dpPrefix + "WLANUnifi.ZyklusZaehler", 1, { name: 'ZyklusZaehler', desc: 'ZyklusZaehler', type: 'number', unit: '',  role: '',read: true, write: true });
                                       createState(dpPrefix + "WLANUnifi.xxxScriptVersionxxx", versionNr,{ name: 'ScriptVersion', desc: 'ScriptVersion', type: 'string', unit: '',  role: '',read: true, write: true });
                                       if (anwesenheit) createState(dpPrefix + "WLANUnifi.Wifi_Clients_Log", { name: 'Clients_HTML_Table_VIS_Log',  role: 'string', read:  true,  write: true,});
                                      
                                       var foo = (aliasname) ? true : false;
                                       createState(dpPrefix + "WLANUnifi.AliasName", foo,  { name: ' AliasName',  desc:  'schaltet Aliasnamen ein', role: 'switch', type: 'boolean', read:  true,  write: true,
                                                  }  , function() {setStateDelayed(dpPrefix + "WLANUnifi.AliasName", foo, 200)});
                                      
                                       //createState(dpPrefix + "WLANUnifi.Aussortiert", { name: 'Aussortiert',  role: 'string', read:  true,  write: true,});
                                      
                                      
                                       if (vouchers) {
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers", { name: 'Vouchers_HTML_Table_VIS',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_List", { name: 'Vouchers_ID_List',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_CodeList", { name: 'Vouchers_Texte_Delete_VIS_Widget',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_CodeList2", { name: 'Vouchers_Werte_Delete_VIS_Widget',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_ValueCodeList", { name: 'Vouchers_ValueList_IQontrol', desc:"ValueCodeList", role: "", type:'number', states: "1:please wait ...;2:refresh webpage", def:1, min: 0, max: 20,  read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Create", false,  { name: 'A_New_Voucher_Create',  role: 'switch', type: 'boolean', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_DeleteVIS",   { name: 'Vouchers_Schalter_Delete_VIS_Widget',  role: 'switch', type: 'number', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers_CreateStandard", 1,  { name: 'Vouchers_Schalter_Create_VIS_Widget',  role: 'switch', type: 'number', read:  true,  write: true,});
                                        //createState(dpPrefix + "WLANUnifi.Wifi_Create_Standard_Voucher", false,  { name: 'A_Delete_Voucher',  role: 'switch', type: 'boolean', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_Delete_Voucher.Delete", false,  { name: 'Voucher_Delete__Botton_VIS',  role: 'switch', type: 'boolean', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_Delete_Voucher.Voucher_ID", "must be set",{ name: 'A_Delete_Voucher.Voucher_ID', role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Dauer", "must be set",{ name: ' A_New_Voucher_Dauer',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.MultiUse", "must be set",{ name: ' A_New_Voucher_MultiUse',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Anzahl", "must be set",{ name: ' A_New_Voucher_Anzahl',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Notiz", "",{ name: ' A_New_Voucher_Notiz',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Upload", "",{ name: ' A_New_Voucher_Uplaod',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Download", "",{ name: ' A_New_Voucher_Download',  role: 'string', read:  true,  write: true,});
                                        createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.A_New_Voucher.Mb_Begrenzung", "", { name: ' A_New_Voucher_Mb_Begrenzung',  role: 'string', read:  true,  write: true,});
                                      
                                      for (var i = 1; i < 21; i++) { 
                                          var x=i.toString();
                                          if (i<10) x="0"+x;
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x, { name: 'Unifi Voucher_Code'+x,  role: 'string', read:  true,  write: true, });
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".code"+x, { name: 'Unifi Voucher_Code_code'+x,  role: 'string', read:  true,  write: true, });    
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".erstellt", { name: 'Unifi Voucher_Code_erstellt'+x,  role: 'string', read:  true,  write: true, });
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".dauer", { name: 'Unifi Voucher_Code_duration'+x,  role: 'string', read:  true,  write: true, });
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".abgelaufen", { name: 'Unifi Voucher_Code_expires'+x,  role: 'string', read:  true, write: true, });
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".id", { name: 'Unifi Voucher_Code_id'+x,  role: 'string', read:  true,  write: true, });
                                         createState(dpPrefix + "WLANUnifi.Wifi_Vouchers-CODES.CODE"+x+".notiz", { name: 'Unifi Voucher_Code_notiz'+x,  role: 'string', read:  true,  write: true, });
                                      }
                                          let vouchiesHelper=""  //Werteliste-Datenpunkt für StandardVouchies
                                          let vouchiesHelper2="Wähle Standard;"
                                          let vouchiesHelper3="1;"
                                           countie=0;
                                      dslraser 1 Reply Last reply Reply Quote 0
                                      • SirDirk
                                        SirDirk @dslraser last edited by

                                        @dslraser

                                        unter dem Teil "//-----------------AB HIER NICHTS MEHR ÄNDERN------------------------------------------------------" habe ich nichts geändert.

                                        Was muss denn da rein?

                                        1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @SirDirk last edited by dslraser

                                          @SirDirk
                                          @liv-in-sky

                                          schau mal in Zeile 79....(wie vermutet, da steht noch mein Gerät vom testen drinn)

                                          Da muß Dein Gerät /Deine Geräte rein die Du überwachen möchtest, das aus Zeile 10 vom Post oben.

                                          SirDirk 1 Reply Last reply Reply Quote 0
                                          • SirDirk
                                            SirDirk @dslraser last edited by

                                            @dslraser

                                            Also Zeile 96?

                                            e9bf440e-aed4-41c0-a84d-3aa6ffcfad55-grafik.png

                                            Und was müsste ich für mehrere Geräte eintragen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            46
                                            1358
                                            351645
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo