PRESENCE-RemoteFritzbox

Begonnen von erwin, 27 Dezember 2013, 21:39:11

Vorheriges Thema - Nächstes Thema

Otto123

Hallo,

also ich mache zunächst PRESENCE von Geräten mit dem PRESENCE Modul und dem FRITZBOX Modul mit eigener Routine.
Diese überwache ich mit watchdog auf abwesenheit und notify auf anwesenheit und schreibe das Ergebnis in ein Geräte dummy.
Das ist notwendig um kurze "Schwankungen" also mal kurz raus aus dem Haus oder so abzufangen und um mehrere Kriterien (WLAN und BT) zusammenzuführen.
Aus dem Gerät erzeuge ich einen Personen Dummy, damit kann man auch wiederum mehrere Kriterien zusammenführen.
Daraus ensteht dann noch ein "Es ist mindestens Einer da" Dummy für allgemeine Schaltaktionen im Haus.

Klingt vielleicht kompliziert aber das läuft so sehr gut und flexibel.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

PEPITO82

Hallo Otto,

das sieht sehr interessant aus! Ich versuche das in die Praxis umzusetzen.
Evtl. werde ich dann nochmal nachfragen müssen.

Viele Grüße

Peter

Otto123

Hallo Peter,

gerne. Noch ein Hinweis: Unlogischer Weise musst man beim aktuelle FRITZBOX Modul Telnet installieren obwohl man es gar nicht nutzen will / kann. Aber naja, da wird sicher noch einiges an Änderungen passieren in nächster Zeit.
BT reagiert schneller als WLAN, ist aber dann mit einem Empfänger nicht im ganzen Haus verfügbar. Deswegen habe ich den in Nähe des Einganges. Ich nehme BT dann auch nur zur Anwesenheit.

Ich will das auch noch im Blog beschreiben, aber das braucht noch etwas 8)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Motivierte linke Hände

Ich habe nach Erwins Hinweis auf die Zukunft dieses Moduls die Umstellung auch mal in Angriff genommen. Da gibt es ja inzwischen einiges Hilfreiches im Forum http://forum.fhem.de/index.php/topic,39433.0.html und in Ottos Blog http://heinz-otto.blogspot.de/2015/07/die-zeiten-andern-sich.html.

Meine daraus generierte Lösung habe ich ins Wiki zum FRITZBOX Modul aufgenommen. http://www.fhemwiki.de/wiki/FRITZBOX und bei der Gelegenheit auch gleich die Installation ein wenig an die Stolpersteine angepasst, über die ich gefallen bin.

Vielleicht hilft's dem einen oder anderen, der umstellen möchte.

Gruß, Christian
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Motivierte linke Hände

Zitat von: PEPITO82 am 19 August 2015, 07:53:09
Daneben habe ich auch meinen 1750E Repeater als FRITZBOX definiert.
Ist dies überhaupt notwendig für die Anwesenheitserkennung, oder werden sowieso alle Geräte auf der Haupt-Fritz!Box gelistet?

Ja, das ist nötig - auch bei der alternativen Methode der Anwesenheitserkennung mittels FRITZBOX Modul. Der Anwesenheitsstatus im Repeater wird nicht an die Fritzbox weitergereicht.

Es gibt einige Möglichkeiten, um die unterschiedlichen Abfragen zu kombinieren. Ich mache das mittels structure:

Internals:
   ATTR       struc_iPhone6
   CHANGED
   DEF        struc_iPhone6 anwesend.Blauzahn.iPhone6 anwesend.Repeater.iPhone6 anwesend.geofency.iPhone6 anwesend.iPhone6
   NAME       da.iPhone6
   NR         54
   NTFY_ORDER 50-da.iPhone6
   STATE      present
   TYPE       structure
   Content:
     anwesend.Blauzahn.iPhone6 present
     anwesend.Repeater.iPhone6 absent
     anwesend.geofency.iPhone6 Zu_Hause
     anwesend.iPhone6 absent
   Readings:
     2015-08-21 09:53:55   LastDevice      anwesend.Blauzahn.iPhone6
     2015-08-21 09:53:55   LastDevice_Abs  anwesend.Blauzahn.iPhone6
     2015-08-21 09:53:55   state           present
Attributes:
   clientstate_behavior relativeKnown
   clientstate_priority present|Zu_Hause absent|underway|error
   event-on-change-reading state
   room       Cfg_Presence
   struc_allePhonesda da.irgendwer
   userattr   struc_allePhonesda struc_allePhonesda_map structexclude


