Anwesenheit BT v4.23 (stable)

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

mike9677
Beiträge: 422
Registriert: 17.04.2011, 11:08

Re: Anwesenheit BT v2.28

Beitrag von mike9677 » 01.03.2017, 08:29

Jetzt mal Schluss mit dem Gezanke! Ich denke, es unterhalten sich hier erwachsene Menschen, und genau so sollte man sich doch auch verhalten.

Eigentliches Thema.
Ich habe gestern noch mal alle Clients ent-paired (komischer Ausdruck) und alle SysVariablen gelöscht. Den PI noch mal sauber einem Update unterzogen und bereinigt.
Dann bin ich wieder exakt nach Anleitung vorgegangen und habe ein Smartphone nach dem anderen angelegt. Punkt für Punkt nach Anleitung und zwischendrin immer mal kontrolliert (paired-devices, l2ping, trusted... usw.).
Die einzigen Unterschiede zum ersten Versuch liegen darin, dass ich bei allen Clients auch die IP mit in die Konfigurationsdatei aufgenommen habe (das hatte ich zuvor nicht gemacht, und diese nur mit 0.0.0.0 belegt). Danach noch die rc.local angepasst und alles noch mal neu gestartet.

Bis jetzt läuft alles. Mehrere Versuche mit Flugmodus bzw. dem "Außer-Haus-schicken-der Kinder" haben die SysVariable korrekt geändert.
Werde jetzt mal nix mehr ändern und weiter beobachten.

Besten Dank

gruß
mike

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Anwesenheit BT v2.28

Beitrag von blackhole » 01.03.2017, 09:39

Na, geht doch.
mike9677 hat geschrieben:Besten Dank
Gerne geschehen.

mike9677
Beiträge: 422
Registriert: 17.04.2011, 11:08

Re: Anwesenheit BT v2.28

Beitrag von mike9677 » 01.03.2017, 11:09

Hier mal jetzt der Auszug aus dem Log von heute Nacht.
Unbenannt.PNG
Und ich war die ganze Zeit anwesend 8)
Das kann doch nicht an schlechtem Empfang liegen, oder ?

Welche Werte sollte/könnte ich in den optionalen Einstellungen anpassen ?
PS: Client is ein iphone 6+ mit aktueller FW
mike

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Anwesenheit BT v2.28

Beitrag von blackhole » 01.03.2017, 11:14

mike9677 hat geschrieben:Welche Werte sollte/könnte ich in den optionalen Einstellungen anpassen ?
Schau dir einmal die Kommentare bei den optionalen Einstellungen an.
Falls irgendetwas undeutlich formuliert sein sollte oder Fragen offen sind, einfach melden und sagen wo genau die Unklarheiten sind.
Die Kommentare werden dann dahingehend optimiert.
mike9677 hat geschrieben:Das kann doch nicht an schlechtem Empfang liegen, oder ?
Eher unwahrscheinlich, wenn die Örtlichkeit/Umstände/Gegebenheiten nicht verändert wurden.
mike9677 hat geschrieben:PS: Client is ein iphone 6+ mit aktueller FW
Interessant. Mal sehen, ob andere iPhone-User auch so ein Verhalten feststellen.

mike9677
Beiträge: 422
Registriert: 17.04.2011, 11:08

Re: Anwesenheit BT v2.28

Beitrag von mike9677 » 02.03.2017, 08:44

Ich hatte jetzt mal den Longsleep auf 60 Sekunden verringert. Keine Änderungen.
Unbenannt.PNG
Unbenannt.PNG (8.58 KiB) 3479 mal betrachtet
Nächster Versuch ist den Shortsleep zu verlängern.

danberg
Beiträge: 106
Registriert: 15.11.2015, 23:03

Re: Anwesenheit BT v2.28

Beitrag von danberg » 04.03.2017, 14:56

Hallo @blackhole

Ich habe noch festgestellt, dass wenn man das Pingen über WLAN mit 0.0.0.0 ausschalten will, das Gerät immer erreichbar ist.
Jedenfalls ist dies auf meinem Raspberrys so, da das Ping auf 0.0.0.0 immer erfolgreich ist (scheint auf 127.0.0.1 / localhost
'umgeleitet' zu werden).
Auch ist es in meinen Augen etwas 'unschön' wenn trotz 0.0.0.0 ein Ping versucht wird.
Habe dies daher geändert (nur geänderter 1. Abschnitt, natürlich auch den 2. Abschnitt mit Ping geändert):

