NEWS
Datenpunkte falsche Werte
-
Hallo Zusammen
Bin seit einiger Zeit am tüfteln mit dem ioBroker. Vieles konnte ich bereits einrichten und dazu lernen. auch sehr vieles dank diesem ausführlichen und Hilfreichen Forum.
Nun stehe ich allerdings vor einem Problem:
via meinem Unifi Controller rufe ich die Anwesenheit von den Smartphone meiner Frau und mir ab. mit dem Resultat füttere ich einen selbst erstellten Datenpunkt als Bool.

mit einem zweiten Blockyscript fange ich Änderung in dem Datenpunkt Anwesenheit ab. Ebenfalls prüfe ich ob die Nachtruhe aktive ist (zwischen 22:00 Uhr - 4:00 Uhr). sollten wir beide abwesend sein, soll mein mi Vacuum seinen Dienst aufnehmen. Wenn wir zuhause ankommen soll unser Sonos System uns begrüssen. Allerdings, um es nochmals zu erwähnen, nur Tagsüber!

Nun muss ich extrem genervt feststellen, dass meine Datenpunkte nicht immer stimmen. weil ich angeblich in der Nacht mehrmals mein Haus verlasse und wieder nach hause komme, jedoch jedesmal genervt in meinem Bett aufwache weil der Roboter los fährt.
Dies dürfte ja aber nur schon nicht der Fall sein wegen der definierten Nachtruhe.
Ich konnte bisher noch nicht ausfindig machen, weshalb dies nicht funktioniert. Anfangs dachte ich noch, dass nach dem Neustart (nach Backup) die Werte noch nicht korrekt gesetzt wurden. Allerdings konnte ich auch nach Debugmessage an Telegram keine Zeitliche Übereinkunft mit dem Backup feststellen.
Was denkt Ihr? habt ihr eine Idee was mein Fehler ist?
Gruss GL
-
Da wäre schonmal die erste Frage, wie schaltest du denn den DP "ruhezeit"? Wenn der "wahr" ist, dürfte es nicht weitergehen im Ablauf des Skriptes.
Und noch weiter, du fragst den Zustand der Handys jede Minute ab, da könnte es natürlich sein, dass deine Bedingung mal unwahr und mal wahr ist. Es könnte doch theoretisch sein, dass die Abfrage genau zur Aktualisierung kommt und dann wäre dein Wert =0! Oder verstehe ich das falsch?
Beschreibe doch mal bitte, wie sich der DP verhält, wenn die Handys abwesend bzw. anwesend sind, hast du da keinen DP der true/false rausgibt?
Welche Handys verwendet ihr? Android oder IOS?
Für Android kann ich dir den Radar-Adapter empfehlen, der erkennt recht zuverlässig, ob Android-Handy da sind, bei IOS bin ich mir nicht sicher.
Enrico
-
Hallo Enrico
Vielen Dank für deine Antwort. Die Ruhezeit frage ich über Zeitfunktionen ab. siehe Print Screen .