Wichtig ist insbesondere auch clientstate_priority: Erst present (und die Alternativen dazu), dann absent, damit die Structure auf "present" geht, wenn irgendeine der Abfragen "present" als Status ermittelt. "absent" wird die Structure nur, wenn keiner der Tests das iPhone als zu Hause anwesend ermittelt.

Wer mehrere Devices abfragen möchte, kann dann noch eine weitere Structure über die Structures je Device legen:

Internals:
   ATTR       struc_allePhonesda
   DEF        struc_allePhonesda da.iPhone6 da.iPhone5S
   NAME       da.irgendwer
   NR         57
   NTFY_ORDER 50-da.irgendwer
   STATE      present
   TYPE       structure
   Content:
     da.iPhone5S 1
     da.iPhone6 1
   Readings:
     2015-08-20 19:05:44   LastDevice      da.iPhone6
     2015-08-20 19:05:44   LastDevice_Abs  anwesend.geofency.iPhone6
     2015-08-20 19:05:44   state           present
Attributes:
   clientstate_behavior relativeKnown
   clientstate_priority present absent
   event-on-change-reading state
   room       Cfg_Presence


Hier werden zwei Geräte kombiniert. Der Status von da.irgendwer ist "present", wenn irgendwer zu Hause ist.

Vielleicht hilft's.

Gruß, Christian
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

borsti67

Hallo Christian,

2 Anmerkungen zu Deinem WIKI-Eintrag:

  • der Attributname "FritzBoxIP" ist IMHO etwas unglücklich gewählt, da durchaus eine DNS-Auflösung stattfindet und somit statt der IP auch der Name verwendet werden kann. Vielleicht solltest Du das ruhig erwähnen?
  • Den LogLevel bitte nicht auf 1 für simple Diagnosemeldungen, das müllt einem das Log voll. Nimm da besser 3 oder noch höher (ich verwende gewöhnlich 4); wer es wirklich dauerhaft so genau wissen will, kann das ja global einstellen. Nur umgekehrt geht das ja nicht. ;)
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

caldir65

Hallo,

ich hätte auch noch eine Anmerkung:

nachdem ich gestern die 7490 aktualisiert habe, bin ich noch einmal meine Konfig der zweiten FB, die das Obergeschoss mit WLan versorgt. Diese ist nicht - wie ich früher behauptet habe als Repeater, sondern im Lan an die 7490 angebunden. Daher werden Devices, die sich auf der zweiten Box im WLan einbuchen, auf der ersten Box (und somit auch in fhem-Presence) als LAN-Device, aber mit der richtigen MAC und (z.T.) dem im Netz definierten Namen angezeigt...

In diesem Fall sollte es genügen, wenn in fhem die Masterbox für Presence abgefragt wird...

Gruß, Christoph

Gesendet von meinem SM-G900F mit Tapatalk

Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Motivierte linke Hände

Hi Borsti,

Zitat von: borsti67 am 21 August 2015, 10:04:25

  • der Attributname "FritzBoxIP" ist IMHO etwas unglücklich gewählt, da durchaus eine DNS-Auflösung stattfindet und somit statt der IP auch der Name verwendet werden kann. Vielleicht solltest Du das ruhig erwähnen?
  • Den LogLevel bitte nicht auf 1 für simple Diagnosemeldungen, das müllt einem das Log voll. Nimm da besser 3 oder noch höher (ich verwende gewöhnlich 4); wer es wirklich dauerhaft so genau wissen will, kann das ja global einstellen. Nur umgekehrt geht das ja nicht. ;)

Danke, habe zu beidem Kommentare aufgenommen.

Gruß, Christian
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Badflex

Hallo, ich Habe das precence modul schon länger laufen.
Jetzt habe ich einen Homematic Aktor an mei Garagentor angeschlossen damit ich das garagentor vom Handy aus öffnen und schließen kann.
Ich habe ein wenig bedenken mit der Sicherheit, weil die Garage im Haus ist.
Ich würde das gerne so machen, das das Garagentor wirklich nur aufgeht wenn das Ausführende Handy anwesend ist.
Ich weis nicht wie ich das realisieren soll.
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Motivierte linke Hände

Wie schaltest Du denn aktuell? Hast Du direkt gepaired, oder Code dazwischen?

Im Prinzip könntest Du mit dem Handy z.B. einen virtuellen Button der vccu betätigen, der dann eine Perlcode abfragt. Pseudo-Code:

if (Value(DeinPresence-Dings) eq "present") {
  fhem("set WasDubrauchstzumGarageÖffnen")
}
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

VolkerL

Hallo,

