NEWS
Unifi WLAN Script 2 mit Anwesenheitskontrolle
Unifi WLAN Script 2 mit Anwesenheitskontrolle
-
hier ein script für das ansteuern des unifi-controllers - der unifi adapter hat einen sehr großen datenfluß und sehr viele datenpunkte - das script arbeitet selbständig und benötigt den adapter nicht. (danke an @thewhobox und @dslraser)
es gibt eine version des scriptes, welche nur die uaps von vorher definierten clients ausliest und als datenpunkte speichert - es werden keine tabellen oder sonstiges angelegt: https://forum.iobroker.net/post/405654
was kann es:
feature variable-info WLAN ein und ausschalten (z.b. Gäste-WLAN) geht immer AP Led's schalten geht immer- nur site-wide - nicht einzeln!e ap's Speedtest Daten nur mit security gateway hardware Internet Verbindung www online ? - nur mit security gateway hardware rudimentärer datenverbrauch nur mit unifi security hardware - sammelt täglichen und monatlichen datenverbrauch Alarme gehen immer - werden alle 3 script-zyklen upgedatet anwesenheitskontrolle mit datenpunkte für die clients anwesenheit=true voucherauflistung in tabellenform über ein html-widget für vis vouchers=true voucherauflistung in tabellenform für iqontrol vouchers,iqontrol=true vouchers erstellen es gibt im script setting eine variable zum erstellen von standard vouchers (iqontrol, vis) oder man kann neue anlegen (nur vis) vouchers löschen es gibt 2 datenpunkte für seleqtList-Widget, dadurch einfache vis anbindung (iqontrol, vis) clientauflistung in tabellenform über ein html-widget für vis anwesenheit=true clientauflistung in tabellenform für iqontrol anwesenheit,iqontrol=true es gibt verschiedene tabellen dafür: alle clients (mit disconnected), nur disconnected, nur clients am lan, nur clients am WLAN wahlweise hostname oder aliasname anzeige der angemeldeten clients alias=true health des WLANs geht immer - wird nur alle 3 abfragezyklen abgefragt - kommen daher erst verspätet beim ersten aktivieren des scripts minimale Info's zu AP's variable apInfo = true - welcher Controller ist zuständig, ist der AP adoptet (einbezogen), Ip des AP's, Satisfaction, Modelbezeichnung, abruf der daten nur alle 3 zyklen - kommen daher erst verspätet beim ersten aktivieren des scripts apInfo anzeige für vis in html tabellenform und für iqontrol (über popup) mehrer installierte netzwerke z.b gästenetzwerk geht immer AccessPoint und Switches es können WLAN und LAN Geräte angezeigt werden Farben definieren, Schriftart Farben für Vis oder IQontrol können eingestellt werden script zyklus das script schreibt nicht alle daten bei jedem zyklus - die health, ap daten werden nur alle 3 zyklen geschrieben - es gibt einen datenpunkt dafür, dieser datenpunkt ist für die vis gedacht - so kann man sich anzeigen, wann der zyklus durch ist - zählt von 1 bis 3 scriptpause das script macht eine pause beim umschalten eines netzwerkes - die ap's werden umgeschaltet - es gibt einen datenpunkt, der diese pause anzeigt - z.b in meiner vis: ich ändere bei dieser pause die schriftfarbe für die cleints und die rahmen blinke rot - siehe bild am ende rudimentärer filter für client anzeige es gibt einen filter für die clientanzeige - es werden nur clientsangezeigt, welche den inhalt vom datenpunkt "Client_WhiteList" beinhalten SSID unsichtbar schalten einfache integration - die werte können vom zustand in der unifi datenbank abweichen - wird nicht abgefragt was ist wichtig :
einstellungen im oberen teil des scripts info npm zusatzmodule es müssen 3 npm zusatzmodule in der javascript instanz eingetragen - und dadurch installiert - werden: fs, request, request-promise-native login daten und port für controller und der site-name const unifi_username, unifi_passwort und unifi_controller WICHTIG:der sitename muss aus der URL im browser, bei aufruf der controller-web-seite, entnommen werden !!!https://forum.iobroker.net/post/323789konstante wlan-name(n) mit wlan-id const wifis - wie man die ID des netzwerkes rausfindet steht hier: https://forum.iobroker.net/post/295086 konstante ap-alias const apName - der Aliasnamen für die AP's und Switches- hat nichts mit den Aliasnamen im Controller zu tun - wird nur für das script gebraucht - können frei gewählt werden blacklist für clients const blackList clients via AP's kontrolle const checkConnType - darin werden clientnamen angegeben, bei denen man den aktuellen AccessPoint braucht - es werden dafür eigene Datenpunkte angelegt länge der pause beim umschalten eines netzwerkes clientPauseConst - ist für die länge der scriptpause verantwortlich - wird benötigt, da beim ein oder ausschalten eines netzwerkes (auch nur das gästenetzwerk) alle ap's einen neustart machen ( proviosioniert) und dadurch die anwesenheitskontrolle beeinflußt werden könnte. z.b brauchen tasmota-geflashte clients lange, bis sie wieder online sind - die anwesenheitskontrolle könnte auch zur überwachung solcher geräte genutzt werden abfrageinterval: "abfragezyklus" und "abfrageoffset" abfragezyklus definiert, in welchen interval die abfragen stattfinden sollen (20sek ist eingestellt) - damit erreicht man eine sehr schnelle aktualisierung beim anmelden eines clients im WLAN - beim abmelden des clients muss der abfrageoffset mit berücksichtigt werden (15 sek ist eingestellt) - wählt man den abfrageoffset zu klein, kann es sein, dass bei einem wechsel eines clients (handy) zu einem anderen accesspoint (ap) eine auslogmeldung kommt - bei meinem system bekomme ich nach ungefähr 30 sek einen anmeldevorgang gemeldet und nach ca 45-50 sek einen abmeldevorgang gewünschte features auf true setzen iqontrol, anwesenheit,vouchers,apInfo - was nicht benötigt wird, bitte nicht aktivieren -> resourcen sparen - der iqontroladapter muss installiert sein, wenn man iqontrol im script auf true setzt aliasnamen für clients aliasname - möchte man lieber, die im unifi-controller definierten aliasnamen für die clients nutzen, muß in jedem client im controller ein alias definiert sein damit alle clients im script sichtbar werden - oder es werden nur aliase für bestimmte geräte angegeben - dann ist der rest nicht sichtbar - wichtig weil: was nicht sichtbar ist, kann nicht zur anwesenheitskontrolle genutzt werden und : der standard - aliasname=false - nimmt den aliasnamen, wenn einer existiert, ansonsten den hostnamen ip clients liste nach IP adresse sortiert anzeigen sortedByIP für die clientliste in iqontrol und vis disconnected clients als erstes anzeigen disConClientsFirst für die clintliste in iqontrol und vis farben für iqontrol und vis datenpunkte im admin es wird ein ordner in der javascript instanz erzeugt - unter umständen wird ein zweiter ordner angelegt, zum sichern "dauerhafter daten". WLANUnifi kann gelöscht werden (z.b. bei einem update des scripts; WLANUnifiHelp sollte nicht gelöscht werden, darin sind Daten gespeichert, die wieder gebraucht werden (z.b datenverbrauch messung) iqontrol
kann über ein popup eingebunden werden. im feld html eintragen: mögliche files, die zur verfügung stehen:für clients:
<iframe width="100% "height="100% "frameborder="0" src="/iqontrol.meta/htmlclients.html"></iframefür vouchers:
<iframe width="100% "height="100% "frameborder="0" src="/iqontrol.meta/htmlvoucher.html"></iframefür health und /oder apInfo
<iframe width="100% "height="100% "frameborder="0" src="/iqontrol.meta/htmlinfo.html"></iframezusätzlich : nur LAN geräte : htmllan.html ; nur WLAN geräte: htmlwlan.html ; nur disconnected geräte: htmldisc.html ;
voucher erstellung:
- unter dem datenpunkt Wifi_Vouchers-CODES.A_New_Voucher kann ein voucher angelegt werden - die anzahl, dauer und multiuse müssen eingegeben werden - alle anderen sind optional
oder es gibt datenpunkte zum erstellen einer valueliste, um vorgefertigte (standard) vouchers anzulegen (selectValuelist-widget)
werte zusatz die dauer in minuten z.b. 120 die anzahl der vouchers wie viele davon sollen angelegt werden multiuse 0=immer wieder ;1 ist nur einmal und jede andere zahl für n-mal also 5 für 5 mal upload und download speed begrenzung in kbyte - eingabe ohne einheiten mb_begrenzung volumen begrenzung in MByte - eingabe ohne einheiten Voucher löschen
direkt über Datenpunkte:- zuerst ID des vouchers eintragen :"WLANUnifi.Wifi_Vouchers-CODES.A_Delete_Voucher.Voucher_ID"
-anschliessend "WLANUnifi.Wifi_Vouchers-CODES.A_Delete_Voucher.Delete" auf true setzen
oder über VIS:
dazu gibt es zwei datenpunkte
-WLANUnifi.Wifi_Vouchers_CodeList - "texte" mit binding in selectValueList widget eintragen
-WLANUnifi.Wifi_Vouchers_List - "werte" mit binding in selectValueList widget eintragenbeim update auf eine neue scriptversion:
- script stoppen
- script kopieren und einfügen (meist reicht es, nur unter der eigenene konfiguration zu kopieren und einzufügen - damit man nicht jedesmal die konfiguration (login, wlan) neu machen muss
- alle datenpunkte löschen (wichtig_)
- script starten
aktuelle version:
14.09.19
16.09.19
17.09.19- voucher löschen mit iqontrol
18.09.19- WLAN problem - mehr zeit bevor false bei clients
22.09.19 - einfacheres löschen und erzeugen von vouchers in der vis, unbenennung einiger datenpunktnamen (datenpunkte löschen vor scriptstart)
23.09.19- AP Led's site-wide ein- und ausschalten
27.09.19- AP LAodAVG für 1,5 und 15 Minuten
3.10.19- Alarm, Clients-ohne-Namen, LAN clients >> switch und usg integration
8.10.19- js-controllerv2 update, Eingabe mit Punkt im Alias, Leerzeichen ersetzen, Scriptlogik verbessert, zusätz. setting ohne Clients, fehlende IP abfangen, eigenes Widget "letzter wechsel im netzwerk für VIS, ...
9.10.19fehler behebung bei missingName datenpunkt, scriptpause bei wifiumschaltung geändert
10.10.19neue sotierung clients, speedtest-vorbereitung
11.10.19neue sotierung clients, speedtest und internet-verbindung
22.10.19kleine fehler bei LAN geräten bereinigt, Fehler mit "IP fehlt bereinigt, einzelne iqontrol und vis tables für anzeige von LAN,WLAN clients
30.10.19besseres log bei fehleranalyse "sprunghafte" clients (syslog); neue datenpunkte für verbrauchte datenmenge ins internet (nur mit usg)
9.11.2019verbesserung - clients ohne namen, neues setting - clients anzeige: Ip zuerst
06.12.19verbesserung fehlersuche und fehler mit security gateway und clientanzeige
08.12.19fehler bei anzeige von überwachten cients bereinigen
14.12.19unifi bug ausgleichen - SSID unsuchtbarschalten
18.12.19bug beim starten ohne datenpunkte behoben
30.12.19 bug ohne anwesenheit begradigtunifi-main-script-30-12-19.txt
Problembehandlung bei anwesenheitskontrolle mit zu schnellen bzw. falschen wertänderungen der clients:https://forum.iobroker.net/post/301328beispiel für vis im nächsten bild:es wurden die 3 tabellen aus den datenpunkten , die voucherlöschung (code auswählbar durch SelectValueList-widget siehe https://forum.iobroker.net/post/300367 ) und vouchererzeugung (auswählbar durch SelectValueList-widget)eingerichtet
gelber pfeil - gerät nicht angemeldet
oranger pfeil: gerät nicht angemeldet und nicht in controller gelistet - aber ist in script registriert und damit false
weißer pfeil: valuelist für erzeugung von vouchers
grüner pfeil: valuelist löschen existierender vouchers
roter pfeil: alarme
mehr infos über die anzeige in der vis: https://forum.iobroker.net/post/305865

mittlerweile gibt es 3 zusätzliche html-tables für die vis und iqontrol: einzelne anzeigen für LAN oder WLAN geräte und einen table für die disconnected clients (nicht mehr im controller sichtbar aber als datenpunkt vorahnden)


zyklus anzeige :

scriptpause beim umschalten der wifis: zb.wlan - in dieser pause werden keine client abfragen gemacht - da die ap's neustarten und sich alle clients neu anmelden werden

@liv-in-sky DeineView gefällt mir wirklich gut.
Kannst du eventuell die zugehörigen Bilder auch mit exportieren? Das wäre das i-Tüpfelchen.Übrigens funktioniert das Script bei mir bisher absolut Problemlos. Gerade mit den selbst erstellten Vouchers kommt das richtig gut an.
- unter dem datenpunkt Wifi_Vouchers-CODES.A_New_Voucher kann ein voucher angelegt werden - die anzahl, dauer und multiuse müssen eingegeben werden - alle anderen sind optional
-
Moin Moin,
im Log im Minutentakt diese Meldungjavascript.0 2019-10-06 09:02:11.915 warn at Timer.processTimers (timers.js:223:10) javascript.0 2019-10-06 09:02:11.915 warn at listOnTimeout (timers.js:263:5) javascript.0 2019-10-06 09:02:11.915 warn at tryOnTimeout (timers.js:300:5) javascript.0 2019-10-06 09:02:11.914 warn at ontimeout (timers.js:438:13) javascript.0 2019-10-06 09:02:11.914 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1332:29) javascript.0 2019-10-06 09:02:11.914 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.0 2019-10-06 09:02:11.914 warn You are assigning a string to the state "javascript.0.WLANUnifi.WSS_nomap" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become -
Moin Moin,
im Log im Minutentakt diese Meldungjavascript.0 2019-10-06 09:02:11.915 warn at Timer.processTimers (timers.js:223:10) javascript.0 2019-10-06 09:02:11.915 warn at listOnTimeout (timers.js:263:5) javascript.0 2019-10-06 09:02:11.915 warn at tryOnTimeout (timers.js:300:5) javascript.0 2019-10-06 09:02:11.914 warn at ontimeout (timers.js:438:13) javascript.0 2019-10-06 09:02:11.914 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1332:29) javascript.0 2019-10-06 09:02:11.914 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.0 2019-10-06 09:02:11.914 warn You are assigning a string to the state "javascript.0.WLANUnifi.WSS_nomap" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become@Nashra auch moin
die meldung macht bei mir keinen sinn, da die zeilen um 1276 um voucher löschung geht
der datenpunkt ...WLANUnifi.WSS_nomap scheint aber ein WLAN name zu sein - kannst du bitte mal ein bild des scripts um diese zeilen posten (mit sichtbaren zeilennummern)
-
@liv-in-sky DeineView gefällt mir wirklich gut.
Kannst du eventuell die zugehörigen Bilder auch mit exportieren? Das wäre das i-Tüpfelchen.Übrigens funktioniert das Script bei mir bisher absolut Problemlos. Gerade mit den selbst erstellten Vouchers kommt das richtig gut an.
-
-
@Nashra wenn du dir die zeile ansiehst, wirst du vielleicht bemerken, dass an dieser stelle kein zugriff auf einen datenpunkt stattfindet
bitte stoppe script - und schau mal ob die meldung immer noch kommt ( warte einfach mal 2-3 minuten) - anschliessend starte die javainstanz neu (oder vielleicht sogar den ganzen iobroker) - und dann starte script wieder
-
@Nashra wenn du dir die zeile ansiehst, wirst du vielleicht bemerken, dass an dieser stelle kein zugriff auf einen datenpunkt stattfindet
bitte stoppe script - und schau mal ob die meldung immer noch kommt ( warte einfach mal 2-3 minuten) - anschliessend starte die javainstanz neu (oder vielleicht sogar den ganzen iobroker) - und dann starte script wieder
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@Nashra wenn du dir die zeile ansiehst, wirst du vielleicht bemerken, dass an dieser stelle kein zugriff auf einen datenpunkt stattfindet
bitte stoppe script - und schau mal ob die meldung immer noch kommt ( warte einfach mal 2-3 minuten) - anschliessend starte die javainstanz neu (oder vielleicht sogar den ganzen iobroker) - und dann starte script wieder
Deswegen bin ich so verwundert.
Script gestoppt - neu gestartet - Fehler
javainstanz neu gestartet - Fehler
iobroker neu gestartet - Fehler
ich probiere weiter und aktiviere mal Voucher -
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@Nashra wenn du dir die zeile ansiehst, wirst du vielleicht bemerken, dass an dieser stelle kein zugriff auf einen datenpunkt stattfindet
bitte stoppe script - und schau mal ob die meldung immer noch kommt ( warte einfach mal 2-3 minuten) - anschliessend starte die javainstanz neu (oder vielleicht sogar den ganzen iobroker) - und dann starte script wieder
Deswegen bin ich so verwundert.
Script gestoppt - neu gestartet - Fehler
javainstanz neu gestartet - Fehler
iobroker neu gestartet - Fehler
ich probiere weiter und aktiviere mal Voucher@Nashra da sind wir schon 2 verwunderte !
ich teste mal ohne voucher - hab ich schon lange nicht mehr
-
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@Nashra wenn du dir die zeile ansiehst, wirst du vielleicht bemerken, dass an dieser stelle kein zugriff auf einen datenpunkt stattfindet
bitte stoppe script - und schau mal ob die meldung immer noch kommt ( warte einfach mal 2-3 minuten) - anschliessend starte die javainstanz neu (oder vielleicht sogar den ganzen iobroker) - und dann starte script wieder
Deswegen bin ich so verwundert.
Script gestoppt - neu gestartet - Fehler
javainstanz neu gestartet - Fehler
iobroker neu gestartet - Fehler
ich probiere weiter und aktiviere mal Voucher@Nashra
hab mal ohne voucher getestet - es kommen keine fehler bei mir -
@Nashra
hab mal ohne voucher getestet - es kommen keine fehler bei mir@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@Nashra
hab mal ohne voucher getestet - es kommen keine fehler bei mirHm, er schmeißt ja auch nur für das Hauptnetz den Fehler, dabei sind es ja eigentlich 3 Netze.
Seltsam an irgendwas stört er sich
Voucher mal getestet, funktioniert
Iqontrol werde ich auch mal versuchen, mal sehen ob ich das hinbekomme. -
Ach nochwas....könnte man die Liste "Letzter Wechsel im Netzwerk:" separat machen.
Bei fast 35 Clients wird die Liste ziemlich lang und wenn ich eine kleinere Schrift nehme
um alles anzuzeigen, kann man es kaum noch lesen
-
@dslraser uuuppsss - schau ich mal - habe es nochmal (2mal) getestet und neu kopiert und draufgeladen - sollte alles in ordnung sein
script-mit-neuer-sortierung.txt
dann machen wir morgen weiter
@liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
@dslraser uuuppsss - schau ich mal - habe es nochmal (2mal) getestet und neu kopiert und draufgeladen - sollte alles in ordnung sein
script-mit-neuer-sortierung.txt
dann machen wir morgen weiter
Erstmal zu gestern, sorry, das war wahrscheinlich mein Fehler. Das kommt davon "schnell" noch zwischendurch was zu probieren. Ich denke ich weiß wo die ganzen Fehler her kamen...
Ich hatte wie immer alle DP gelöscht und ein neues Script als Kopie angelegt und nur den neuen Teil ausgetauscht.
Versehentlich habe ich dann wohl beide Scripte gestarten, also alt und neu. Aber auch daraus kann man ja lernen. Dann weiß ich wenigstens was dann für Fehler kommen.
Im Moment läuft das Script. Ich werde mal bissl beobachten. -
@liv-in-sky
in iQontrol lade ich übrigens Icon bzw. Bilder in dieses Verzeichnis (per FTP). Probiere doch mal da rein zu schreiben.../opt/iobroker/iobroker-data/files/iqontrol.meta/userimages
-
@liv-in-sky
in iQontrol lade ich übrigens Icon bzw. Bilder in dieses Verzeichnis (per FTP). Probiere doch mal da rein zu schreiben.../opt/iobroker/iobroker-data/files/iqontrol.meta/userimages
@dslraser wenn du lust und zeit hast - ich habe gerade mit dem writeFile zu kämfen
kopier doch mal ein file (htmlclients.html) in diesen meta ordner - über terminal oder ftp und schau, wie du den pfad angeben musst in der kachel
was hälst du von einer getrennten "Letzter Wechsel im Netzwerk" liste - finde die idee ( @nashra ) garnicht so schlecht - etwas aufwendig, da ja auch für iqontrol wieder ein file erzeugt werden muss - abe trotzdem gute idee
-
@dslraser wenn du lust und zeit hast - ich habe gerade mit dem writeFile zu kämfen
kopier doch mal ein file (htmlclients.html) in diesen meta ordner - über terminal oder ftp und schau, wie du den pfad angeben musst in der kachel
was hälst du von einer getrennten "Letzter Wechsel im Netzwerk" liste - finde die idee ( @nashra ) garnicht so schlecht - etwas aufwendig, da ja auch für iqontrol wieder ein file erzeugt werden muss - abe trotzdem gute idee
@liv-in-sky
gut Idee. (getrennte Darstellung)Testen geht erst später, wir sind gleich wieder unterwegs.
-
@liv-in-sky hab eigentlich ja nicht viel gemacht, sind nur 2 Zeilen dazu gekommen:
createState(dpPrefix + "WLANUnifi.Wifi_Info", { name: 'Info_HTML_Table_VIS', role: 'string', read: true, write: true,}); if (health) {createState(dpPrefix + "WLANUnifi.Health.WLAN.Status", { name: 'Health_Status', desc: 'Health_Status', type: 'string', unit: '', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.Users", { name: 'Health_Users', desc: 'Health_Users', type: 'number', unit: '', min: '0', max: '1000', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.Guests", { name: 'Health_Guests', desc: 'Health_Guests', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.TXBytes", { name: 'Health_TXBytes', desc: 'Health_TXBytes', type: 'number', unit: '', min: '0', max: '9999999', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.RXBytes", { name: 'Health_RXBytes', desc: 'Health_RXBytes', type: 'number', unit: '', min: '0', max: '9999999', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.Adopted", { name: 'Health_Adopted', desc: 'Health_Adopted', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.Disabled", { name: 'Health_Disabled', desc: 'Health_Disabled', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WLAN.Disconnected", { name: 'Health_Disconnected', desc: 'Health_Disconnected', type: 'number', unit: '', min: '0', max: '100', role: '',read: true, write: true }); createState(dpPrefix + "WLANUnifi.Health.WAN.WAN_IP", {name: 'WAN_Adresse', desc: 'WAN_IP', role: 'state',read: true,write: true,type: 'string' }); }und
resph=resph.replace(/-r/g, "_r") resph = JSON.parse(resph); mylog(resph.data[0].rx_bytes_r); setState(dpPrefix + "WLANUnifi.Health.WLAN.Status",resph.data[0].status ); setState(dpPrefix + "WLANUnifi.Health.WLAN.Users",resph.data[0].num_user); setState(dpPrefix + "WLANUnifi.Health.WLAN.Guests",resph.data[0].num_guest ); setState(dpPrefix + "WLANUnifi.Health.WLAN.TXBytes",resph.data[0].tx_bytes_r ); setState(dpPrefix + "WLANUnifi.Health.WLAN.RXBytes",resph.data[0].rx_bytes_r ); setState(dpPrefix + "WLANUnifi.Health.WLAN.Adopted",resph.data[0].num_adopted ); setState(dpPrefix + "WLANUnifi.Health.WLAN.Disabled",resph.data[0].num_disabled ); setState(dpPrefix + "WLANUnifi.Health.WLAN.Disconnected",resph.data[0].num_disconnected ); setState(dpPrefix + "WLANUnifi.Health.WAN.WAN_IP",resph.data[1].wan_ip );jeweils immer die letzte Zeile
würdet ihr das bitte testen - vielleicht mach ihr euch ein neues script - könnt ihr später wieder löschen - es geht um das iqontrol-file-problem
das popup bitte so aufrufen
<iframe width="100% "height="100% "frameborder="0" src="/iqontrol.meta/htmlclientstest.html"></iframefunktioniert das ?
-
würdet ihr das bitte testen - vielleicht mach ihr euch ein neues script - könnt ihr später wieder löschen - es geht um das iqontrol-file-problem
das popup bitte so aufrufen
<iframe width="100% "height="100% "frameborder="0" src="/iqontrol.meta/htmlclientstest.html"></iframefunktioniert das ?
@liv-in-sky das hatte ich gestern Abend noch schnell probiert. Hab die HTML in das iobroker.meta Verzeichnis kopiert und dann versucht über iqontrol drauf zuzugreifen, leider ohne Erfolg
-
@liv-in-sky das hatte ich gestern Abend noch schnell probiert. Hab die HTML in das iobroker.meta Verzeichnis kopiert und dann versucht über iqontrol drauf zuzugreifen, leider ohne Erfolg
nur rein kopieren wird nicht funktionieren, da dann redis nix weiß von der datei - wenn dann nur mit test- script
ich habe das mittlerweile mit allen files umgestellt und es funktioniert mit dem alten controller - jetzt muss ich den ball leider wieder zurückspielen - entweder hat iqontrol ein problem oder der js-controllerv2 - habe es lt. anweisung von apollon77 gemacht
-
nur rein kopieren wird nicht funktionieren, da dann redis nix weiß von der datei - wenn dann nur mit test- script
ich habe das mittlerweile mit allen files umgestellt und es funktioniert mit dem alten controller - jetzt muss ich den ball leider wieder zurückspielen - entweder hat iqontrol ein problem oder der js-controllerv2 - habe es lt. anweisung von apollon77 gemacht
@liv-in-sky ah okay, na dann teste ich es Mal mit Script nachher
-
@liv-in-sky ah okay, na dann teste ich es Mal mit Script nachher
@coyote nur zu klärung:
ich mußte auf eine andere function zum schreiben eines files umstellen, damit der js-controller das ganze mitbekommt und in seine datenbank schreibt - genauso muss mann , wenn man das file liest, wieder diesen weg gehen und eine andere function nehmen
ich hatte fs.writeFile(..) -> schreibt einfach auf das filesystem (war voll assi von mir
)
jetzt: writeFile(..........function ...) sagt dem jscontroller bzw javascript instanz - es gibt ein neues object und es beinhaltet ...



