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

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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Unifi WLAN Script

NEWS

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

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

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

Unifi WLAN Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
380 Beiträge 13 Kommentatoren 57.1k Aufrufe 13 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.
  • dslraserD dslraser

    @liv-in-sky
    bei mir sind WLAN und LAN Geräte in der Liste. Anzahl stimmt auch.

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #11

    @dslraser siehst du die auch wenn du im browser den unifi controller aufrufst ? - du hast doch eine fritzbox - oder einen unifi router ?

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    dslraserD 3 Antworten Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @dslraser siehst du die auch wenn du im browser den unifi controller aufrufst ? - du hast doch eine fritzbox - oder einen unifi router ?

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

      @liv-in-sky
      Fritzbox und dahinter

      Screenshot_20190828-183224_Chrome.jpg

      Wobei doppel NAT schon deaktiviert ist.

      1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @dslraser siehst du die auch wenn du im browser den unifi controller aufrufst ? - du hast doch eine fritzbox - oder einen unifi router ?

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

        @liv-in-sky sagte in Unifi WLAN Script:

        siehst du die auch wenn du im browser den unifi controller aufrufst ?

        ja, da sehe ich die auch

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @liv-in-sky sagte in Unifi WLAN Script:

          siehst du die auch wenn du im browser den unifi controller aufrufst ?

          ja, da sehe ich die auch

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #14

          @dslraser oh mann - warum sollte es einfach sein

          lass das script mal laufen und poste das lange log unter dem script - darin müßte man irgendwie erkennen, in welchen netzwerk der client ist - damit könnte man dann eine aufteilung machen eine liste:

          clientname - macadresse - netzwerkname

          evtl in html formatiert und in einen string geschrieben ?

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          dslraserD 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @dslraser siehst du die auch wenn du im browser den unifi controller aufrufst ? - du hast doch eine fritzbox - oder einen unifi router ?

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

            @liv-in-sky
            Ich bin erst vor kurzem in die Unifi Welt eingestiegen. Bei der ersten Einrichtung hatte ich hervorragenden Support (telefonisch und per WhatsApp) von @Samson71 .
            Über dieses Script hier wird er sich besonders freuen, da er es haben wollte und auch nicht wusste wie es geht.

            1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @dslraser oh mann - warum sollte es einfach sein

              lass das script mal laufen und poste das lange log unter dem script - darin müßte man irgendwie erkennen, in welchen netzwerk der client ist - damit könnte man dann eine aufteilung machen eine liste:

              clientname - macadresse - netzwerkname

              evtl in html formatiert und in einen string geschrieben ?

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

              @liv-in-sky sagte in Unifi WLAN Script:

              lass das script mal laufen und poste das lange log

              Mache ich gern später, jetzt gibt es erst mal Abendessen.

              liv-in-skyL 2 Antworten Letzte Antwort
              0
              • dslraserD dslraser

                @liv-in-sky sagte in Unifi WLAN Script:

                lass das script mal laufen und poste das lange log

                Mache ich gern später, jetzt gibt es erst mal Abendessen.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #17

                @dslraser lass dir schmecken

                ersetze später die logzeile in setClients() (in der for schleife) mit

                log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                

                da sieht man die mac adresse und die wifi id zum hostnamen - wäre das was ?

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • dslraserD dslraser

                  @liv-in-sky sagte in Unifi WLAN Script:

                  lass das script mal laufen und poste das lange log

                  Mache ich gern später, jetzt gibt es erst mal Abendessen.

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von liv-in-sky
                  #18

                  @dslraser mal als beispiel - html tabelle als string abgespeichert in datenpunkt:

                  ACHTUNG meine Datenpunkte sind anders als bei dir - bitte anpassen

                  createState("WLANUnifi.Wifi_Clients", {
                      name: 'Unifi Wifi Status', 
                      role: 'string',
                      read:  true, 
                      write: true,
                  });
                  

                  Image 10.png

                  async function getClients() {
                      return new Promise(async (resolve, reject) => {
                          dlog("nur mal so");
                          if(!loggedIn) await login().catch((e) => reject(e));
                          let resp = await request.get({
                              url: unifi_controller + "/api/s/default/stat/sta/",
                              headers: { Cookie: cookies.join("; ") }
                          }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                     
                  dlog("got response " + JSON.stringify(resp));
                  dlog(typeof resp);
                  dlog("--------------------- " + resp);
                  resp = JSON.parse(resp);
                  //log("--------------------- " + resp);
                  
                  dlog(resp.meta);
                  dlog(resp.meta.rc);
                  dlog(resp.data[2].hostname);
                  dlog(resp.data.length);
                  var clientListe = "<table>";
                  for (var i = 0; i < resp.data.length; i++) { 
                      dlog(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                       clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                      dlog(clientListe);
                  }
                  setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));
                  });
                  
                  }
                  

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  dslraserD 1 Antwort Letzte Antwort
                  0
                  • liv-in-skyL liv-in-sky

                    @dslraser mal als beispiel - html tabelle als string abgespeichert in datenpunkt:

                    ACHTUNG meine Datenpunkte sind anders als bei dir - bitte anpassen

                    createState("WLANUnifi.Wifi_Clients", {
                        name: 'Unifi Wifi Status', 
                        role: 'string',
                        read:  true, 
                        write: true,
                    });
                    

                    Image 10.png

                    async function getClients() {
                        return new Promise(async (resolve, reject) => {
                            dlog("nur mal so");
                            if(!loggedIn) await login().catch((e) => reject(e));
                            let resp = await request.get({
                                url: unifi_controller + "/api/s/default/stat/sta/",
                                headers: { Cookie: cookies.join("; ") }
                            }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                       
                    dlog("got response " + JSON.stringify(resp));
                    dlog(typeof resp);
                    dlog("--------------------- " + resp);
                    resp = JSON.parse(resp);
                    //log("--------------------- " + resp);
                    
                    dlog(resp.meta);
                    dlog(resp.meta.rc);
                    dlog(resp.data[2].hostname);
                    dlog(resp.data.length);
                    var clientListe = "<table>";
                    for (var i = 0; i < resp.data.length; i++) { 
                        dlog(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                         clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                        dlog(clientListe);
                    }
                    setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));
                    });
                    
                    }
                    
                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #19

                    @liv-in-sky
                    also ich bekomme eine Liste, damit

                    //angemeldete Geräte
                    async function getClients() {
                       return new Promise(async (resolve, reject) => {
                           dlog("nur mal so");
                           if(!loggedIn) await login().catch((e) => reject(e));
                           let resp = await request.get({
                               url: unifi_controller + "/api/s/default/stat/sta/",
                               headers: { Cookie: cookies.join("; ") }
                           }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                      
                    dlog("got response " + JSON.stringify(resp));
                    dlog(typeof resp);
                    log("--------------------- " + resp);
                    resp = JSON.parse(resp);
                    //log("--------------------- " + resp);
                    
                    dlog(resp.meta);
                    dlog(resp.meta.rc);
                    dlog(resp.data[2].hostname);
                    log(resp.data.length);
                    var clientListe = "<table>";
                    for (var i = 0; i < resp.data.length; i++) { 
                       log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                        clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                        log(clientListe);
                    setState("Eigene_Datenpunkte.25Unifi_Wifi.02Haupt_Wifi.04Haupt_Wifi_Geraeteliste", clientListe.concat(clientListe+"</table>"));
                    }
                    });
                    }
                    

                    nun wollte ich diese Liste mit dem gleichen Befehl alle 10 Sekunden aktualisieren, aber dazu bin ich iwi zu blöd...

                    liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • dslraserD dslraser

                      @liv-in-sky
                      also ich bekomme eine Liste, damit

                      //angemeldete Geräte
                      async function getClients() {
                         return new Promise(async (resolve, reject) => {
                             dlog("nur mal so");
                             if(!loggedIn) await login().catch((e) => reject(e));
                             let resp = await request.get({
                                 url: unifi_controller + "/api/s/default/stat/sta/",
                                 headers: { Cookie: cookies.join("; ") }
                             }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                        
                      dlog("got response " + JSON.stringify(resp));
                      dlog(typeof resp);
                      log("--------------------- " + resp);
                      resp = JSON.parse(resp);
                      //log("--------------------- " + resp);
                      
                      dlog(resp.meta);
                      dlog(resp.meta.rc);
                      dlog(resp.data[2].hostname);
                      log(resp.data.length);
                      var clientListe = "<table>";
                      for (var i = 0; i < resp.data.length; i++) { 
                         log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                          clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                          log(clientListe);
                      setState("Eigene_Datenpunkte.25Unifi_Wifi.02Haupt_Wifi.04Haupt_Wifi_Geraeteliste", clientListe.concat(clientListe+"</table>"));
                      }
                      });
                      }
                      

                      nun wollte ich diese Liste mit dem gleichen Befehl alle 10 Sekunden aktualisieren, aber dazu bin ich iwi zu blöd...

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #20

                      @dslraser ich habe getClient(); in den teil geschrieben, der alle 10 sekunden aktualisiert wird -nur ich mach das alle 20 minuten

                      setInterval(async () => {
                          getStatus();
                          setTimeout(function () {
                         getClients();
                              }, 8000);
                         /* let state = await getStatus();
                          setState("javascript.2.WLANUnifi.Wifi_Status", state, true);
                          log(state);*/
                      }, 1200000); // Aktualisiert alle 10 Sekunden.
                      
                      

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      dslraserD 1 Antwort Letzte Antwort
                      1
                      • liv-in-skyL liv-in-sky

                        @dslraser ich habe getClient(); in den teil geschrieben, der alle 10 sekunden aktualisiert wird -nur ich mach das alle 20 minuten

                        setInterval(async () => {
                            getStatus();
                            setTimeout(function () {
                           getClients();
                                }, 8000);
                           /* let state = await getStatus();
                            setState("javascript.2.WLANUnifi.Wifi_Status", state, true);
                            log(state);*/
                        }, 1200000); // Aktualisiert alle 10 Sekunden.
                        
                        
                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #21

                        @liv-in-sky
                        und ich hatte die Funktion nochmals gemacht/kopiert für getClient, das ging dann wahrscheinlich schief🙈

                        1 Antwort Letzte Antwort
                        0
                        • FlexerF Offline
                          FlexerF Offline
                          Flexer
                          schrieb am zuletzt editiert von
                          #22

                          Wenn ich an die Voucher fürs Gäste Wlan dran kommen könnte wäre das gigantisch!

                          Unterm Strich ist alles besser.


                          Ja, voll geil hier!

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • dslraserD dslraser

                            @liv-in-sky
                            also ich bekomme eine Liste, damit

                            //angemeldete Geräte
                            async function getClients() {
                               return new Promise(async (resolve, reject) => {
                                   dlog("nur mal so");
                                   if(!loggedIn) await login().catch((e) => reject(e));
                                   let resp = await request.get({
                                       url: unifi_controller + "/api/s/default/stat/sta/",
                                       headers: { Cookie: cookies.join("; ") }
                                   }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                              
                            dlog("got response " + JSON.stringify(resp));
                            dlog(typeof resp);
                            log("--------------------- " + resp);
                            resp = JSON.parse(resp);
                            //log("--------------------- " + resp);
                            
                            dlog(resp.meta);
                            dlog(resp.meta.rc);
                            dlog(resp.data[2].hostname);
                            log(resp.data.length);
                            var clientListe = "<table>";
                            for (var i = 0; i < resp.data.length; i++) { 
                               log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                log(clientListe);
                            setState("Eigene_Datenpunkte.25Unifi_Wifi.02Haupt_Wifi.04Haupt_Wifi_Geraeteliste", clientListe.concat(clientListe+"</table>"));
                            }
                            });
                            }
                            

                            nun wollte ich diese Liste mit dem gleichen Befehl alle 10 Sekunden aktualisieren, aber dazu bin ich iwi zu blöd...

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #23

                            @dslraser

                            mein ganzes script - auch mit anzahl der clients - es fehlen die oberen variablen - die mit den passwörtern

                            let cookies = [];
                            let loggedIn = false;
                            let debug = false;
                            
                            
                            //Datenpunkt für Wifi Status erstellen
                            createState("WLANUnifi.Wifi_Status", {
                               name: 'Unifi Wifi Status', 
                               role: 'boolean',
                               read:  true, 
                               write: true,
                            });
                            
                            //Datenpunkt Button für Wifi an erstellen
                            createState("WLANUnifi.Wifi_an", {
                               name: 'Unifi Wifi an', 
                               role: 'switch',
                               read:  true, 
                               write: true,
                               type: "boolean",
                               "smartName": {
                               "de": "02Gäste Wlan an",
                               "smartType": "SWITCH"
                            }
                            });
                            
                            //Datenpunkt Button für Wifi aus erstellen
                            createState("WLANUnifi.Wifi_aus", {
                               name: 'Unifi Wifi aus', 
                               role: 'switch',
                               read:  true, 
                               write: true,
                               type: "boolean",
                               "smartName": {
                               "de": "03Gäste Wlan aus",
                               "smartType": "SWITCH"
                            }
                            });
                            createState("WLANUnifi.Wifi_Clients", {
                               name: 'Unifi Wifi Status', 
                               role: 'string',
                               read:  true, 
                               write: true,
                            });
                            
                            createState('WLANUnifi.Wifi_Clients_Anzahl', 0, { name: 'Wifi_Clients_Anzahl', desc: 'Wifi_Clients_Anzahl', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); 
                            
                            function dlog(message) {
                              if(debug)
                                  console.log(message);
                            }
                            
                            async function login() {
                              return new Promise(async (resolve, reject) => {
                                  let resp = await request.post({
                                      resolveWithFullResponse: true,
                                      url: unifi_controller + "/api/login",
                                      body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                      headers: { 'Content-Type': 'application/json' }
                                  }).catch((e) => { dlog("login: reject"), reject(e) });
                                  
                                  if(resp != null) {
                                      dlog("login: login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                      if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                          let set_cookies = resp.headers["set-cookie"];
                                          for(i = 0; i < set_cookies.length; i++) {
                                              let cookie = set_cookies[i];
                                              cookie = cookie.split(";")[0];
                                              cookies.push(cookie);
                                          }
                                      } else {
                                          dlog("login: no cookies to set!")
                                      }
                                      loggedIn = true;
                                      resolve();
                                  } else {
                                      dlog("login: rejected")
                                      reject("resp = null");
                                  }
                              });
                            }
                            
                            async function getStatus() {
                               return new Promise(async (resolve, reject) => {
                                   dlog("nur mal so");
                                   if(!loggedIn) await login().catch((e) => reject(e));
                                   let resp = await request.get({
                                       url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                       headers: { Cookie: cookies.join("; ") }
                                   }).catch((e) => { dlog("getStatus reject " + e); reject(e) });
                               
                            dlog("got response " + JSON.stringify(resp));
                            dlog(typeof resp);
                            resp = JSON.parse(resp);
                            dlog(resp.meta);
                            dlog(resp.meta.rc);
                                   
                                   let wlanOn = resp.data[0].enabled;
                                   dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                   if(resp != null && resp.meta && resp.meta.rc == "ok") {
                                       dlog("Status erfolgreich geholt!");
                                       dlog(resp);
                                       let wlanOn = resp.data[0].enabled;
                                       dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                       setState("javascript.2.WLANUnifi.Wifi_Status", wlanOn);
                                       
                                       resolve(wlanOn);
                                   } else {
                                       dlog("nicht ok...")
                                       
                                       reject(JSON.stringify(resp));
                                   }
                               });
                            }
                            
                               async function getClients() {
                               return new Promise(async (resolve, reject) => {
                                   dlog("nur mal so");
                                   if(!loggedIn) await login().catch((e) => reject(e));
                                   let resp = await request.get({
                                       url: unifi_controller + "/api/s/default/stat/sta/",
                                       headers: { Cookie: cookies.join("; ") }
                                   }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                              
                            dlog("got response " + JSON.stringify(resp));
                            dlog(typeof resp);
                            dlog("--------------------- " + resp);
                            resp = JSON.parse(resp);
                            //log("--------------------- " + resp);
                            
                            dlog(resp.meta);
                            dlog(resp.meta.rc);
                            dlog(resp.data[2].hostname);
                            dlog(resp.data.length);
                            setState("javascript.2.WLANUnifi.Wifi_Clients_Anzahl",resp.data.length);
                            var clientListe = "<table>";
                            for (var i = 0; i < resp.data.length; i++) { 
                               dlog(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                dlog(clientListe);
                            }
                            setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));
                            });
                            
                            }
                            
                            
                            async function dlogout() {
                              return new Promise(async (resolve, reject) => {
                                  let resp = await request.get({
                                      url: unifi_controller + "/dlogout",
                                      headers: { Cookie: cookies.join("; ") }
                                  }).catch((e) => reject(e));
                                  if(resp != null) {
                                      dlog("Du bist nun ausgedloggt.");
                                      dlog(resp);
                                      resolve();
                                  } else {
                                      reject("resp = null");
                                  }
                              });
                            }
                            
                            async function setWifi(enabled) {
                              return new Promise(async (resolve, reject) => {
                                  dlog("setWifi: start set wifi");
                                  if(!loggedIn) { dlog("need to login"); await login().catch((e) => reject(e)); }
                                  dlog("setWifi: now setting wifi");
                                  let resp = request.post({
                                      url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                      body: JSON.stringify({ enabled }),
                                      headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                  }).catch((e) => { dlog("setWifi: rejected: " + e); reject(e) });
                                  dlog("setWifi: got response")
                                  if(resp != null) {
                                      dlog("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                      dlog(resp);
                                      resolve();
                                  } else {
                                      dlog("setWifi: rejetced")
                                      dlog("resp: " + JSON.stringify(resp));
                                      reject("msg: " + JSON.parse(resp.body).meta.msg);
                                  }
                              });
                            }
                            
                            async function test() {
                              dlog("starting test");
                              await setWifi(false).catch((e) => dlog("reject1: " + e));
                              dlog("getting status");
                              let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                              console.log("fin")
                              console.log(wlan);
                            }
                            
                            setInterval(async () => {
                               getStatus();
                               setTimeout(function () {
                              getClients();
                                   }, 8000);
                              /* let state = await getStatus();
                               setState("javascript.2.WLANUnifi.Wifi_Status", state, true);
                               log(state);*/
                            }, 1200000); // Aktualisiert alle 10 Sekunden.
                            
                            
                            on("javascript.2.WLANUnifi.Wifi_an", (state) => {
                               setWifi(true);
                               setTimeout(function () {
                                   getStatus();
                                   setState("javascript.2.WLANUnifi.Wifi_an", false);
                            }, 10000);
                            });
                            on("javascript.2.WLANUnifi.Wifi_aus", (state) => {
                               setWifi(false);
                               setTimeout(function () {
                                  getStatus();   
                                  setState("javascript.2.WLANUnifi.Wifi_aus", false);
                            }, 1200000);
                            });
                            
                            //test();
                            

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • FlexerF Flexer

                              Wenn ich an die Voucher fürs Gäste Wlan dran kommen könnte wäre das gigantisch!

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von liv-in-sky
                              #24

                              @Flexer
                              @dslraser

                              falls lust mal testen - sollte voucher ausgeben - erster test

                              async function getVouchers() {
                                  return new Promise(async (resolve, reject) => {
                                      dlog("nur mal so");
                                      if(!loggedIn) await login().catch((e) => reject(e));
                                      let resp = await request.get({
                                          url: unifi_controller + "/api/s/default/stat/voucher",
                                          headers: { Cookie: cookies.join("; ") }
                                      }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                                 
                              dlog("got response " + JSON.stringify(resp));
                              dlog(typeof resp);
                              log("--------------------- " + resp);
                              resp = JSON.parse(resp);
                              //log("--------------------- " + resp);
                              
                              dlog(resp.meta);
                              dlog(resp.meta.rc);
                              dlog(resp.data[1].code);
                              log(resp.data.length);
                              /*var clientListe = "<table>";
                              for (var i = 0; i < resp.data.length; i++) { 
                                  log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                   clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                   log(clientListe);
                              }
                              setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));*/
                              });
                              
                              }
                              

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              dslraserD FlexerF 3 Antworten Letzte Antwort
                              1
                              • liv-in-skyL liv-in-sky

                                @Flexer
                                @dslraser

                                falls lust mal testen - sollte voucher ausgeben - erster test

                                async function getVouchers() {
                                    return new Promise(async (resolve, reject) => {
                                        dlog("nur mal so");
                                        if(!loggedIn) await login().catch((e) => reject(e));
                                        let resp = await request.get({
                                            url: unifi_controller + "/api/s/default/stat/voucher",
                                            headers: { Cookie: cookies.join("; ") }
                                        }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                                   
                                dlog("got response " + JSON.stringify(resp));
                                dlog(typeof resp);
                                log("--------------------- " + resp);
                                resp = JSON.parse(resp);
                                //log("--------------------- " + resp);
                                
                                dlog(resp.meta);
                                dlog(resp.meta.rc);
                                dlog(resp.data[1].code);
                                log(resp.data.length);
                                /*var clientListe = "<table>";
                                for (var i = 0; i < resp.data.length; i++) { 
                                    log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                     clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                     log(clientListe);
                                }
                                setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));*/
                                });
                                
                                }
                                
                                dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #25

                                @liv-in-sky sagte in Unifi WLAN Script:

                                async function getVouchers() { return new Promise(async (resolve, reject) => { dlog("nur mal so"); if(!loggedIn) await login().catch((e) => reject(e)); let resp = await request.get({ url: unifi_controller + "/api/s/default/stat/voucher", headers: { Cookie: cookies.join("; ") } }).catch((e) => { dlog("getStatus reject " + e); reject(e) }); dlog("got response " + JSON.stringify(resp)); dlog(typeof resp); log("--------------------- " + resp); resp = JSON.parse(resp); //log("--------------------- " + resp); dlog(resp.meta); dlog(resp.meta.rc); dlog(resp.data[1].code); log(resp.data.length); /var clientListe = "<table>"; for (var i = 0; i < resp.data.length; i++) { log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac); clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+" </td><td>"+resp.data[i].essid+"    </td><td>"+resp.data[i].mac+"</td></tr>"); log(clientListe); } setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));/ }); }

                                bei mir klappt es, die Liste wird erstellt :+1: . Jetzt muß ich nur noch schauen wie ich die Liste vernünftig in iQontrol angezeigt bekomme.

                                liv-in-skyL 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @Flexer
                                  @dslraser

                                  falls lust mal testen - sollte voucher ausgeben - erster test

                                  async function getVouchers() {
                                      return new Promise(async (resolve, reject) => {
                                          dlog("nur mal so");
                                          if(!loggedIn) await login().catch((e) => reject(e));
                                          let resp = await request.get({
                                              url: unifi_controller + "/api/s/default/stat/voucher",
                                              headers: { Cookie: cookies.join("; ") }
                                          }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                                     
                                  dlog("got response " + JSON.stringify(resp));
                                  dlog(typeof resp);
                                  log("--------------------- " + resp);
                                  resp = JSON.parse(resp);
                                  //log("--------------------- " + resp);
                                  
                                  dlog(resp.meta);
                                  dlog(resp.meta.rc);
                                  dlog(resp.data[1].code);
                                  log(resp.data.length);
                                  /*var clientListe = "<table>";
                                  for (var i = 0; i < resp.data.length; i++) { 
                                      log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                       clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                       log(clientListe);
                                  }
                                  setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));*/
                                  });
                                  
                                  }
                                  
                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #26

                                  @liv-in-sky
                                  warum ist ist bei Dir so einiges auskommentiert ?

                                  Bildschirmfoto 2019-08-28 um 21.49.11.png

                                  Bildschirmfoto 2019-08-28 um 21.49.24.png

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @liv-in-sky sagte in Unifi WLAN Script:

                                    async function getVouchers() { return new Promise(async (resolve, reject) => { dlog("nur mal so"); if(!loggedIn) await login().catch((e) => reject(e)); let resp = await request.get({ url: unifi_controller + "/api/s/default/stat/voucher", headers: { Cookie: cookies.join("; ") } }).catch((e) => { dlog("getStatus reject " + e); reject(e) }); dlog("got response " + JSON.stringify(resp)); dlog(typeof resp); log("--------------------- " + resp); resp = JSON.parse(resp); //log("--------------------- " + resp); dlog(resp.meta); dlog(resp.meta.rc); dlog(resp.data[1].code); log(resp.data.length); /var clientListe = "<table>"; for (var i = 0; i < resp.data.length; i++) { log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac); clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+" </td><td>"+resp.data[i].essid+"    </td><td>"+resp.data[i].mac+"</td></tr>"); log(clientListe); } setState("javascript.2.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));/ }); }

                                    bei mir klappt es, die Liste wird erstellt :+1: . Jetzt muß ich nur noch schauen wie ich die Liste vernünftig in iQontrol angezeigt bekomme.

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #27

                                    @dslraser hört sich vielleicht doof an

                                    mach doch in deiner vis einen extra view nur die vouchers - und in iqontrol einen link zu dieser view

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    dslraserD 2 Antworten Letzte Antwort
                                    0
                                    • liv-in-skyL liv-in-sky

                                      @dslraser hört sich vielleicht doof an

                                      mach doch in deiner vis einen extra view nur die vouchers - und in iqontrol einen link zu dieser view

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

                                      @liv-in-sky sagte in Unifi WLAN Script:

                                      in deiner vis

                                      ich habe keine VIS :blush:

                                      liv-in-skyL 2 Antworten Letzte Antwort
                                      0
                                      • liv-in-skyL liv-in-sky

                                        @dslraser hört sich vielleicht doof an

                                        mach doch in deiner vis einen extra view nur die vouchers - und in iqontrol einen link zu dieser view

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

                                        @liv-in-sky
                                        wie erstelle ich jetzt daraus eine Liste für den Datenpunkt (Hier ist ja noch mac Adresse usw drin, die ja hier nicht gebraucht wird. )
                                        Mit den auskommentierten Sachen habe ich die Vouchers zu mindestens im Log.

                                        Hier mal Dein Script, was logischerweise so noch in Zeile 206 einen Fehler produziert

                                        //Datenpunkt für Wifi Status erstellen
                                        createState("WLANUnifi.Wifi_Status", {
                                          name: 'Unifi Wifi Status', 
                                          role: 'boolean',
                                          read:  true, 
                                          write: true,
                                        });
                                        //Datenpunkt Button für Wifi an erstellen
                                        createState("WLANUnifi.Wifi_an", {
                                          name: 'Unifi Wifi an', 
                                          role: 'switch',
                                          read:  true, 
                                          write: true,
                                        });
                                        //Datenpunkt Button für Wifi aus erstellen
                                        createState("WLANUnifi.Wifi_aus", {
                                          name: 'Unifi Wifi aus', 
                                          role: 'switch',
                                          read:  true, 
                                          write: true,
                                          type: "boolean",
                                          "smartName": {
                                          "de": "03Gäste Wlan aus",
                                          "smartType": "SWITCH"
                                        }
                                        });
                                        createState("WLANUnifi.Wifi_Clients", {
                                          name: 'Unifi Wifi Status', 
                                          role: 'string',
                                          read:  true, 
                                          write: true,
                                        });
                                        
                                        createState('WLANUnifi.Wifi_Clients_Anzahl', 0, { name: 'Wifi_Clients_Anzahl', desc: 'Wifi_Clients_Anzahl', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); 
                                        
                                        function dlog(message) {
                                         if(debug)
                                             console.log(message);
                                        }
                                        
                                        async function login() {
                                         return new Promise(async (resolve, reject) => {
                                             let resp = await request.post({
                                                 resolveWithFullResponse: true,
                                                 url: unifi_controller + "/api/login",
                                                 body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                                 headers: { 'Content-Type': 'application/json' }
                                             }).catch((e) => { dlog("login: reject"), reject(e) });
                                             
                                             if(resp != null) {
                                                 dlog("login: login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                                 if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                                     let set_cookies = resp.headers["set-cookie"];
                                                     for(i = 0; i < set_cookies.length; i++) {
                                                         let cookie = set_cookies[i];
                                                         cookie = cookie.split(";")[0];
                                                         cookies.push(cookie);
                                                     }
                                                 } else {
                                                     dlog("login: no cookies to set!")
                                                 }
                                                 loggedIn = true;
                                                 resolve();
                                             } else {
                                                 dlog("login: rejected")
                                                 reject("resp = null");
                                             }
                                         });
                                        }
                                        
                                        async function getStatus() {
                                          return new Promise(async (resolve, reject) => {
                                              dlog("nur mal so");
                                              if(!loggedIn) await login().catch((e) => reject(e));
                                              let resp = await request.get({
                                                  url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                                  headers: { Cookie: cookies.join("; ") }
                                              }).catch((e) => { dlog("getStatus reject " + e); reject(e) });
                                          
                                        dlog("got response " + JSON.stringify(resp));
                                        dlog(typeof resp);
                                        resp = JSON.parse(resp);
                                        dlog(resp.meta);
                                        dlog(resp.meta.rc);
                                              
                                              let wlanOn = resp.data[0].enabled;
                                              dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                              if(resp != null && resp.meta && resp.meta.rc == "ok") {
                                                  dlog("Status erfolgreich geholt!");
                                                  dlog(resp);
                                                  let wlanOn = resp.data[0].enabled;
                                                  dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                                  setState("javascript.2.WLANUnifi.Wifi_Status", wlanOn);
                                                  
                                                  resolve(wlanOn);
                                              } else {
                                                  dlog("nicht ok...")
                                                  
                                                  reject(JSON.stringify(resp));
                                              }
                                          });
                                        }
                                        
                                          async function getClients() {
                                          return new Promise(async (resolve, reject) => {
                                              dlog("nur mal so");
                                              if(!loggedIn) await login().catch((e) => reject(e));
                                              let resp = await request.get({
                                                  url: unifi_controller + "/api/s/default/stat/sta/",
                                                  headers: { Cookie: cookies.join("; ") }
                                              }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                                         
                                        dlog("got response " + JSON.stringify(resp));
                                        dlog(typeof resp);
                                        dlog("--------------------- " + resp);
                                        resp = JSON.parse(resp);
                                        //log("--------------------- " + resp);
                                        
                                        dlog(resp.meta);
                                        dlog(resp.meta.rc);
                                        dlog(resp.data[2].hostname);
                                        dlog(resp.data.length);
                                        setState("javascript.0.WLANUnifi.Wifi_Clients_Anzahl",resp.data.length);
                                        var clientListe = "<table>";
                                        for (var i = 0; i < resp.data.length; i++) { 
                                          dlog(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                           clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                           dlog(clientListe);
                                        }
                                        setState("javascript.0.WLANUnifi.Wifi_Clients", clientListe.concat(clientListe+"</table>"));
                                        });
                                        }
                                        
                                        async function dlogout() {
                                         return new Promise(async (resolve, reject) => {
                                             let resp = await request.get({
                                                 url: unifi_controller + "/dlogout",
                                                 headers: { Cookie: cookies.join("; ") }
                                             }).catch((e) => reject(e));
                                             if(resp != null) {
                                                 dlog("Du bist nun ausgedloggt.");
                                                 dlog(resp);
                                                 resolve();
                                             } else {
                                                 reject("resp = null");
                                             }
                                         });
                                        }
                                        
                                        async function setWifi(enabled) {
                                         return new Promise(async (resolve, reject) => {
                                             dlog("setWifi: start set wifi");
                                             if(!loggedIn) { dlog("need to login"); await login().catch((e) => reject(e)); }
                                             dlog("setWifi: now setting wifi");
                                             let resp = request.post({
                                                 url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                                 body: JSON.stringify({ enabled }),
                                                 headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                             }).catch((e) => { dlog("setWifi: rejected: " + e); reject(e) });
                                             dlog("setWifi: got response")
                                             if(resp != null) {
                                                 dlog("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                                 dlog(resp);
                                                 resolve();
                                             } else {
                                                 dlog("setWifi: rejetced")
                                                 dlog("resp: " + JSON.stringify(resp));
                                                 reject("msg: " + JSON.parse(resp.body).meta.msg);
                                             }
                                         });
                                        }
                                        async function getVouchers() {
                                           return new Promise(async (resolve, reject) => {
                                               dlog("nur mal so");
                                               if(!loggedIn) await login().catch((e) => reject(e));
                                               let resp = await request.get({
                                                   url: unifi_controller + "/api/s/default/stat/voucher",
                                                   headers: { Cookie: cookies.join("; ") }
                                               }).catch((e) => { dlog("getStatus reject " + e); reject(e) });  
                                          
                                        dlog("got response " + JSON.stringify(resp));
                                        dlog(typeof resp);
                                        log("--------------------- " + resp);
                                        resp = JSON.parse(resp);
                                        //log("--------------------- " + resp);
                                        
                                        dlog(resp.meta);
                                        dlog(resp.meta.rc);
                                        dlog(resp.data[1].code);
                                        log(resp.data.length);
                                        var clientListe = "<table>";
                                        for (var i = 0; i < resp.data.length; i++) { 
                                           log(resp.data[i].hostname + " --- " + resp.data[i].essid + " --- " + resp.data[i].mac);
                                            clientListe = clientListe.concat("<tr><td>"+resp.data[i].hostname+"&ensp;</td><td>"+resp.data[i].essid+"&ensp;&ensp;&ensp;&ensp;</td><td>"+resp.data[i].mac+"</td></tr>");
                                            log(clientListe);
                                        }
                                        setState("javascript.0.WLANUnifi.Wifi_Vouchers", clientListe.concat(clientListe+"</table>"));
                                        });
                                        }
                                        
                                        async function test() {
                                         dlog("starting test");
                                         await setWifi(false).catch((e) => dlog("reject1: " + e));
                                         dlog("getting status");
                                         let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                                         console.log("fin")
                                         console.log(wlan);
                                        }
                                        
                                        setInterval(async () => {
                                          getStatus();
                                          setTimeout(function () {
                                         getClients();
                                              }, 8000);
                                         /* let state = await getStatus();
                                          setState("javascript.2.WLANUnifi.Wifi_Status", state, true);
                                          log(state);*/
                                        }, 1200000); // Aktualisiert alle 10 Sekunden.
                                        
                                        
                                        on("javascript.0.WLANUnifi.Wifi_an", (state) => {
                                          setWifi(true);
                                          setTimeout(function () {
                                              getStatus();
                                              setState("javascript.0.WLANUnifi.Wifi_an", false);
                                        }, 10000);
                                        });
                                        on("javascript.0.WLANUnifi.Wifi_aus", (state) => {
                                          setWifi(false);
                                          setTimeout(function () {
                                             getStatus();   
                                             setState("javascript.0.WLANUnifi.Wifi_aus", false);
                                        }, 1200000);
                                        });
                                        
                                        getVouchers();
                                        

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          dos1973
                                          schrieb am zuletzt editiert von
                                          #30

                                          Wow, Klasse Sache was ihr hier macht... werde das sobald zu Hause auch mal versuchen!

                                          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

                                          736

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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