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
    2.0k

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

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.
  • liv-in-skyL liv-in-sky

    @dslraser thema iphone: - wann meldet sich apple im netz an und ab:

    Image 1.png

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

    @liv-in-sky
    irgendwann im standby meldet es sich kurz ab und wie Du im Telegram siehst auch wieder an.

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

      @liv-in-sky
      irgendwann im standby meldet es sich kurz ab und wie Du im Telegram siehst auch wieder an.

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

      @dslraser ja ein apple problem - auf diesem weg scheint die anwesenheitskontrolle nicht zu funktionieren mit iphone - kannst du höchstens mit einem zusätzliche script abfangen

      wie es scheint, meldet es sich immer nur für ein paar minuten ab - das könntest du prüfen

      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

      HiltexH 1 Antwort Letzte Antwort
      0
      • dslraserD dslraser

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

        sortierung im lowercase modus ist integriert

        Bei mir sind die amazon Geräte mitten drinn

        Bildschirmfoto 2019-09-04 um 15.31.25.png

        thewhoboxT Offline
        thewhoboxT Offline
        thewhobox
        schrieb am zuletzt editiert von
        #203

        @dslraser Man könnte den Namen für die Datenpunkte auch lowerCase erzwingen. Dann wären sie korrekt geordnet.
        @liv-in-sky

        Meine Adapter: emby | discovery
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • thewhoboxT thewhobox

          @dslraser Man könnte den Namen für die Datenpunkte auch lowerCase erzwingen. Dann wären sie korrekt geordnet.
          @liv-in-sky

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

          @thewhobox dann stimmen die tatsächlichen netzwerknamen nicht mit den datenpunkten überein - find ich nicht gut

          andere frage - mir ist ein- bzw. aufgefallen , dass ich keine richtige fehlerstruktur habe - falls mal der controller nicht da ist oder die falsche adresse eingegeben wird - hast du eine idee dazu - am besten den loggedIn datenpunkt abfragen bevor alle anderen funktionen aufgerufen werden

          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

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

            @thewhobox dann stimmen die tatsächlichen netzwerknamen nicht mit den datenpunkten überein - find ich nicht gut

            andere frage - mir ist ein- bzw. aufgefallen , dass ich keine richtige fehlerstruktur habe - falls mal der controller nicht da ist oder die falsche adresse eingegeben wird - hast du eine idee dazu - am besten den loggedIn datenpunkt abfragen bevor alle anderen funktionen aufgerufen werden

            thewhoboxT Offline
            thewhoboxT Offline
            thewhobox
            schrieb am zuletzt editiert von
            #205

            @liv-in-sky Du kannst den richtigen namen ja bei common.name angeben.

            Hmm man könnte vor jeder Gruppenabfrage mal eine Testabfrage machen, wenn das fehl schlägt -> Meldung im Log.

            Ich muss sagen, ich verstehe einige deiner Variablen nicht.
            Was hat fastLaneDPsAlt für eine Funktion? Im Code füllst du es einfach mit 0en

            Meine Adapter: emby | discovery
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            liv-in-skyL 3 Antworten Letzte Antwort
            0
            • thewhoboxT thewhobox

              @liv-in-sky Du kannst den richtigen namen ja bei common.name angeben.

              Hmm man könnte vor jeder Gruppenabfrage mal eine Testabfrage machen, wenn das fehl schlägt -> Meldung im Log.

              Ich muss sagen, ich verstehe einige deiner Variablen nicht.
              Was hat fastLaneDPsAlt für eine Funktion? Im Code füllst du es einfach mit 0en

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

              @thewhobox hat keine funktion - wollte das alles anders lösen - ist überbleibsel - wird gelöscht

              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
              • thewhoboxT thewhobox

                @liv-in-sky Du kannst den richtigen namen ja bei common.name angeben.

                Hmm man könnte vor jeder Gruppenabfrage mal eine Testabfrage machen, wenn das fehl schlägt -> Meldung im Log.

                Ich muss sagen, ich verstehe einige deiner Variablen nicht.
                Was hat fastLaneDPsAlt für eine Funktion? Im Code füllst du es einfach mit 0en

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

                @thewhobox wenn noch was auffällt - bitte mitteilen

                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
                • thewhoboxT thewhobox

                  @liv-in-sky Du kannst den richtigen namen ja bei common.name angeben.

                  Hmm man könnte vor jeder Gruppenabfrage mal eine Testabfrage machen, wenn das fehl schlägt -> Meldung im Log.

                  Ich muss sagen, ich verstehe einige deiner Variablen nicht.
                  Was hat fastLaneDPsAlt für eine Funktion? Im Code füllst du es einfach mit 0en

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

                  @thewhobox sagte in Unifi WLAN Script:

                  @liv-in-sky Du kannst den richtigen namen ja bei common.name angeben.

                  Hmm man könnte vor jeder Gruppenabfrage mal eine Testabfrage machen, wenn das fehl schlägt -> Meldung im Log.

                  Ich muss sagen, ich verstehe einige deiner Variablen nicht.
                  Was hat fastLaneDPsAlt für eine Funktion? Im Code füllst du es einfach mit 0en

                  also das login aufrufen - klappt es nicht - die gruppenabfrage auslassen - richtig ?

                  fällt dir noch ein, was sonst noch geprüft werden sollte

                  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
                  • liv-in-skyL liv-in-sky

                    @dslraser ja ein apple problem - auf diesem weg scheint die anwesenheitskontrolle nicht zu funktionieren mit iphone - kannst du höchstens mit einem zusätzliche script abfangen

                    wie es scheint, meldet es sich immer nur für ein paar minuten ab - das könntest du prüfen

                    HiltexH Offline
                    HiltexH Offline
                    Hiltex
                    schrieb am zuletzt editiert von
                    #209

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

                    @dslraser ja ein apple problem - auf diesem weg scheint die anwesenheitskontrolle nicht zu funktionieren mit iphone - kannst du höchstens mit einem zusätzliche script abfangen

                    wie es scheint, meldet es sich immer nur für ein paar minuten ab - das könntest du prüfen

                    Das ist ein Apple-Problem per se. Die Anwesenheitserkennung über UniFi ist die einzige Variante, die bei einem iPhone wirklich sehr gut funktioniert - zumindest grundsätzlich. Das Verhalten mit dem An- und Abmelden hatte ich auch schonmal. Ein Neustart des Telefons hat geholfen.

                    Blog: indibit.de

                    dslraserD 1 Antwort Letzte Antwort
                    0
                    • HiltexH Hiltex

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

                      @dslraser ja ein apple problem - auf diesem weg scheint die anwesenheitskontrolle nicht zu funktionieren mit iphone - kannst du höchstens mit einem zusätzliche script abfangen

                      wie es scheint, meldet es sich immer nur für ein paar minuten ab - das könntest du prüfen

                      Das ist ein Apple-Problem per se. Die Anwesenheitserkennung über UniFi ist die einzige Variante, die bei einem iPhone wirklich sehr gut funktioniert - zumindest grundsätzlich. Das Verhalten mit dem An- und Abmelden hatte ich auch schonmal. Ein Neustart des Telefons hat geholfen.

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

                      @Hiltex sagte in Unifi WLAN Script:

                      Ein Neustart des Telefons hat geholfen.

                      Jetzt mit dem letzten Script und nach dem Handyneustart läuft es Amok...
                      Die google Suche hat auch so einiges zum Thema Apple ausgespuckt. Das scheint ja ein bekanntes Problem zu sein.
                      Ist nicht so tragisch, ich nutze zur Anwesenheit etwas anderes...

                      Screenshot_20190904-171632_Telegram.jpg

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

                        @Hiltex sagte in Unifi WLAN Script:

                        Ein Neustart des Telefons hat geholfen.

                        Jetzt mit dem letzten Script und nach dem Handyneustart läuft es Amok...
                        Die google Suche hat auch so einiges zum Thema Apple ausgespuckt. Das scheint ja ein bekanntes Problem zu sein.
                        Ist nicht so tragisch, ich nutze zur Anwesenheit etwas anderes...

                        Screenshot_20190904-171632_Telegram.jpg

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

                        @dslraser mit dem neuen script wird natürlich öfter geprüft - wenn da das last-seen-by-uap durch das handy verückt spielt - kommen natürlich maßig nachrichten

                        mit android oder anderen geräten funktioniert es aber hoffentlich ???

                        das kann man auch nicht mehr mit einem externen script abfangen

                        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 Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #212

                          @thewhobox

                          habe das error problem so gelöst - ist das in ordnung ?? -sorry für meine unwissenheit
                          habe dazu die login() funktion geändert und den gruppenaufruf

                          setInterval(async () => {
                              
                              if (await login()) {
                                for(let wifi_name in wifis) {
                                   await getStatus(wifis[wifi_name]);}
                                      
                                if (vouchers)  getVouchers();
                                await getClients();
                          
                              } else { log("Verbindung zum Unifi Controller nicht möglich - Unifi Script settings prüfen oder controller check !!!","error");}
                          
                              }, abfragezyklus); // wird oben definiert
                           
                          

                          rote pfeile sind änderung:
                          Image 2.png

                          log, wenn controller service down:
                          Image 3.png

                          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

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

                            @dslraser mit dem neuen script wird natürlich öfter geprüft - wenn da das last-seen-by-uap durch das handy verückt spielt - kommen natürlich maßig nachrichten

                            mit android oder anderen geräten funktioniert es aber hoffentlich ???

                            das kann man auch nicht mehr mit einem externen script abfangen

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

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

                            mit android oder anderen geräten funktioniert es aber hoffentlich ???

                            mit meinem Androiden ist alles okay.

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

                              @thewhobox

                              habe das error problem so gelöst - ist das in ordnung ?? -sorry für meine unwissenheit
                              habe dazu die login() funktion geändert und den gruppenaufruf

                              setInterval(async () => {
                                  
                                  if (await login()) {
                                    for(let wifi_name in wifis) {
                                       await getStatus(wifis[wifi_name]);}
                                          
                                    if (vouchers)  getVouchers();
                                    await getClients();
                              
                                  } else { log("Verbindung zum Unifi Controller nicht möglich - Unifi Script settings prüfen oder controller check !!!","error");}
                              
                                  }, abfragezyklus); // wird oben definiert
                               
                              

                              rote pfeile sind änderung:
                              Image 2.png

                              log, wenn controller service down:
                              Image 3.png

                              thewhoboxT Offline
                              thewhoboxT Offline
                              thewhobox
                              schrieb am zuletzt editiert von
                              #214

                              @liv-in-sky ja ist auch eine möglichkeit.
                              Evtl müsste man beim cookie speichern noch was ändern, damit da nicht alle x Sekunden die cookies drin gespeichert werden.
                              Schaue später daheim mal kurz nach

                              Meine Adapter: emby | discovery
                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • thewhoboxT thewhobox

                                @liv-in-sky ja ist auch eine möglichkeit.
                                Evtl müsste man beim cookie speichern noch was ändern, damit da nicht alle x Sekunden die cookies drin gespeichert werden.
                                Schaue später daheim mal kurz nach

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

                                @thewhobox sagte in Unifi WLAN Script:

                                @liv-in-sky ja ist auch eine möglichkeit.
                                Evtl müsste man beim cookie speichern noch was ändern, damit da nicht alle x Sekunden die cookies drin gespeichert werden.
                                Schaue später daheim mal kurz nach

                                ich hatte auch versucht getStatus eine fehlermeldung abzuringen - z.b wenn die id falsch definiert ist - das hat garnicht geklappt - problem - die daten (resp) wird auf meta ok geprüft (was auch kommt, da verbindung ja funktioniert) aber nicht, ob bei resp.data etwas drinsteht ( got response "{"meta":{"rc":"ok"},"data":[]}")

                                ich wollte eigendlich beim aufruf der gruppenabfrage eine art kette bilden und abfragen, ob alles ok ist (wenn ja - ab zur nächsten abfrage (get clients) wieder alles ok - ab zu vouchers - bei dem beispiel ( got response "{"meta":{"rc":"ok"},"data":[]}") ist nichts ok, das programm fängt immer von vorne an - da ich das falsche netzwerk als zweites definiert hatte, wird nur das erste auf status gecheckt - das dritte wird ausgelassen

                                wäre toll, wenn du noch ein paar minuten heue abend hättest

                                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 Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #216

                                  @liv-in-sky
                                  so, noch mal Feedback !
                                  Ich habe mein Telegram Script jetzt mal aus und habe nur die Objekte beobachtet.
                                  Mein Handy (Anroid) wird übrigens auch im 20 Sekunden Takt (wahrscheinlich im Aktualisierungsintervall, manchmal wird auch eins übersprungen) von true auf false gewechselt, obwohl ich am Handy das WLAN nicht an und aus schalte, und immer so weiter...Das iPhone meiner Frau habe ich jetzt mal aussen vor gelassen.
                                  Also als Test mit dieser Vorgehensweise:
                                  Ich starte das Script, Handy wird in den DP's aufgeleistet, dann deaktiviere ich einmal das WLAN am Handy und warte bis es auf false geht. Dann schalte ich das WLAN am Handy wieder an, dann beginnt die true und false schalterei.

                                  im Script selbst ist eins von diesen hier zu viel. Jedenfalls schmeisst das Script beim ersten Start diesen Fehler, hatte ich vorhin vergessen zu schreiben.

                                  let wifiDPs = [];
                                  

                                  ich habe meine zwei "zu überwachenden" Geräte so eingefügt, ist das so von Dir gedacht ?

                                  //Überwachte Geräte beim Abschalten - Beispiele überschreiben!
                                  const fastLane = {
                                     "Galaxy-Note8": { name: "Galaxy-Note8"} ,
                                     "Mollys-iPhone": { name: "Mollys-iPhone"},
                                  }
                                  

                                  Irgendwas passt Da jedenfalls noch nicht...
                                  Hast Du das mal mit Deinem Handy probiert und die Objekte beobachtet ?

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von dslraser
                                    #217

                                    @liv-in-sky

                                    noch eine Info/Frage ?
                                    im Log taucht jetzt alle 20 Sekunden als bzw. unter info: eine meiner amazon Geräte auf, warum bzw. wofür ist das ?

                                    dslraserD 1 Antwort Letzte Antwort
                                    0
                                    • dslraserD dslraser

                                      @liv-in-sky
                                      so, noch mal Feedback !
                                      Ich habe mein Telegram Script jetzt mal aus und habe nur die Objekte beobachtet.
                                      Mein Handy (Anroid) wird übrigens auch im 20 Sekunden Takt (wahrscheinlich im Aktualisierungsintervall, manchmal wird auch eins übersprungen) von true auf false gewechselt, obwohl ich am Handy das WLAN nicht an und aus schalte, und immer so weiter...Das iPhone meiner Frau habe ich jetzt mal aussen vor gelassen.
                                      Also als Test mit dieser Vorgehensweise:
                                      Ich starte das Script, Handy wird in den DP's aufgeleistet, dann deaktiviere ich einmal das WLAN am Handy und warte bis es auf false geht. Dann schalte ich das WLAN am Handy wieder an, dann beginnt die true und false schalterei.

                                      im Script selbst ist eins von diesen hier zu viel. Jedenfalls schmeisst das Script beim ersten Start diesen Fehler, hatte ich vorhin vergessen zu schreiben.

                                      let wifiDPs = [];
                                      

                                      ich habe meine zwei "zu überwachenden" Geräte so eingefügt, ist das so von Dir gedacht ?

                                      //Überwachte Geräte beim Abschalten - Beispiele überschreiben!
                                      const fastLane = {
                                         "Galaxy-Note8": { name: "Galaxy-Note8"} ,
                                         "Mollys-iPhone": { name: "Mollys-iPhone"},
                                      }
                                      

                                      Irgendwas passt Da jedenfalls noch nicht...
                                      Hast Du das mal mit Deinem Handy probiert und die Objekte beobachtet ?

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

                                      @dslraser - ich mache nichts anderes als zu beobachten in den letzten tagen - ich hba edauernd eine benachrichtigung durch alexa, wenn etwas schaltet - beim start habe ich auch schon mal das umschalten gesehen - aber nur einmal anschliessend ist der status richtig - das liegt daran, das ein disconnect erstmal durch ein nicht in der liste von unifi geschaltet wird - das kan n ich nicht umgehen, da ich immer eine aktuelle liste von unifi brauche - anschliessend werden die einzelfälle nochmal bearbeitet. ich schau mal - aber wie gesagt- nur beim neustart des scripts - nach spätestens einen zyklus ist das vorbei

                                      ich habe sehr kurze checkzeiten für das last seen-by-uap - eventuell ist da ein problem
                                      doch bevor du das versuchst, lösche mal das komma nach mollys-iphone siehe:

                                      const fastLane = {
                                          "Galaxy-S9": { name: "Galaxy-S9"} ,
                                          "GalaxyTabS2": { name: "GalaxyTabS2"},
                                          "ESP_C75826" : {name: "ESP_C75826"}
                                      }
                                      

                                      nach dem letzten eintrag gehört kein komma- warscheinlich unwichtig - aber versuche es mal

                                      zurück zum uap thema du kannst hier mal etwas testen
                                      Image 1.png

                                      dadurch werden die registrierzeiten etwas verlängert aber evt. beruhigt es das ganze.
                                      zu ändern - bei zweitem pfeilen - in funktion fastlane() - änderung: abfragezyklus zu abfragezyklus+15000 - eigentlich nur wichtig beim unterem pfeil - evtl hilft das

                                      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 - ich mache nichts anderes als zu beobachten in den letzten tagen - ich hba edauernd eine benachrichtigung durch alexa, wenn etwas schaltet - beim start habe ich auch schon mal das umschalten gesehen - aber nur einmal anschliessend ist der status richtig - das liegt daran, das ein disconnect erstmal durch ein nicht in der liste von unifi geschaltet wird - das kan n ich nicht umgehen, da ich immer eine aktuelle liste von unifi brauche - anschliessend werden die einzelfälle nochmal bearbeitet. ich schau mal - aber wie gesagt- nur beim neustart des scripts - nach spätestens einen zyklus ist das vorbei

                                        ich habe sehr kurze checkzeiten für das last seen-by-uap - eventuell ist da ein problem
                                        doch bevor du das versuchst, lösche mal das komma nach mollys-iphone siehe:

                                        const fastLane = {
                                            "Galaxy-S9": { name: "Galaxy-S9"} ,
                                            "GalaxyTabS2": { name: "GalaxyTabS2"},
                                            "ESP_C75826" : {name: "ESP_C75826"}
                                        }
                                        

                                        nach dem letzten eintrag gehört kein komma- warscheinlich unwichtig - aber versuche es mal

                                        zurück zum uap thema du kannst hier mal etwas testen
                                        Image 1.png

                                        dadurch werden die registrierzeiten etwas verlängert aber evt. beruhigt es das ganze.
                                        zu ändern - bei zweitem pfeilen - in funktion fastlane() - änderung: abfragezyklus zu abfragezyklus+15000 - eigentlich nur wichtig beim unterem pfeil - evtl hilft das

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

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

                                        abfragezyklus+15000

                                        also die 1000 auf 15000 ? (oder meinst Du 1500 ?)

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

                                          Zu erst noch mal ein fettes Danke an @thewhobox für dieses Script.

                                          Ich eröffne diesen Beitrag, um den Beitrag wo es entstanden ist nicht länger zu "Missbrauchen", da es dort eigentlich um den Unifi Adapter geht.
                                          Mit diesem Script ist es möglich Unifi WLAN's an oder aus zu schalten und den aktuellen WLAN Status ab zu fragen.

                                          on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.02Gaeste_Wifi_an'/*Unifi Gäste Wifi an*/, val: true, change: 'any'}, wifi_an);
                                          on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.03Gaeste_Wifi_aus'/*Unifi Gäste Wifi aus*/, val: true, change: 'any'}, wifi_aus);
                                          
                                          //Datenpunkt für Gäste Wifi Status erstellen
                                          createState("Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.01Gaeste_Wifi_Status",{
                                             name: 'Unifi Gäste Wifi Status', 
                                             role: 'string',
                                             read:  true, 
                                             write: true,
                                          });
                                          
                                          //Datenpunkt Button zum schalten für Gäste Wifi an erstellen
                                          createState("Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.02Gaeste_Wifi_an", {
                                             name: 'Unifi Gäste Wifi an', 
                                             role: 'button',
                                             read:  true, 
                                             write: true,
                                             type: "boolean",
                                             "smartName": {
                                             "de": "02Gäste Wlan an",
                                             "smartType": "SWITCH"
                                          }
                                          });
                                          
                                          //Datenpunkt Button zum schalten für Gäste Wifi aus erstellen
                                          createState("Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.03Gaeste_Wifi_aus", {
                                             name: 'Unifi Gäste Wifi aus', 
                                             role: 'button',
                                             read:  true, 
                                             write: true,
                                             type: "boolean",
                                             "smartName": {
                                             "de": "03Gäste Wlan aus",
                                             "smartType": "SWITCH"
                                          }
                                          });
                                          
                                          const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                          const unifi_username = "benutzer";
                                          const unifi_password = "kennwort";
                                          const unifi_controller = "https://192.168.xxx.xxx:xxxx";
                                          const wifi_id = "xxxxxxxxxxxxxxxxxxxxxxx";
                                          let cookies = [];
                                          let loggedIn = false;
                                          let debug = false;
                                          
                                          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"));
                                                     resolve(wlanOn);
                                                 } else {
                                                     dlog("nicht ok...")
                                                     
                                                     reject(JSON.stringify(resp));
                                                 }
                                             });
                                          }
                                          
                                          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 wifi_an() {
                                             dlog("starting wifi_an");
                                             await setWifi(true).catch((e) => dlog("reject1: " + e));
                                             dlog("getting status");
                                             let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                                             console.log("fin")
                                             console.log(wlan);
                                          }
                                          async function wifi_aus() {
                                             dlog("starting wifi_aus");
                                             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 () => {
                                          let state = await getStatus();
                                             setState("javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.01Gaeste_Wifi.01Gaeste_Wifi_Status", state, true);
                                          }, 10000); // Aktualisiert alle 10 Sekunden.
                                          
                                          //wifi_an();
                                          //wifi_aus();
                                          //getStatus();
                                          

                                          Bei mir werden diese sechs Datenpunkte erstellt (Gäste und Haupt WLAN, Script läuft zwei mal. Der Unterschied ist nur die dazugehörige const wifi_id)

                                          erstellt unter javascript.0
                                          Bildschirmfoto 2019-08-28 um 17.57.09.png


                                          Das einzige was man sich im Unifi Controller raussuchen muss ist die id vom WLAN, welches man schalten will, oder den Status sehen will. Zu finden hier unter Drahtlosnetzwerke
                                          Bildschirmfoto 2019-08-28 um 18.05.38.png
                                          dann beim gewünschten Netzwerk auf den Bleistift klicken (bearbeiten)
                                          Bildschirmfoto 2019-08-28 um 18.05.46.png
                                          Nun im Browser,in der Adressleiste, den Rest hinter edit/ kopieren, das ist die id die benötigt wird im Script, die restlichen Anmeldedaten sollten selbsterklärend sein.
                                          Ich habe jetzt diese Version vom Script zwei mal laufen, einmal für mein "Haupt WLAN" und einmal für mein "Gäste WLAN".
                                          Diese Scripte nutze ich jetzt auch in iQontrol.
                                          Screenshot_20190828-173305_Chrome.jpg

                                          Ich habe mich bewusst für Button entschieden, da ich diese auch in Alexa Routinen und Befehlen individueller nutzen kann. Z.B. Alexa, schalte das Gäste Netzwerk an.(Das ginge natürlich auch mit Schaltern)

                                          @thewhobox
                                          @liv-in-sky
                                          Ich hoffe Ihr habt nix dagegen und wir können hier weiter schreiben und Ideen austauschen ?
                                          (Hätte da noch einen Wunsch für das Script😅)

                                          EDIT: (13.09.2019) hier ist das aktuelle Script und die Beschreibung dazu

                                          Klick hier

                                          T Offline
                                          T Offline
                                          tempestas
                                          schrieb am zuletzt editiert von tempestas
                                          #220

                                          @dslraser

                                          ich bekomme beim import des skripts zig "missing semikolon" sowie " expected an identifier but instead saw ')' " in quasi jeder function.

                                          Die Semikolons sind kein Problem, das mit den Klammern verstehe ich nicht, da alles zu passen scheint. habs mir nochmal im editor angesehen, da passt m.E. alles

                                          mit aktualisertem JS Adapter sieht meine Konsole beim starten des Skripts so aus:

                                          	2019-09-04 21:57:42.261	error	at TCP.onread (net.js:547:20)
                                          javascript.0	2019-09-04 21:57:42.261	error	at Socket.Readable.push (_stream_readable.js:134:10)
                                          javascript.0	2019-09-04 21:57:42.261	error	at readableAddChunk (_stream_readable.js:176:18)
                                          javascript.0	2019-09-04 21:57:42.261	error	at Socket.emit (events.js:188:7)
                                          javascript.0	2019-09-04 21:57:42.261	error	at emitOne (events.js:96:13)
                                          javascript.0	2019-09-04 21:57:42.260	error	at Socket.realHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:825:20)
                                          javascript.0	2019-09-04 21:57:42.260	error	at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:103:24)
                                          javascript.0	2019-09-04 21:57:42.260	error	at Receiver.expectHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:499:31)
                                          javascript.0	2019-09-04 21:57:42.260	error	at Receiver.finish (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:541:12)
                                          javascript.0	2019-09-04 21:57:42.260	error	at Receiver.flush (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:347:3)
                                          javascript.0	2019-09-04 21:57:42.260	error	at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:508:14
                                          javascript.0	2019-09-04 21:57:42.259	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:371:5)
                                          javascript.0	2019-09-04 21:57:42.259	error	at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:536:18
                                          javascript.0	2019-09-04 21:57:42.259	error	at Receiver.ontext (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:841:10)
                                          javascript.0	2019-09-04 21:57:42.259	error	at WebSocket.emit (events.js:191:7)
                                          javascript.0	2019-09-04 21:57:42.259	error	at emitTwo (events.js:106:13)
                                          javascript.0	2019-09-04 21:57:42.259	error	at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:442:14)
                                          javascript.0	2019-09-04 21:57:42.258	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
                                          javascript.0	2019-09-04 21:57:42.258	error	at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)
                                          javascript.0	2019-09-04 21:57:42.258	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)
                                          javascript.0	2019-09-04 21:57:42.258	error	at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                          javascript.0	2019-09-04 21:57:42.258	error	at WS.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:268:10)
                                          javascript.0	2019-09-04 21:57:42.258	error	at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:451:14)
                                          javascript.0	2019-09-04 21:57:42.258	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:322:16)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8)
                                          javascript.0	2019-09-04 21:57:42.257	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                          javascript.0	2019-09-04 21:57:42.256	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                          javascript.0	2019-09-04 21:57:42.256	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
                                          javascript.0	2019-09-04 21:57:42.256	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:312:9)
                                          javascript.0	2019-09-04 21:57:42.256	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
                                          javascript.0	2019-09-04 21:57:42.256	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
                                          javascript.0	2019-09-04 21:57:42.256	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
                                          javascript.0	2019-09-04 21:57:42.255	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
                                          javascript.0	2019-09-04 21:57:42.255	error	at Object.createScript (vm.js:56:10)
                                          javascript.0	2019-09-04 21:57:42.255	error	SyntaxError: Unexpected token function
                                          javascript.0	2019-09-04 21:57:42.255	error	^^^^^^^^
                                          javascript.0	2019-09-04 21:57:42.255	error	async function login(){
                                          javascript.0	2019-09-04 21:57:42.254	error	at script.js.common.System.WLAN_Ein_aus:68
                                          javascript.0	2019-09-04 21:57:42.254	error	script.js.common.System.WLAN_Ein_aus compile failed:
                                          javascript.0	2019-09-04 21:57:42.248	info	Start javascript script.js.common.System.WLAN_Ein_aus
                                          

                                          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                          liv-in-skyL 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          587

                                          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