NEWS
Anwesenheitscontrol basierend auf TR64 Adapter - Script
-
Geht jetzt, Skript gelöscht und neu angelegt….....
-
Hi Sigi,
bin jetzt erst zurück gekommen wie gesagt ich konnte es mir auch nicht anderst erklären.
Manchmal ist es schon komisch.
Grüße Steffen
-
Ok, auch hier mein erfolgloser Versuch die Tabelle darzustellen.
Datenpunkt ist da, JSON ist vorhanden und aktuell.
@looxer01 Wie wird die Tabelle im VIS Formatiert damit sie so erscheint.
Ich kriege das einfach nicht hin.
-
Hallo, geht bei mir, das untere ist was eigens von mir erstellt.
-
Ach so,
du hast das zweite Script mit der HTML Tabelle.
Ok, ich dachte eben auch an die Verwendung der JSON Tabelle. Das muss doch irgendwie gehen.
-
Rolle von Objekten muss TABLE sein.
-
Das stimmt schon.
Aber du hast nicht die JSON Tabelle aus dem ersten Script sondern die HTML Tabelle aus dem zweiten Script in Verwendung.
Du nutzt ja auch das HTML Widget.
Das erste Script erzeugt eine JSON Tabelle und kein HTML.
-
Das zweite Script (von mir) erzeugt beides… Du kannst also auf das JSON und/oder HTML zugreifen. Sind zwei separate Datenpunkte.
-
hi,
funktioniert soweit super das Script.
Habe hier aber noch ein Fehler drin, kann mir einer sagen wo ich was abändern muss um den Fehler weg zu bekommen?
Vielen dank schon mal
-
Das zweite Script (von mir) erzeugt beides… Du kannst also auf das JSON und/oder HTML zugreifen. Sind zwei separate Datenpunkte. `
Danke dafür. Das werde ich wohl dann verwenden.
Aber ich verstehe immer noch nicht wie dieses beknackte JSON Widget funktioniert.
Werde halt weiterhin alle JSON zerlegen.
-
@bishop, das ist kein Fehler, sondern eine "Warnung". Die soll wohl dafür sogren, dass man keine Zeitkritischen Schleifen in eine Funktion packt. In dem Fall sollte man das vernachlässigen können. Wenn man ganz viel langeweile hat, kann man natürlich das komplette Script noch mal von 0 programmieren. Für mich war das so okay. Solange man keine hunderte WLAN Geräte abfragt, wird das auch kaum messbar sein.
-
funktioniert soweit bis auf einen kleine Fehler, dass liegt aber an dem Handys denke ich mal wenn sie in den Standby gehen.
Obwohl ich und meine Frau zu Hause sind wird teilweise ein gehen und kommen geloggt.
Liegt das an dem Wlan standby?
Kann man da etwas machen?
gruß
Bishop
-
Ich habe auch das Problem, dass sich eines unserer Handys immer mal abmeldet aber dann spätestens eine Minute danach wieder anmeldet. Wenn das das einzige Handy im Haus ist, dann schaltet das ganze System natürlich immer zwischen Niemand-Da und Jemand-Da hin und her. Das wiederum triggert die Heizungssteuerung unnötig.
Vlt kann Looxer oder NightWatcher mal schauen, ob man sowas wie ein 2 Minuten Delay einbauen kann. Also Wenn ein Gerät auf abwesend, dann erst mal 2 Minutenrelaxen, und wenn es dann immer noch abwesend ist, handeln.
Gruß
-
> Vlt kann Looxer oder NightWatcher mal schauen, ob man sowas wie ein 2 Minuten Delay einbauen kann. Also Wenn ein Gerät auf abwesend, dann erst mal 2 Minutenrelaxen, und wenn es dann immer noch abwesend ist, handeln.
Gab es mittlerweile eine Lösung hierzu, sprich Einbau eines 2 Min Delays oder ähnlich?
-
@bishop, das ist kein Fehler, sondern eine "Warnung". Die soll wohl dafür sogren, dass man keine Zeitkritischen Schleifen in eine Funktion packt. In dem Fall sollte man das vernachlässigen können. Wenn man ganz viel langeweile hat, kann man natürlich das komplette Script noch mal von 0 programmieren. Für mich war das so okay. Solange man keine hunderte WLAN Geräte abfragt, wird das auch kaum messbar sein. `
@NightWatcher: Die Warnung bedeutet etwas anderes. Sie sagt aus das man in einer Schleife keine Function deklarieren soll. Ich kenne mich mit JavaScrip zwar nicht wirklich aus aber meiner Meinung nach ist das fett markierte eine Function Expression, um das ganze korrekt zu machen müsste man die vor der Schleife deklarieren und in der Schleife nur noch aufrufen? Ich komm da nochmal drauf zurück da ich gerade versuche mir JS beizubringen und daran bin ich gescheitert.
for (var key in User){
on({id: StateTR064Device + key, valNe: 0 }, ****function(obj) {
if (obj.state.ack) {
anwesenheit('UserKommtGeht',obj.id.split(".").pop(-1));
}
}****);
}
-
warum soll man da am adapter handeln ?
das behebt / beachtet man doch dann in seiner eigenen anwendung :mrgreen:
( und dann sind da noch die 2-3 anderen adapter die man ggf alle miteinander kombinieren kann )
-
Hi,
da der neue TR-064-Community-Adapter (Forum, Github) bei mir bislang sehr gut mit iOS-Geräten funktioniert, habe ich nun das Script von @looxer01 , und erweitert durch @NightWatcher, verbessert und erweitert. Vielen Dank Euch Beiden!
Hier das Script auf Github: presence-script-for-tr-064-community-adapter
Auszug aus Change Log:
- Diverse Verbesserungen: Sourcecode, Logging, States neu gegliedert, besserer Scriptstart, Bereinigung, Abfangen von Fehlern, usw.
- Neue Option FIX_ERROR für FritzBox und iOS (iPhone etc.): Wenn ein Gerät nicht mehr im WLAN ist, wird manchmal nach wenigen Sekunden auf "nicht anwesend" im Adapter gesetzt, dann ca. 15 Sekunden später wieder auf "anwesend", dann ca. 5-10 Minuten später dauerhaft auf "abwesend". Um dieses Verhalten zu umgehen, wird hier eine Verzögerung eingebaut, um z.B. nach 30 Sekunden zu prüfen, ob lt. Adapter tatsächlich abwesend, und erst dann die Abwesenheit aktiviert. (siehe Github Issue)
Viel Spaß damit.
-
Super, Danke funktioniert einwandfrei.........
Könnte man beim DP List of present persons: ein Komma einfügen?
Also: Name,Name,Name, -
@sigi234
Vielen Dank für Dein Feedback und Deinen TestKlar, hatte ich vom ursprünglichen Code so übernommen und fiel mir auch schon auf, dass da ein Trennzeichen fehlt. Werde ich einbauen.
-
@Mic sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:
@sigi234
Vielen Dank für Dein Feedback und Deinen TestKlar, hatte ich vom ursprünglichen Code so übernommen und fiel mir auch schon auf, dass da ein Trennzeichen fehlt. Werde ich einbauen.
Bitte sehr, ein langer Wunsch von mir wäre ein DP pro Person wie lange sie An/Abwesend war?