Wir benutzten beide Androids. Radar Adapter werde ich mir ansehen.
Bei Abwesenheit ist der Status anwesend False…
wolltest du das wissen?
Gruss GL
-
Radar versteh ich nich… Habe die Daten meines Handy angegeben. in den Objekten habe ich auf Experte gewechselt um die DP zu finden. aber die sind immer true obwohl mein Handy nicht verbunden ist. Auch verstehe ich nicht, dass jedesmal wenn ich die Instanz öffne keine Angaben mehr vorhanden sind obwohl ich diese zuvor gespeichert hatte,
-
Hast du die neuen Geräte auch mit dem kleinen + unten links angelegt? Das ist etwas verwirrend in der Einrichtung, jedenfalls in der 1.1.3.
Enrico
-
Hallo Enrico
Vielen Dank für deine Antwort. Die Ruhezeit frage ich über Zeitfunktionen ab. siehe Print Screen .
scr_iobroker_ruhezeit.PNG
Wir benutzten beide Androids. Radar Adapter werde ich mir ansehen.
Bei Abwesenheit ist der Status anwesend False…
wolltest du das wissen?
Gruss GL `
Dein Blockly macht glaub ich nicht das, was du erreichen willst. Nehmen wir mal an es ist 3:00 Uhr nachts. Dann wird beim ersten falls der DP auf "true" geschaltet, ist ja kleiner als 4:00 Uhr. Dann beim zweiten falls ist 3:00 Uhr ja kleiner als 22:00 Uhr, also wird auf "false" geschaltet! Dabei gehe ich davon aus, dass beide "ruhezeit"-Objekte das gleiche sind.
Warum schaltest du nicht direkt mit dem schedule-Block um 22:00 Uhr auf "true" und um 4:00 Uhr wieder auf "false"?
Damit hast du schonmal eine sichere Funktion, wenn alles läuft. Zur Sicherheit kannst du dann später noch was einbauen, dass dafür sorgt, dass der DP auch geschaltet wird, wenn das Skript mal nicht läuft und innerhalb der Zeitspanne gestartet wird.
Enrico
-
Hallo Enrico
Vielen Dank für deine Antwort. Berechtigter Einwand. Habe ich tatsächlich noch nicht bedacht / probiert. Werde ich nachholen.
Allerdings habe ich extrem Angst davon das beim Neustart des ioBrokers der Nachtzustand wieder false ist und mich weckt :? Vorallem meine Frau wird mich Köpfen :D
Für mich fehlt im Blocky einfach die Möglichkeit einen neustart als Trigger abzufangen. Dies würde sehr viele Probleme lösen :(
Hast du bereits eine Idee wie ich später triggern kann, wenn der Reboot in der nach 22:00 Uhr den DP nicht korrekt setzt?
Gruss GL
-
Für eine Überprüfung bei Skriptstart musst du deine Logik ohne Trigger zusammenstellen. Dann wird dieser Abschnitt genau einmal bei Skriptstart ausgeführt.
In Worten etwa so: Wenn aktuelle Zeit zwischen 18:00 und 06:00 Uhr dann Nacht auf wahr.
Es soll wohl jetzt funktionieren eine "Zeit zwischen" auch über den Tageswechsel hinaus zu vergleichen, da gab es mal Probleme mit. Also wenn du das ausprobierst am besten einen Test nach Mitternacht machen! :D Nicht, dass wieder einer wach wird! :lol:
Enrico
-
Hallo Enrico
bzgl. Radar… Wow, dieses + War ja mal gut getarnt :D ich musste noch um einiges Scrollen, trotz grossem Bildschirm um es zu finden :D
Habe nun das Ruhezeit Script einmal so abgeändert. Was denkst du? werde ich durchschlafen können? :D

Gruss GL
-
So könntest du vielleicht durchschlafen, ist aber zu viel des Guten. Du schaltest jetzt jede Minute zwischen 22 und 5 Uhr auf wahr und am Tage eben jede Minute auf unwahr. Sagen wir mal so es ist nicht schön, aber so hast du auf jeden Fall auch den Skriptstart nach spätestens einer Minute abgedeckt.
Solltest du aber jetzt mal in der Nacht, oder auch am Tag, auf die Idee kommen den DP zu ändern, musst du erst das Skript beenden, damit es dauerhaft so bleibt (für Versuche z.B.)
Ich würde fest um 22 Uhr einschalten und um 5 Uhr ausschalten (geht auch mit schedule, ich glaub für den ersten Stern muss dann ne "0" rein). Für den Skriptstart, dann so, wie ich es oben schon beschrieben habe mit falls aktuelle Zeit zwischen 22 und 5 dann einschalten sonst ausschalten.
Enrico
-
Hallo Enrico
Ich werde es lieber mal so testen und mich langsam dran tasten.
Andere Frage… Radar ich konnte es nun einrichten und die abfrage bei mir läuft zuverlässig. Meine Frau wurde jedoch immer als abwesend angezeigt (dachte sie hat das WLan am Handy aus. Nun wollte ich auch sie testen und siehe da: ihr WLan ist an. IP und Mac Adresse stimmen. Auch mein Router erkennt das Samsung Galaxy so... eine Idee?

Gerade habe ich das noch im Log gefunden ?!?

Gruss GL
-
Lt. log fehlt dir arp-scan! Sieh mal bitte in der Info zum Adapter nach, wie das installiert wird.
Weiß jetzt nicht genau probier mal über die Konsole
apt install arp-scanOb jetzt ein "sudo" oder evtl. "apt-get" verwendet werden muss, hängt von deinem System ab!
Enrico
-
Das mit dem Handy kenne ich, die Anwesenheitserkennung funktioniert erst richtig, wenn mac-Adressen-Scan(also arp-scan) funktioniert! Wlan ist immer mal wieder kurz da und dann wieder nicht, je nachdem, wie das Handy verwendet wird!
Installiere arp-scan und dann geht das schon viel besser!
Hast du eigentlich schon die aktuelle Version von Radar drauf? Da wird gerade fleißig dran entwickelt! Siehe https://forum.iobroker.net/viewtopic.php?f=20&t=4010&start=340#p223326!
Enrico