Code: Alles auswählen

   # Ping via Bluetooth and Wifi
   echo "`date` - Erreichbarkeit per Bluetooth wird geprüft."
   sudo l2ping -c1 $MACAddressBT > /dev/null 2>&1
   Result=$?
   if  [ $Result -eq 0 ]; then
      echo "`date` - Gerät ist per Bluetooth erreichbar."
   else
      echo "`date` - Gerät ist per Bluetooth nicht erreichbar."
      if  [ $IPAddressWIFI != "0.0.0.0" ]; then
        echo "`date` - Erreichbarkeit per WLAN wird geprüft."
        sudo ping -c3 $IPAddressWIFI > /dev/null 2>&1
        Result=$?
        if  [ $Result -eq 0 ]; then
           echo "`date` - Gerät ist per WLAN erreichbar."
        else
           echo "`date` - Gerät ist per WLAN nicht erreichbar."
        fi
      fi  
   fi
Viele Grüsse Danberg
__________________________
RaspberryMatic@RPi2 / FW 2.27.8.20170410

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Anwesenheit BT v2.28

Beitrag von blackhole » 04.03.2017, 17:58

danberg hat geschrieben:Ich habe noch festgestellt, dass wenn man das Pingen über WLAN mit 0.0.0.0 ausschalten will, das Gerät immer erreichbar ist.
Das ist so nicht richtig (s.u.).
danberg hat geschrieben:Jedenfalls ist dies auf meinem Raspberrys so, da das Ping auf 0.0.0.0 immer erfolgreich ist (scheint auf 127.0.0.1 / localhost
'umgeleitet' zu werden).
Das ist korrekt, wenn Du den Ping auf 0.0.0.0 an an der Konsole absetzt.

Im Skript wird das Ergebnis des Pings auf 0.0.0.0 aber von der "positiven Auswertung" im "if-Zweig" ausgeschlossen ...

Code: Alles auswählen

if  [ $Result -eq 0 ] && [ $IPAddressWIFI != "0.0.0.0" ]; then
   echo "`date` - Gerät ist per WLAN erreichbar."
else
   echo "`date` - Gerät ist nicht erreichbar."
fi
... somit kommt der "else-Zweig" zu tragen (Gerät ist nicht erreichbar, was dann ja auch stimmt).

Zur weiteren Erklärung: Nicht nur der Ping muss erfolgreich sein ($Result -eq 0), sondern die IP-Adresse muss zusätzlich auch zwingend ungleich 0.0.0.0 sein ($IPAddressWIFI != "0.0.0.0"), damit das Gerät als erreichbar deklariert wird.
danberg hat geschrieben:Auch ist es in meinen Augen etwas 'unschön' wenn trotz 0.0.0.0 ein Ping versucht wird.
Ja, damit hast Du recht, das habe ich auch auf der Liste.
Das spielt in Sachen Funktion, Zeit und Ressourcen zwar praktisch keine Rolle, unschön ist es dennoch und wird deshalb später auch noch geändert.

danberg
Beiträge: 106
Registriert: 15.11.2015, 23:03

Re: Anwesenheit BT v2.28

Beitrag von danberg » 04.03.2017, 19:03

Hallo
danberg hat geschrieben:
Ich habe noch festgestellt, dass wenn man das Pingen über WLAN mit 0.0.0.0 ausschalten will, das Gerät immer erreichbar ist.
Das ist so nicht richtig (s.u.).
Das ist meiner Meinung nach doch so (s.u).

Du hast zwar recht, es kommt der 'else-Zweig' zum Tragen und es wird 'Gerät nicht erreichbar' ausgegeben aber der anschliessende 'Block'
beginnt dann wie folgt:

Code: Alles auswählen

   if  [ $Result -eq 0 ]; then
      #Device in range
und damit wird die CCU-Variablen Behandlung für 'anwesend' durchgeführt (da Result = 0 wegen dem erfolgreichen Ping).

Mit meiner 'kleinen' Änderung ist dies behoben und das Ping wird gar nicht erst durchgeführt.
Viele Grüsse Danberg
__________________________
RaspberryMatic@RPi2 / FW 2.27.8.20170410

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Anwesenheit BT v2.28

Beitrag von blackhole » 04.03.2017, 21:02

danberg hat geschrieben:Das ist meiner Meinung nach doch so (s.u).
Argh! Ja, Du hast vollkommen recht. Ich habe nur das obere if/the/else betrachtet und den Rest außer Acht gelassen.
Unten würde ein weiteres "&& [ $IPAddressWIFI != "0.0.0.0" ]" fehlen, damit das sauber funktioniert.
Das verfolge ich aber nicht weiter, sondern löse das sauber, wie von dir vorgeschlagen.

Ein Update folgt zeitnah.

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Anwesenheit BT v2.29

Beitrag von blackhole » 05.03.2017, 11:03

Anwesenheit BT v2.29 ist ab sofort verfügbar (Changelog)
  • Angabe der Zeiteinheit in den Beispiel-.conf-Dateien im Installationspaket (Danke an mike9677)
  • Korrektur und Verbesserung wenn keine Prüfung via WLAN erfolgen soll (Danke an danberg)

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“