Ich habe ein paar Blöcke gelöscht und diverse Variablen- und Listennamen angepasst und jetzt funktioniert es!
Ich verstehe zwar noch nicht genau wieso es funktioniert, aber das bekomme ich vll. auch noch hin.
Tausend Dank!!
Ich habe ein paar Blöcke gelöscht und diverse Variablen- und Listennamen angepasst und jetzt funktioniert es!
Ich verstehe zwar noch nicht genau wieso es funktioniert, aber das bekomme ich vll. auch noch hin.
Tausend Dank!!
@liv-in-sky said in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
stoppe bitte jetztiges script
lösche alle datenpunkt-ordner -> WLANUnifi und WLANUniifiHelperzeuge und kopiere neues script und ersetze den oberen teil mit deinem settings
im neuen script : schreibe deine namen der clients, welche beobachtet werden sollen in "checkConnType" im setting-bereich - meine inhalte kannst du überschreiben
die wlan's können immer noch ab- und angeschalten werden
wenn ein client vom netz geht, wird 999999 in den datenpunkt geschrieben
die uap werte sind in millisekunden und sind schon berechnet im bezug zur jetztzeit !
die datenpunkte sind unter
Alles umgesetzt und es funktioniert. Hammer, mit allem habe ich gerechnet, aber nicht mit einer "Sonderversion".
Die perfekte Lösung für mich; der Unifi Adapter fliegt heute Abend noch raus und die neuen Datenpunkte werden in meine Anwesenheitskontrolle eingebaut.
Danke, danke, danke!!!
@liv-in-sky said in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
stoppe bitte jetztiges script
lösche alle datenpunkt-ordner -> WLANUnifi und WLANUniifiHelperzeuge und kopiere neues script und ersetze den oberen teil mit deinem settings
im neuen script : schreibe deine namen der clients, welche beobachtet werden sollen in "checkConnType" im setting-bereich - meine inhalte kannst du überschreiben
die wlan's können immer noch ab- und angeschalten werden
wenn ein client vom netz geht, wird 999999 in den datenpunkt geschrieben
die uap werte sind in millisekunden und sind schon berechnet im bezug zur jetztzeit !
die datenpunkte sind unter
Alles umgesetzt und es funktioniert. Hammer, mit allem habe ich gerechnet, aber nicht mit einer "Sonderversion".
Die perfekte Lösung für mich; der Unifi Adapter fliegt heute Abend noch raus und die neuen Datenpunkte werden in meine Anwesenheitskontrolle eingebaut.
Danke, danke, danke!!!
@liv-in-sky said in Unifi WLAN Script 2 mit Anwesenheitskontrolle:
du brauchst wahrscheinlich die datenpunkte mit den uap zeiten
Genau so ist es.
- welches format - im moment sind es ja die linux/java zeiten - die benötigst du eh um dass mit der jetzt-zeit zu vergleichen - also lasse ich mal das format
Richtig, genau so verwende ich sie heute auch.
- du willst wahrscheinlich nur bestimmte - d.h. ich muss ein array abfragen, ob die da drin stehen und nur für diese datenpunkte anlegen - d.h. du mußt die namen der gewünschten geräte im setting eingeben - werden ja eh nicht viel - ich überleg mal>
Sind aktuell 4 Stück; momentan über mac-Adresse selektiert, aber anhand der Name so wie sie in dem Datenpunkt stehen ist das auch perfekt.
braucht ein wenig - vielleicht heute aber eher morgen
Ich hatte jetzt nicht erwartet, dass du extra was baust. Vielen, vielen Dank!
Das json habe ich. Jetzt stehe ich nur vor dem Problem aus diesem die relevanten Informationen zu extrahieren um sie in meine Anwesenheitsprüfung einzubauen.
Wie schon gesagt, ich bin leider ziemlich unfähig was Javascript angeht. Wenn Du das was dazu hast wäre es toll, ansonsten suche ich einfach ein wenig oder mache einen separaten Thead auf.
Danke, das war es! Geduld ist ein Tugend - zur Zeit noch viel mehr als sonst.
Vielen Dank für das Skript und die prompte Hilfe!
Ich habe das Skript installiert und die notwendigen Anpassungen vorgenommen. Es läuft auch ohne Fehler und erstellt einige Datenpunkte, allerdings wird unter "Others" keiner angelegt.
Ideen?
Hallo zusammen,
ich nutze aktuell den Unifi Adapter um die Anwesenheit von Clients zu überwachen und das funktioniert auch einwandfrei. Allerdings erzeugt auch mir der Adapter zu viele unnötige Datenpunkte.
Nachdem ich auf diesen Thread gestossen bin, war ich beim Lesen der Überschrift sofort happy. Leider ist auch dieses Skript viel zu viel für mich...
Ich benötige lediglich das Äquivalent zu den Datenpunkten "unifi.0.default.clients.xx:xx:xx:xx:xx:xx._last_seen_by_uap" des Unifi Adapters für eine Handvoll fest definierter Clients. Keine Vouchers, keine WLAN Steuerung, keine Visualisierung etc. pp.
Leider habe ich überhaupt keine Chance die entsprechende Abfrage aus dem vorliegenden Skript zu extrahieren. Meine Javascript-Fähigkeiten beschränken sich auf das Zusammenkopieren EINFACHER, vorhandener Skripte.
Beim querlesen des Threads habe ich leider auch keine entsprechenden Hinweise gefunden, wobei das bei der Anzahl Postings auch durchgerutscht sein kann.
Kann mir jemand weiterhelfen?
Vielen Dank
asman
@Yodameister said in Licht schalten nach Lichtmessung:
ABER ..... hier ist mir aufgefallen das der Befehl kontinuierlich durchgeführt wird
Wie kann ich es realisieren das der Steuerbefehl nur einmal gesendet wird ?
Ich mache im Prinzip das gleiche für die Steuerung eines Nachtlichts und prüfe nicht nur ob es dunkel genug ist, sondern auch ob der Wert zuvor über dem Schwellwert lag.
Auch wenn sich die Helligkeit ändert, wird der Schaltbefehl nicht wiederholt gesendet.
@paul53 said in Alias zeigt viele Nachkommastellen unter Objekte:
@asman-hm sagte in Alias zeigt viele Nachkommastellen unter Objekte:
"read": "Math.round(val * 10) / 10", "write": false, "alias": { "id": "hm-rpc.1.QEQ1564195.1.TEMPERATURE" },
Nicht common.read ändern, sondern common.alias.read ergänzen:
"read": true, "write": false, "alias": { "id": "hm-rpc.1.QEQ1564195.1.TEMPERATURE", "read": "Math.round(val * 10) / 10" },
Kaum macht man es richtig, schon klappt es.
Danke!
@paul53 said in Alias zeigt viele Nachkommastellen unter Objekte:
Z.B. auf 1 Nachkommastelle
"read": "Math.round(val * 10) / 10"
Vielen Dank für die schnelle Antwort.
Wahrscheinlich mache ich es falsch, aber ich bekomme immer noch x-Nachkommastellen. Habe nach den Änderungen iobroker auch schon neu gestartet.
Der Wert "Luft" in dem Screenshot wird manchmal mit einer Nachkommastelle und manchmal mit x-Nachkommestellen angezeigt, obwohl ich nichts ändere.
So sehen die Experteneinstellungen des ALIAS aus:
{
"from": "system.adapter.javascript.0",
"user": "system.user.admin",
"ts": 1581787469005,
"common": {
"name": "Garten.Pool.Wasser:1.TEMPERATURE",
"type": "number",
"unit": "°C",
"role": "value.temperature",
"def": 0,
"min": -150,
"max": 150,
"read": "Math.round(val * 10) / 10",
"write": false,
"alias": {
"id": "hm-rpc.1.QEQ1564195.1.TEMPERATURE"
},
"custom": {
"sql.0": {
"enabled": true,
"changesOnly": true,
"debounce": "1000",
"retention": 0,
"changesRelogInterval": 0,
"changesMinDelta": 0.1,
"storageType": "Number",
"aliasId": ""
}
}
},
"native": {},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
},
"_id": "alias.0.Temperatur.29Pool.Wasser",
"type": "state"
}
Nicht lachen, wenn ich das an der falschen Stelle eingetragen habe.
@paul53 said in Alias zeigt viele Nachkommastellen unter Objekte:
Fazit: Im Alias eines Zahlenwertes können zusätzliche Nachkommastellen auftreten, was man durch Runden per common.alias.read rückgängig machen kann. In der History-Aufzeichnung und in Javascript wirkt das Runden sofort, im Reiter "Objekte" erst nach ioBroker-Neustart.
Wie kann ich denn durch "common.alias.read" Runden?
Ich habe einen Alias auf einen Temperatursensor mittels deines Skriptes angelegt; erhalte aber wie hier beschrieben sehr viele Nachkommastellen.
Leider verstehe ich nicht, wie ich das Runden jetzt bewerkstellige. Muss ich da in deinem Skript etwas anpassen, oder im Nachhinein den Alias verändern?