NEWS
Unifi WLAN Script 2 mit Anwesenheitskontrolle
-
Hey @liv-in-sky , vielen Dank für das super geniale Script!
Leider bekomme ich die ganze Zeit Fehler in mein Log geschrieben mit denen ich nichts anfangen kann. Kannst du (oder natürlich irgendjemand sonst) helfen?15:54:29.620 error javascript.0 (443) script.js.Adapter_Scripts.unifi_30_12_19: TypeError: respa.indexOf is not a function 15:54:29.621 error javascript.0 (443) at workAP (script.js.Adapter_Scripts.unifi_30_12_19:1441:25) 15:54:29.622 error javascript.0 (443) at Object.setInterval (script.js.Adapter_Scripts.unifi_30_12_19:1992:38)
ich hab JS Script Engine in Version 4.6.17 laufen.
Vielen Dank schon im Voraus
Benni
-
eigentlich wird das script nicht mehr genutzt - es gibt ja den neuen unifi adapter
leider ist es viel aufwand, dass script zu überprüfen - die fehlermeldung hat was mit den AP's zu tun
es werden die daten geholt und hier werden sie bearbeitet - evtl kommt da was seltsames vom controllerwir konnen noch prüfen, was da ankommt - ändere die zeile 1436 in log tatt dlog um - und unter dem script sollte dann ein json im log zu sehen sein - dieses bringt das problem - evtl sind die ap's oben im setting nicht richtig angegeben ?
-
Kann mir das Script den Status pro Device liefern?
-
Hallo
bekomme leider das Skript nicht zum laufen kann mir vielleicht jemand helfen???
das ist meine Fehlermeldung
19:06:23.485 error javascript.0 (19476) script.js.Unifi: SyntaxError: Unexpected token < in JSON at position 0
19:06:23.486 error javascript.0 (19476) at script.js.Unifi:426:19 -
@stefan7201 eigentlich wird das script nicht mehr verwendet - es gibt jetzt den unifi adapter - dadurch wird das script eigentlich unnötig
hast du den adapter schon ?
zum fehler - das ist alles extrem lange her - und ein sehr langes script - und ich weiß nicht mal, ob die unifi datenbank änderungen erfahren hat - ich "date" das script nicht mehr "up"
der fehler kommt im bereich, indem die clients verarbeitet werden - aber ich vermute, das ein fehler bei dem get clients ist - evtl gibt es ein problem mit den aliasen für die clients - hast du die aliase deactiviert im setting - false gesetzt oder true
-
@liv-in-sky danke für die schnelle Anwtort den adapter habe ich laufen ja aber mir gefällt die voucher liste und die wollte ich in meine vis einbinden und da bin ich auf dieses script gestossen
falls du den punkt aliasname=false; meist der ist false
-
@stefan7201 wird den eigentlich überhaut was in datenpunkte geschrieben? evtl ist das login falsch - umlaute, sonderzeichen
oder site ist falsch eingegeben
-
@stefan7201 das mit den vouchern ist etwas doof - da die datenpunkte der vouchers nicht gelöscht werden vom adapter - d.h. man hat immer eine anwachsende voucherliste
-
@liv-in-sky so weit ich gesehen habe wird nichts in die datenpunkte geschrieben login sollte stimmen kennwort ist mit einen großbuchstaben und einen sonderzeichen site adresse habe ich die "https://192.168.0.2:8443/manage/site/default/dashboard"; bei der bin ich mir allerdings nicht sicher ob die stimmt
-
@stefan7201 ich habe noch das - arbeitet mit unifi adapter - aber halt mit der wachsenden liste, da die dp nicht gelöscht werden
ich könnte morgen mal versuchen, ob ich bevor das script läuft, die datenpunkte löschen könnte und der adapter dann die aktuellen wieder anlegt
ist notlösung - könnte aber klappen
-
poste mir mal dein script und lösche die logindaten raus - kann aber erst morgen nachsehen - bin abernd nicht am hauptrechner
-
@liv-in-sky wär super ja
-
/ September 2019 @liv-in-sky durch viel vorarbeit von @thewhobox (api verbindung)
// Definition Login
const unifi_username = "xxx@xxxx.com";
const unifi_password = "F2485151?";
const unifi_controller = "https://192.168.xxx.xxx:8443/manage/site/default/dashboard";let siteName ="default"; //Site name
// DEFINITION der zu anzeigenden Netzwerke am besten bis auf id alle gleich setzen
const wifis = {
"meinWlan": { name: "meinWlan", id: "5f218a57a5f37d0015da61fc", desc: "meinWlan", smart: "meinWlan" } ,
"Gäste": { name: "Gäste", id: "5fd3b914a7e79934af8254a1", desc: "Gäste", smart: "Gäste" }
}
// DEFINITION der Aliasnamen für die AP's - hat nichts mit den Aliasnamen im Controller zu tun - wird nur für das script gebraucht
const apName = { "xx:xx:xx:xx:xx:xx" : { aname: "Erdgeschoss"}, //mac adresse der ap's, switches und des gateways - alles was da ist
"xx:xx:xx:xx:xx:xx" : { aname: "Garten"}
}//Vordefinierte Vouchers für one-click-create - wird hier etwas geändert BITTE DATENPUNKT (Vouchers_StandardList) LÖSCHEN vor Scriptstart!!!!
//BITTE alle Werte eingeben - für nichtbenutzte wie up-, download und nmb_begrenzung eine 0 eintragen
// Pflichteinträge sind dauer, anzahl, multiuse und notiz !!!
const standardVouchers = {"Vier Tage" : {dauer: 240, anzahl: 1, multiuse: 1, upload: 0, download:0, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 4 Tage"},
"Sieben Tage" : {dauer: 10080, anzahl: 1, multiuse: 1, upload: 300, download:300, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 7 Tage"},
"99 Minuten" : {dauer: 99, anzahl: 2, multiuse: 1, upload: 0, download:200, mb_begrenzung: 500, notiz:"Dauer 99 Minuten - Anzahl 2"}}const blackList = [] //Blacklist - diese clients werden nicht berücksichtigt - aber nur wenn ein alias im controller definiert ist Beispiel : const blackList = ["GalaxyTabS2" ]
const checkConnType=[]; // Datenpunkte (werden erstellt) für Überwachung von Connection (WLAN only) - aber nur wenn ein alias im controller definiert ist
// wenn leer - keine überwachung (const checkConnType=[]) Beispiel: const checkConnType=["Galaxy-S9","FireTablet7"];//Pause bei Umschalten der WLANnetze, damit Netzanmeldungen der clients wieder normal
const clientPauseConst = 200000; //1000 bedeutet 1 Sekunde - das braucht Zeit !!!// Abfragezyklus definieren
const abfragezyklus =20000; // es ist nicht zu empfehlen unter 20000 (20 sekunden) zu gehen
const abfageoffset = 45000; // zu schnelle Abmeldungen können hier eingestellt weren - > erhöhen (15000 = 15 sek.)//HIER Einstellungen : EIN-AUSSCHALTEN Vouchers, iqontrol-Datei erstellen, anwesenheitskontrolle-clientpflege
let iqontrol = true;
let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
let aliasname=false;
let vouchers = true;
let apInfo = true;
let problemWLAN=false; //bei problemen mit APs die über WLAN angebuden sind
let countFalseSetting=2; //2 bedeutet : einmal einen abfragezyklus auslassen bevor auf false gesetzt wird: Formel: n-1let disConClientsFirst=true; //zeigt disconnected clients als erstes im table (vis) oder iqontrol an
let ohneClientAbfrage=false; //schaltet das bearbeiten der clients vollständig ab - auch keine datenpunkte
let sortedByIP =false; //client anzeige nach IP sortiert
//FARBEN für IQontrol und VIS
//die farbe für die tabellen in der vis wird im widget eingestellt
//color_vis_text_client_in_table
//color_vis_text_voucher_in_table
let color_iqontrol_text__client_letzteAenderung_VIS="lightblue";
let color_iqontrol_text__client_letzteAenderung_VIS_Text="#d0cdcd";
let color_iqontrol_text_client_in_table= "black";
let color_iqontrol_text__client_disconnected="#01A9DB";let color_iqontrol_client_gradient1= "lightblue";
let color_iqontrol_text_voucher_in_table= "black";
let color_iqontrol_voucher_gradient1= "lightblue";
let color_iqontrol_text__client_letzteAenderung="#848484";
let color_iqontrol_text__voucher_ueberschrift="lightblue";let schriftart="Helvetica"; //möglich: Helvetica,Serif
-
@liv-in-sky besten dank schon mal
-
@stefan7201 sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
hatte das skript vor dem adapter auch am laufen, mache daraus mal :
const unifi_controller ="https://192.168.xxx.xxx:8443/manage/site/default/dashboard";
const unifi_controller ="https://192.168.xxx.xxx:8443"
wenn ich mich richtig erinnere ....
du hast auch dein Passwort noch drin -
@frank579 Hat funktioniert danke
PS: das ist nicht mein Passwort das ist nur irgentwas
-
@stefan7201
okay -
@frank579 super - danke dir - hätte ich nicht gwußt
-
Guten Abend, lässt sich das Script auch ohne Iqontrol nutzen?
Ich habe die Punkte entsprechend abgestellt, aber irgend etwas muss ich übersehen haben, ich bekomme im Log folgende Meldung:
javascript.0 2021-04-10 20:51:01.995 error (873) at Script.runInContext (vm.js:143:18) javascript.0 2021-04-10 20:51:01.995 error (873) at script.js.Haussteuerung2.Netzwerk.Unifi:2061:3 javascript.0 2021-04-10 20:51:01.994 error (873) at script.js.Haussteuerung2.Netzwerk.Unifi:79:185 javascript.0 2021-04-10 20:51:01.993 error (873) script.js.Haussteuerung2.Netzwerk.Unifi: ReferenceError: color_iqontrol_text_voucher_in_table is not defined
-
du darfst nix löschen aus dem setting - sonst referenz error
das script pflege ich nicht mehr, seitdem es den adapter gibt - ich nutze es selbst nicht mehr
EDIT
let iqontrol = false; -- zeile38
ist alles, was du setzen musst