NEWS
Unifi WLAN Script
-
@dslraser So, hier dann nochmal dein Skript in einer abgespeckten Version.
Du kannst von jedem WLAN den Status abfragen. Du gibst der FunktionsetWifi(WiFi_id)
die Wifi-Id als Parameter mit.Mir ist noch mehr aufgefallen, was man verbessern könnte:
Du benutzt Momentan 6 States allein für An/Aus/Status.
Die drei Funktionen könntest du in einem einzigen Datenpunkt machen.@liv-in-sky Voucher erstellen sollte mit der API funktionieren. Zumindest ist es in dem von dir verlinkten Skript im anderen Thread eingebaut.
-
Und wer mutig ist und was testen möchte kann mal das Skript ausprobieren.
Ist nun noch kleiner.
Datenpunkte werden nun Variabel hinzugefügt.
Es gibt nur noch ein Datenpunkt pro WLAN! Setzen auf false schaltet es aus, auf true schaltet es an. Außerdem wird der Datenpunkt alle 15 Sekunden mit dem aktuellen Status geupdated. -
@thewhobox
Danke Dir für die Mühe. Ich habe mir die andere Variante für später abgespeichert.
Ich hatte mir bewußt mehrer Datenpunkte als Button gemacht, da ich die in einer Routine in der Alexa App besser/individueller verarbeiten kann. (Alexa, schalte Gastnetz an---oder eben was man sagen will, dann muss ich mich nicht an den SmartNamen für den iot Adapter halten, wenn ich was an oder ausschalten will). Aber wie ganz oben geschrieben geht das ja auch mit Schaltern und weniger Datenpunkten.Jetzt habe ich es mir noch mal anders überlegt und es noch mal für mich umstrukturiert und es erstmal bei einem WLAN (Gäste) im Script belassen.
@liv-in-sky und @thewhobox
Ich habe jetzt alles auf javascript.0 und mal alle Codeschnipsel von @liv-in-sky bei mir eingebaut.
Die Voucher im Datenpunkt Liste werden geholt, auch die Anzahl (bei mir 9 ) stimmtWas ich bis jetzt nicht hinbekomme sind die "Einzel-Codes", wie oben von Dir @liv-in-sky gezeigt. Könntet Ihr @thewhobox und @liv-in-sky mal drüber schauen wo der Fehler ist ?
-
@thewhobox sagte in Unifi WLAN Script:
Und wer mutig ist und was testen möchte kann mal das Skript ausprobieren.
Ist nun noch kleiner.
Datenpunkte werden nun Variabel hinzugefügt.
Es gibt nur noch ein Datenpunkt pro WLAN! Setzen auf false schaltet es aus, auf true schaltet es an. Außerdem wird der Datenpunkt alle 15 Sekunden mit dem aktuellen Status geupdated.Ah, jetzt hast Du natürlich noch eine interessante Variante
-
ich habe es mal ausprobiert. Ich habe nur die ID's eingetragen, oder muß noch mehr gemacht werden ?
Datenpunkte werden angelegt, aber nicht befüllt. -
wenn ich in der kurzen Variante den erstellten State einsetze (bei getClients), werden die Daten abgeholt
setState("javascript.0.Unifi.Unifi_Wifi.00_Anzahl_Geraete", resp.data.length);
setState("javascript.0.Unifi.Unifi_Wifi.00_Wifi_Geraeteliste", clientListe.concat(clientListe + "</table>"));
Also stimmt wahrscheinlich beim zusammensetzen noch was nicht, also hier
setState(dpPrefix + "00_Anzahl_Geraete", resp.data.length);
und hier
setState(dpPrefix + "00_Geraeteliste", clientListe.concat(clientListe + "</table>"));
-
@thewhobox sagte in Unifi WLAN Script:
Und wer mutig ist und was testen möchte kann mal das Skript ausprobieren.
Ist nun noch kleiner.
Datenpunkte werden nun Variabel hinzugefügt.
Es gibt nur noch ein Datenpunkt pro WLAN! Setzen auf false schaltet es aus, auf true schaltet es an. Außerdem wird der Datenpunkt alle 15 Sekunden mit dem aktuellen Status geupdated.So funktioniert bei mir das abholen der Client Liste und Anzahl mit der kurzen Variante. Wifi Status und schalten noch nicht.
-
moin - wollte gerade das voucher und iqontrol hinzufügen - leider jetzt wird es etwas unübersichtlich für mich - daher ein vorschlag
@thewhobox hast du die "muse" und würdest diese beiden "features auch dazu fügen - nicht weil ich es nicht machen will, sondern weil du es prof. machen würdest
falls ja hier die zusätze:
für die vouchersache:
datenpunkte:
und datenpunkte für anzahl clients,vouchers
getVoucher funktion
dann noch iqontrol - kann durch variable iqontrol dazugeschalten werden
definitionen:
ich habe die die erstellung der tabelle geändert
in getclients()
und vouchers:
um das unnötige schreiben auf die festplate zu verhindern gehört noch folgendes in die getclient() funktion
-
@dslraser
hast du schon mal ausprobieren könne, ob du in der clients-tabelle erkennst, an welchen netzwerk die clients verbunden sind - wegen der lan sache ? -
@liv-in-sky sagte in Unifi WLAN Script:
@dslraser
hast du schon mal ausprobieren könne, ob du in der clients-tabelle erkennst, an welchen netzwerk die clients verbunden sind - wegen der lan sache ?Das habe ich gestern Abend/Nacht leider nicht mehr geschafft.
Und wie gesagt, am WE bin ich leider auch nicht zu Hause, vielleicht ist nachher noch etwas Zeit. -
nur kein stress
ich bin soweit ganz happy mit dem script - die iqontrol-sache funktioniert auch (hab noch hinzugefügt, dass nur bei änderungen in das file geschrieben wird und nicht alle paar sekunden)
das einzige , was noch interessant wäre: datenpunkte der einzelnen clients (wie beim ping adapter) um auf anwesenheit zu prüfen - datenpunkte anlegen und beschreiben sollte kein thema sein - aber das verwalten (bzw. löschen dieser datenpunkte könnte aufwendig werden
bei den voucher sachen könnte man anstatt nur datenpunkte mit code zu haben jeweils einen ordner für jedes voucher machen und darunter die zusätzlichen infos anzeigen (expi, angelegt, duration)
mal schauen, ob noch was sachen adpter passiert
-
die codes des voucher haben jetzt auch unter-punkte - dazu datenpunkte erstellen und die funktion getVoucher():
schaut so aus:
-
@liv-in-sky
sieht gut aus -
@liv-in-sky
poste mal bitte noch mal Dein aktuelles
Script komplett (den obersten Benutzerteil kannst Du weg lassen) -
mach ich gerne - aber es sind noch keine änderungen von thehowbox und auch deine änderungen mit 2 netzwerken vorhanden
dauert noch ein wenig - mache gerade die anwesenheitsliste als daten punkte dazu
-
@liv-in-sky Du benutzt einen State als Channel?
Hab ich so auch noch nie gesehen -
@thewhobox hab ich irgendwo mal gesehen - denkst du, das macht ärger ? habe glaube auch ein script, das so funktioniert
-
@thewhobox noch ne frage
versuche gerade datenpunkte anzulegen wie im ping adapter - läuft auch bis auf den wert für ist connected - weißt du zufällig wie der heißt oder welchen ich da hernehmen könnte
-
@liv-in-sky Ich sag ja nicht, dass es nicht funktioniert^^
Es ist einfach ungewöhnlich, da dafür ja channels da sind.
Weiß nicht ob das ärger macht.Ich weiß gerade nicht von welchem Datenpunkt du genau sprichts.
Hab den Ping-Adapter nicht.
Den unterinfo.connected
? -
ach ja - ich pflege diese änderungen alle oben in den post ein
nur falls du das mal einbauen willst