ich habe einen 2. Repeater installiert und habe nun das Problem dass ich nicht weis, was ich in den Einstellungen verändern muss, dass die Erkennung auch damit funktioniert. Am Router und am Repeater den ich bisher hatte, funktioniert die Anwesenheitserkennung.

Hier meine credentials.cfg, die ich noch um die 3. Box (7320) ergänzt habe:


# PRESENCE credentials (only required for function RemoteFritzBoxWeb)
$credentials{RemoteFritzBox}{ipadress} = '192.168.2.1'; # FB LAN Adress
$credentials{RemoteFritzBox}{username} = '';
$credentials{RemoteFritzBox}{password} = 'Password1';
$credentials{RemoteFritzBox}{model}    = 'FB';                  # optional FB-model: FB (for 7270,7390,7490), 1750E
# only required for a 2nd FB or repeater to be monitored by RemoteFritzBoxWeb - see below
$credentials{RemoteFritzBox1}{ipadress} = '192.168.2.31'; # 2nd FB LAN Adress
$credentials{RemoteFritzBox1}{username} = 'Username'; # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{password} = 'Password2'; # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{model}    = 'FB';              # optional FB-model: FB (for 7270,7390,7490), 1750E
# FB #3
$credentials{RemoteFritzBox2}{ipadress} = '192.168.2.43'; # 3nd FB LAN Adress
$credentials{RemoteFritzBox2}{username} = ''; # optional, else 1st entry will be used
$credentials{RemoteFritzBox2}{password} = 'Password3'; # optional, else 1st entry will be used
$credentials{RemoteFritzBox2}{model}    = 'FB';              # optional FB-model: FB (for 7270,7390,7490), 1750E



In der fhem.cfg habe ich folgende Einstellungen, mit denen es aber an der 3. Box nicht funktioniert.


define Volker PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx")} 120 120
attr Volker userattr Bewohner_structure Bewohner_structure_map structexclude
attr Volker Bewohner_structure Bewohner
attr Volker room Bewohner
define Fritzbox2VL PRESENCE function{RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx", 1)} 120 120
attr Fritzbox2VL userattr Bewohner_structure Bewohner_structure_map structexclude
attr Fritzbox2VL Bewohner_structure Bewohner
define Fritzbox3VL PRESENCE function{RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx", 1)} 120 120
attr Fritzbox3VL userattr Bewohner_structure Bewohner_structure_map structexclude
attr Fritzbox3VL Bewohner_structure Bewohner


Funktioniert es überhaupt mit zwei Repeater? Und wenn ja, wie.

Vielen Dank

Volker

Raspberry PI mit fhem 5.8, COC & HM-CFG-LAN für Homematic & CUL für FS20

Otto123

Hallo Volker,

hast Du jetzt nur den Threadtitel oder auch ein paar Posts zurück gelesen?

Da stehen doch die Hinweise. Es funktioniert ziemlich easy aber nicht mit RemoteFritzBoxWeb!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

VolkerL

Hallo Otto,

Danke für den Hinweis.

Ganz ehrlich, ich habe mir nicht die 18 Seiten komplett durchgelesen. ich hatte vor einiger Zeit schon einmal ein Problem mit der Anwesenheitserkennung und habe in diesem Threat Hilfe erhalten, es hat dann funktioniert und habe seit dem die Entwicklung aus den Augen verloren.

Ich werde mich in der Sache mit TR-064 mal einlesen.

Volker
Raspberry PI mit fhem 5.8, COC & HM-CFG-LAN für Homematic & CUL für FS20

Otto123

#268
Zitat von: VolkerL am 24 August 2015, 10:24:04
Ganz ehrlich, ich habe mir nicht die 18 Seiten komplett durchgelesen.
Musst Du nicht :) Ab meinem Link reicht  8) oder ein Stück hochscrollen.

Ich hoffe es hilft Dir. Es geht wirklich einfach, wenn die alles von AVM ist. 8)

Ach so: Alles was da jetzt steht ist sicher nicht der Weisheit letzter Schluss, erstens sind ein paar Leute von hier am überlegen und experimentieren und zweitens experimentiert auch AVM.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sl12

Wenn ihr mehr als 99 Geräte in eurer FB WLAN Liste habt funktioniert RemoteFritzBoxWeb nicht mehr richtig.

Da ich gerade einige Zeit mit suchen verbracht habe hier die Lösung:

In der 99_RFritzBox.pm Zeile 273 von ursprünglich
my @data3 = split(/\[\d{1,2}\]/, $data2[1]) if defined($data2[1]); # must be 2nd record

auf folgendes anpassen
my @data3 = split(/\[\d{1,3}\]/, $data2[1]) if defined($data2[1]); # must be 2nd record