NEWS
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
-
@dslraser Man könnte den Namen für die Datenpunkte auch lowerCase erzwingen. Dann wären sie korrekt geordnet.
@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
-
@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 hatfastLaneDPsAlt
für eine Funktion? Im Code füllst du es einfach mit 0en -
@thewhobox hat keine funktion - wollte das alles anders lösen - ist überbleibsel - wird gelöscht
-
@thewhobox wenn noch was auffällt - bitte mitteilen
-
@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 hatfastLaneDPsAlt
für eine Funktion? Im Code füllst du es einfach mit 0enalso das login aufrufen - klappt es nicht - die gruppenabfrage auslassen - richtig ?
fällt dir noch ein, was sonst noch geprüft werden sollte
-
@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.
-
@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... -
@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
-
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 gruppenaufrufsetInterval(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:
log, wenn controller service down:
-
@liv-in-sky sagte in Unifi WLAN Script:
mit android oder anderen geräten funktioniert es aber hoffentlich ???
mit meinem Androiden ist alles okay.
-
@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 -
@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 nachich 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
-
@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 ? -
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 ? -
@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
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 -
@liv-in-sky sagte in Unifi WLAN Script:
abfragezyklus+15000
also die 1000 auf 15000 ? (oder meinst Du 1500 ?)
-
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
-
@dslraser 15000 -wenn das nicht hilf mach mal 30000
bedeutet 15 sekunden