PRESENCE lan-ping mehrere geräte

Begonnen von matthias soll, 31 Mai 2013, 22:36:00

Vorheriges Thema - Nächstes Thema

matthias soll

Hallo zusammen,

wie kann mit dem PRESENCE lan-ping befehl mehrere Geräte anpingen bei deren anwesenheit das gleiche passieren soll?

Markus Bloch

Hallo Matthias,

so direkt geht das nicht. Man kann pro Definition nur ein Gerät überwachen.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

det.

Hallo Markus,

als Anregung finde ich das aber sehr interessant. Die Unterscheidung, welches der Telefone anwesend ist dämpft bei mir nur den waf (meine Frau: "irgendwann lege ich mal mein iPhone ins Bett und Du merkst gar nicht, das ich weg bin") Für die div. mit PRESENCE verknüpften Schaltaufgaben prüfe ich immer, ob mindestens eines der beiden Telefone anwesend ist. Ein gemeinsamer PRESENCE Status in einer Definition, das wäre eine feine Sache.
LG
det.

matthias soll

Hallo zuammen,

ich habe das jetzt so gelöst:

#LAN-PING

define xboxSR PRESENCE lan-ping 192.168.1.29 60
define ipboxon notify xboxSR:present "wget -q 'http://192.168.1.110/?f5=1'"
define ipboxoff notify xboxSR:absent "wget -q 'http://192.168.1.110/?f5=0'"

define xboxWG PRESENCE lan-ping 192.168.1.36 60
define ipboxon1 notify xboxWG:present "wget -q 'http://192.168.1.110/?f5=1'"
define ipboxoff1 notify xboxWG:absent "wget -q 'http://192.168.1.110/?f5=0'"

funktioniert natürlich nicht, weil ein gerät immer absent ist setzt der mir den ausgang immer wieder zurück.
Wie könnte ich das lösen, dass der ausgang immer gesetzt wird wenn eine der ip´s zu erreichen ist
und nur wenn keine der abgefragten ip´s zu erreichen ist der ausgang zurückgesetzt wird?

justme1968

schau dir mal structure an. die ist genau dazu da den status mehrerer devices zusammenzufassen.

wenn du suchst findest du ein paar beispiele für fenster. die kannst du dann anpassen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

matthias soll

Hallo andre,
Ist das structure richtig wenn ich mit mehreren IP's den gleichen Ausgang schalten möchte?
Oder mache ich das besser mit dem collected aus dem presence Modul?

Markus Bloch

Hallo Matthias,

der collectord aus dem PRESENCE-Modul hat nichts mit lan-ping zu tun. Dieser ist dafür gedacht FHEM die Möglichkeit zu geben, mehrere Bluetoothagenten nach einem Device scannen zu lassen und ist daher nur für Bluetooth gedacht.

Wie andre vorgeschlagen hat, währe ein structure deine Lösung:


define xboxSR PRESENCE lan-ping 192.168.1.29 60


define xboxWG PRESENCE lan-ping 192.168.1.36 60

define xbox_gesamt structure xbox_structure xboxSR xboxWG
attr xbox_gesamt clientstate_behavior relative
attr xbox_gesamt clientstate_priority present absent

define ipboxon1 notify xbox_gesamt:present "wget -q 'http://192.168.1.110/?f5=1'"
define ipboxoff1 notify xbox_gesamt:absent "wget -q 'http://192.168.1.110/?f5=0'"


Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

matthias soll

Hallo Markus,
Klingt logisch.
Danke für die Hilfe, werde ich nachher testen.

matthias soll

100%
einfach in meine cfg eingefügt und funktioniert.
DANKE!!!

Markus

Auch von mir Danke!
Genau das hab ich gesucht :-)

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

betateilchen

ohne structure müsste das aber auch so funktionieren (ungetestet):

define n_xBox_present notify (xboxSR.*present.*|xboxWG.*present.*) {mach irgendwas}

Wenn eine der beiden (oder beide) present ist, wird irgendwas gemacht.

und vermutlich noch einfacher - wenn alle mit xbox beginnen:

define n_xBox_present notify xbox.*present.* {mach irgendwas}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

ohne die structure und jedes handy einzeln betrachtet erlaubt es nicht absent korrekt zu behandeln und auch nicht das unterdrücken mehrerer notifys wenn ein hand immer present ist und nur das zweite immer wieder wechselt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Ja du hast ja recht, wenn man es ganz komplex auswerten möchte.

Ähnlich kann man ja auch an der Balkontür mit zwei Fensterkontakten feststellen, ob die Tür wirklich offen oder nur gekippt ist (wenn man z.B. den Fenstergriffkontakt von Homematic aus baulichen Gründen nicht verwenden kann)

Mein Vorschlag bezog sich nur darauf, die Forderung "mindestens ein Handy muss anwesend sein" möglichst einfach umzusetzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

SGi

Hallo zusamen,

hier scheinen ja einige die Präsenz über die structure-Variante gelöst zu haben.

Bei mir haut es aber irgendwie nicht hin. Die beiden Mitglieder der Struktur Handy1 und Handy2 melden über PRESENCE brav den Status"absent", die structure "Haus" behält aber trotz nachfolgender Definition den Status "bewohnt" bei, egal welchen Einzelstatus die Mitglieder annehmen.


define Haus structure Anwesenheit Handy1 Handy2
attr Haus clientstate_behavior relative
attr Haus clientstate_priority bewohnt|present unbewohnt|absent


Sollte da nicht der Struktur-state "unbewohnt" annehmen, wenn beide Mitglieder "absent" sind  ?  Oder hab ich noch irgendwo einen Gedankenfehler ?  Die Stati der einzelnen Geräte selbst sind aber im eingestellten PRESENCE-Zylus immer aktuell und richtig.

Schöne Grüße,

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

det.

Bei mir funktioniert das so
define HomeStatus structure home_structure  Handy_Xy Handy_Xx PreseceState
attr HomeStatus clientstate_behavior relative
attr HomeStatus clientstate_priority present absent
attr HomeStatus devStateIcon present:status_available:home absent:control_building_empty:home
attr HomeStatus group .Home Status
attr HomeStatus icon system_fhem
attr HomeStatus room Residents
attr HomeStatus sortby 6

Kompletter Code per pm
LG
det.