prowl an zweite Bedingung knüpfen

Begonnen von Sascha, 11 Mai 2021, 12:11:25

Vorheriges Thema - Nächstes Thema

Sascha

Hallo Leute,
meine fhem Installation läuft seit vielen Jahren stabil und ich habe daher nicht so oft die Notwendigkeit was zu ändern. Dies ist sehr schön - hat aber den Nachteil, dass man leider immer wieder Dinge vergisst, die man mal beherrscht hat. Aktuell habe ich folgende Problem:

Ich habe diverse Prowls die mich benachrichtigen, wenn Fenster oder Türen geöffnet/ geschlossen werden oder wenn sich Leute in einem Raum befinden. Dies ist manchmal sehr nervend wenn alle paar Sekunden ein Prowl erfolgt. Jetzt dachte ich mir, ich erstelle mir ein Dummy Device "Alarm" welches ich On oder OFF schalte und der Prowl soll nur erfolgen, falls ZWEI Bedingungen gleichzeitig erfüllt sind, zB

Bewegung = Ja UND Alarm =on

Egal was ich versucht habe mit &&, if, ... ging in die Hose... Kann mir dann einer/eine von euch weiterhelfen?

>>
# Prowl Bewegung Wintergarten

#Dummy
define WG.MotnIndicator dummy
setuuid WG.MotnIndicator 5e377eba-f33f-57bb-1197-7796aa9da1f051f6
attr WG.MotnIndicator room CUL_HM
# attr WG.MotnIndicator event-on-update-reading

#WG.MotnIndicator
define WG.MotnIndicatorMotion_Notify notify Wintergarten_Bewegungsmelder:motion set WG.MotnIndicator on
setuuid WG.MotnIndicatorMotion_Notify 5e377eba-f33f-57bb-778c-11b02784281f471d
attr WG.MotnIndicatorMotion_Notify room CUL_HM

#Prowl Notify
define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on {prowl("Es ist jemand im Wintergarten","Wintergarten","1")}
# define Wg.MotnIndicMotionAlarmProwl IF ([WG.MotnIndicator:on] && [Alam:on]) {prowl("success)}
setuuid WG.MotnIndicMotionProwl 5e377eba-f33f-57bb-1123-4359a9de38f7bd9d
attr WG.MotnIndicMotionProwl room CUL_HM

<<

Dieser Teil war mein letzter Versuch - geht aber auch nicht

# define Wg.MotnIndicMotionAlarmProwl IF ([WG.MotnIndicator:on] && [Alam:on]) {prowl("success)}


Wie bekomme ich das hin? Das kann doch eigentlich nicht ganz so schwierig sein?

Vielen Dank für eure Hilfe

Sascha 

Otto123

Hallo Sascha,

das sieht alles gruselig aus was Du schreibst. Du solltest Codetags verwenden: https://forum.fhem.de/index.php/topic,71806.0.html
Dein Code sieht aus als ob Du ihn direkt in die config editierst. Da kann man viel reinschreiben aber man hat null Feedback ob das überhaupt im Ansatz funktionieren kann. Also versuch doch mal über die Weboberfläche? Weil sowas wie Dein letzter Versuch  :o :o :o da fehlt quasi alles! Das ist kompletter Unsinn.

Es gibt einen guten Artikel im Wiki https://wiki.fhem.de/wiki/Notify
Da findest Du deinen Falle in mehreren Beispielen. Vielleicht hilft das.

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

Sascha

Hallo Otto,
stimmt - sieht gruselig aus - und stammt in der Tat aus einer manuellen Veränderung der fhem.cfg. Ist halt so, dass meine Installation noch aus den Anfangszeiten von fhem stammt - da gabs meines Wissens nix anders *lach* Jetzt ist es halt leider so wie es ist - und es läuft ja seit Jahren völlig problemlos - da denk ich mir immer "Never touch a running system" ... Das Einzige was  mich wirklich stört ist, dass ich die prowls nicht an und abschalten kann

Deine Links sehe ich mir mal an - vielleicht finde ich da eine Lösung ... Das gesamte System neu aufzusetzen (mit allen Konsequenzen für meine homebridge die super mit fhem zusammenarbeitet) ist mir momentan zu risikobehaftet :-)

Sascha

Otto123

Hab ich was von neu aufsetzen gesagt?  :o Das Web Interface gibt es doch schon immer?

Wenn ich mal dieses notify nehme, Du hast es nicht gesagt aber das könnte funktionieren (es enthält alle notwendigen Komponenten):
define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on {prowl("Es ist jemand im Wintergarten","Wintergarten","1")}

dann willst Du was abfragen, könnte so funktionieren (falls mit Alam - Alarm gemeint war, musst Du das ändern ;D ;D ;D):
define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on {if (Value('WG.MotnIndicator') eq 'on' && Value('Alam') eq 'on') {prowl("Es ist jemand im Wintergarten","Wintergarten","1")}}
In FHEM Code "ohne" Perl ginge es eventuell so:
define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on IF ([WG.MotnIndicator] eq 'on' && [Alam] eq 'on') ({prowl("success)})

Wobei die erste Bedingung redundant ist Du triggerst nur auf WG.MotnIndicator:on also kannst Du [WG.MotnIndicator] eq 'on' auch weglassen!!!

Aber das ist alles nur geraten und wenn Du das wieder ohne feedback in die cfg schreibst, wirst Du nicht glücklich werden.

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

Sascha

Hallo Otto,
das mit dem neu aufsetzen war ein Missverständnis meinerseits: Ich dachte du meinst mit "gruselig" den Code selbst - nicht meine Unfähigkeit Codetags einzusetzen *lach*

Zu deinen Anmerkungen:
define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on {prowl("Es ist jemand im Wintergarten","Wintergarten","1")}
Jepp - der funktioniert :-)

define WG.MotnIndicMotionProwl notify WG.MotnIndicator:on {if (Value('WG.MotnIndicator') eq 'on' && Value('Alam') eq 'on') {prowl("Es ist jemand im Wintergarten","Wintergarten","1")}}
der hätte uU funktioniert, wenn ich den Tippfehler bei Alarm gesehen hätte

Gelöst habe ich es jetzt erstmal über ein doif:
define Bewegung_Wintergarten DOIF (([Wintergarten_Bewegungsmelder] eq "motion") && ([Alarm] eq "on")) ({prowl("Bewegung","Wintergarten","1")})

Und der funktioniert recht gut.... Jetzt habe ich halt eine ganze Reihe dieser Prowl Codes - diese alle von notify auf doif umzustellen birgt recht viele Fehlermöglichkeiten weshalb ich immer noch am versuchen bin das über eine Modifikation der notifys umzusetzen.

Nochmals Danke für deine Hilfe
Sascha