NEWS
Unifi WLAN Script 2 mit Anwesenheitskontrolle
-
/ 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
-
also reicht der Adapter völlig aus? Gibt es ein paar nette Unifi Vorlagen für die Vis die man als Anregung nutzen kann?
-
ich habe nur das gemacht - https://forum.iobroker.net/topic/34491/htmltabelle-unificlients-newadapter
aber evtl findest du im forum mehr - @dslraser hat noch irgendwo eine anwesenheitskontrolle - aber mehr weiß ich leider nicht
-
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
ich habe nur das gemacht - https://forum.iobroker.net/topic/34491/htmltabelle-unificlients-newadapter
aber evtl findest du im forum mehr - @dslraser hat noch irgendwo eine anwesenheitskontrolle - aber mehr weiß ich leider nicht
Ich habe keine VIS, da meinst Du vielleicht Jemand anderes ?
-
@dslraser hast du nicht ein blockly gemacht - ohne vis
-
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@dslraser hast du nicht ein blockly gemacht - ohne vis
achso, das habe ich gemacht, ja, aber ich nutze es selbst nicht mehr. Ich habe Google shared locations in der Version von @Garfonso
-
Hi,
ich wollte ein einfaches Anwesenheitsscript, wollte es kopieren wie es "Liv-in-sky" beschrieben hat in:
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
verwenden. Aber ich bekomme immerwieder Scriptfehler.
13:23:32.119 info javascript.0 (17210) Stop script script.js.Skript_1 13:23:32.176 info javascript.0 (17210) Start javascript script.js.Skript_1 13:23:32.183 error javascript.0 (17210) script.js.Skript_1: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../request-promise-native' 13:23:32.184 error javascript.0 (17210) at script.js.Skript_1:167:17 13:23:32.185 error javascript.0 (17210) at script.js.Skript_1:3232:3 13:23:32.191 info javascript.0 (17210) script.js.Skript_1: registered 0 subscriptions and 0 schedules 13:23:32.192 error javascript.0 (17210) script.js.Skript_1: TypeError: Cannot read property 'defaults' of undefined 13:23:32.192 error javascript.0 (17210) at script.js.Skript_1:167:50 13:23:32.193 error javascript.0 (17210) at script.js.Skript_1:3232:3
Teilweise wird new Date().getTime() angemeckert.
Nach bestem Gewissen habe ich meine Einstellungen oben angepasst, diese sollten aber egal sein da es beim übersetzen ja schon Probleme gibt.
Kann das Script zu alt sein, für das aktuelle ioBroker? -
@sectorchan sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
/request-promise-native
request-promise-native
ist das in den settings der javascript instanz eingetragen
-
@sectorchan sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
Teilweise wird new Date().getTime() angemeckert.
unwichtig
-
Bin durch Baby und Weihnachten nicht früher dazugekommen.
Habe nun das in die Setting eingetragen
Aber der Fehler kommt nach wievor.
-
@sectorchan Schau mal:
....-nativ (Bild1)
...-native (Bild 2) -
@chaot Zu dumm für Copy&Paste... Vielen lieben Dank!
Dumme Frage, ich habe die NPM anhängigkeiten dabei, alle drei, jedoch kommen immer wieder neue Errors. sind die nicht weiter schlimm wenn man nur an der Anwesenheit interessiert ist?
11:05:51.420 error javascript.0 (6492) script.js.Skript_1: TypeError: Cannot read property 'enabled' of undefined
11:05:51.421 error javascript.0 (6492) at script.js.Skript_1:785:33und bei der Zeiole 785 steht:
let wlanOn = resp.data[0].enabled;
-
zu diesem script:
das supporte ich eigentlich nicht mehr, da wir mittlerweile einen funktionierenden adapter haben - dmls gab es keinen adapter dafür
mittlerweile kannst du über dem adapter und kleinen blockly's (gibt es von @dslraser) auch alles mögliche machen
das script brauchst du eigentlich nicht ! läuft bei mir auch nicht mehr