Zustand An-und Abwesenheit für 2Personen mit UND und ODER Verknüpfungen

Nachtrag:

Wenn das hier kommt: -bash: ./scannerV2.sh: Keine Berechtigung
Liegt es sehr sicher am chmod.

-> chmod +x /home/pi/scannerV2.sh

das Skript läuft und er checkt die Personen auf Abwesenheit. nach jedem Durchlauf kommt aber

User: Melanie
Status: abwesend
Counter: 43 (15)
Webhooks: Melanie_anwesend; Melanie_abwesend

User: Amelie
Status: abwesend
Counter: 43 (15)
Webhooks: Amelie_anwesend; Amelie_abwesend
Set scan parameters failed: Input/output error

Bin im Auto, daher mit Handy online.
Starte den Pi Mal neu und dann Script starten. Crontab vorher aus machen. Einfach # vor die Zeile

Skript läuft jetzt bei manueller Ausführung. Und auch mit Crontab.

Vielen Dank!

So, jetzt nochmal kurz auf den genannten Fehler zurück zu kommen.

Wenn man das Script ausführt und wieder beendet und das im falschen Zustand beendet wird, dann hängt sich der Bluetooth Scan auf und es geht nix mehr. Mal schauen ob ich den Stack resettet bekomme wenn was schief ist.

Grüße

@mavnezz
wie kann ich das manuell gestartete Skript wieder beenden?
(oder auch den befehl zum Suchen der BT-Geräte…) ?
ich starte den Pi dann immer neu …

Strg + c

Lg

@mavnezz
Danke! :slight_smile:

hallo liebe homees,
ich habe das skript jetzt am laufen, funktioniert soweit. ich teste derzeit … :slight_smile:
danke nochmal an @mavnezz
jvielleicht kann mir jemand einen tipp bei meinem problem geben:

der pi (mit dem separaten BT-Dongle) liegt bei mir im Büro hinter dem Monitor.
habe einen g-tag im büro im schrank = alles super.
im skript habe ich 35 durchläufe eingestellt (statt der 15, für eine statusänderung)

den anderen habe ich hinter 2 ziegel-mauern im schlafzimmer liegen.
problem:
der g-tag ist offenbar immer mal wieder nicht erreichbar, obwohl er da nur “rumliegt”.
d.h., ich bekomme die meldung “abwesend” und direkt danach wieder “anwesend”.

das ganze so ca. 1-2x die Stunde. das war der grund, warum ich auf 35 loops hochgesetzt habe.
so richtig praxistauglich ist das also noch nicht (wenn da hinten statusänderungen des homee und weitere aktionen “dranhängen” würden …)

ist das verhalten normal?
oder sollte ich den wert für die loops einfach noch weiter hoch setzen?
welche anzahl loops habt ihr bei euch eingestellt?

bin für jede hilfe dankber ! :slight_smile:

Servus, hast du einen Pi3? Der hat ja auch Bluetooth onboard.

Bei diesem habe ich das Onboard Modul erst mal deaktiviert:

sudo nano /boot/config.txt

Folgende Zeile hinzufügen:
dtoverlay=pi3-disable-bt

Damit ist dann schon mal sicher gestellt, dass nur der Bluetooth Stick scannt.

Im Script selber findest du diese Zeile:
sudo hcitool lescan --whitelist > scan.txt & sleep 2 && sudo pkill --signal SIGINT hcito

Dort vielleicht mal aus sleep 2, dann sleep 4 machen. Dann dauert der Scan Vorgang ein wenig länger. In dem Fall dann die Anzahl der Durchläufe wieder auf 15 minimieren.

Vielleicht hilft es ja

1 „Gefällt mir“

@mavnezz
habe einen pi3, das interne BT ist (mit deiner zeile in der config.txt) deaktiviert.

habe jetzt sleep auf 4 gesetzt, bin gespannt :slight_smile:
danke für die hilfe !

vielleicht könntest Du ja im skript selber solche parameter kurz kommentieren? :slight_smile:
für halbwissende wie mich … :wink:

hi @mavnezz
es läuft jetzt seit ca. 3h mit den o.g. parametern.
es kam ca. 12x “abwesend/anwesend” … also nicht wirklich viel besser.
habe versucht, es zu beaobachten: der counter läuft manchmal bis 27 hoch, ehe er wieder verbindet (und auf “anwesend” setzt)

kann ich den parameter sleep noch weiter erhöhen (5 oder 6)?

Kannst du machen, dadurch lässt du dem rp3 mehr zeit nach den Tags zu Scanner, also die Wahrscheinlichkeit wird höher dass er den Tag findet in der Runde.

so, habe jetzt sleep = 6 und “loop” = 10 gesetzt.
damit nur einen Fehlalarm in gut 2,5h. :slight_smile:

bis zu “abwesend” (also 10 scans) dauert es jetzt aber doch eine weile (wenn man also wirklich abwesend wäre) … hmmm …

was sich nicht recht verstehe ist, warum findet er den g-tag manchmal 10x nacheinander NICHT, und dann wieder doch …
der g-tag bewegt sich nicht (es ist keiner zu Hause, der den g-tag bewegt oder die tür öffnet oder ähnlich einfluss nimmt …).

ist eine BT-“verbindung” denn derart empfindlich/schwankend?

1 „Gefällt mir“

Hab leider auch ganz gleiche Problem. Nur das ich Holzwände habe und trotzdem ständig anwesend/abwesend bin.

@Samhain
mit schrauben an “sleep” und den “loops” lässt es sich zwar bessern,
aber eine zustandsänderung auf “abwesend” braucht dann auch recht lange, um erkannt zu werden.
(sleep = 7 sind bei mir z.b. ca. 9 sekunden pro loop).

letztlich hilft wohl nur den standort des Pi zu ändern.
oder g-tags mit größerer leistung/reichweite zu nehmen (aber welche??)

Bisher hatte ich noch keinen Fehlalarm… ( läuft seit Beginn der Veröffentlichung) nutze pi 1 und Bluetooth Stick. Einstellungen habe ich alle so gelassen , wie im ursprünglichen Skript…

Ich tracke inzwischen mit Homeassistent (hass.io) An- und Abwesenheit unserer iPhones über die Fritzbox-Sxhnittstelle von HASS. Funktioniert einwandfrei, stabil und sehr flexibel. Alternativ liesse sich die Präsenz auch über 38 andere bereis implementierte Schnittstellen (z.B. iCloud (frisst allerdings zu viel Batterie), nmap, Bluetooth Tracking, etc - siehe hier: https://home-assistant.io/components/#presence-detection) tracken. Ich bin ob der Möglichkeiten begeistert…

Ich werde mich jetzt mal dran machen die An- und Abwesenheit auch an homee rückzumelden (via Webhooks HASS–>homee) und darauf aufbauend dann die Modussteuerung zu automatisieren.

Hi,

Frage läuft dies ggf. auch auf einem NAS (Syno) ?

Danke.

BLRD

Ja, allerdings würde ich trotzdem Raspi und Hassio empfehlen.


Probleme dürften durch Paketabhängigkeiten entstehen. Hassio (dedizierte Installation mit allen Abhängigkeiten und Containerisierung) läuft bei mir einwandfrei - bisher keine Issues.

1 „Gefällt mir“