notify setzt dummy nicht

Begonnen von hmtec99, 19 September 2015, 14:22:25

Vorheriges Thema - Nächstes Thema

hmtec99

habe deine Antwort nochmal  langsam durchgelesen...

als genau andersrum, richtig?

define ndWS_GR notify LaCrosse_0C:temperature:.* IF ([LaCrosse_0C:temperature] > 28.0) (set dWS_GR Alarm) ELSE (set dWS_GR OK)

hmtec99

Ich flipp aus - es funzt (wenn auch nur mit Browser Reload) DANKE.  ;D

hmtec99

#17
eine Frage hätte ich da noch...

ich habe nach dem gleichen Schema eine Batteriewarnung erstellt (für alle batteriebetriebenen Sensoren / Aktoren). Dabei habe ich eine Problem
mit den Wildcards. Geht das eventuell mit IF gar nicht oder wie muß das aussehen?

define ndBattery_Alarm notify .*:[Bb]attery.* IF ([.*:[Bb]attery] = "low") (set dBattery_Alarm low)

2015.09.20 11:31:40.196 3: ndBattery_Alarm return value: IF: unknown Device: .*
2015.09.20 11:31:40.192 4: ndBattery_Alarm exec IF ([.*:[Bb]attery] = "low") (set dBattery_Alarm low)

Edit: Habe das [Bb] entfernt, da meine Sensoren sowieso nur battery verwenden. Löst das Problem allerdings nicht.

Gibt es an der Stelle einen Platzhalter für das Device, um nicht für jedes Device eine notify zu definieren, das denselben dummy setzen soll
(egal welcher Sensor battery low sendet)?

hmtec99

noch was zum Wasserstandsmelder mit umgebauten Lacrosse (Technoline) Sensoren.

das (wirklich) funktionierende notify sieht dann so aus (das sich value und reading namentlich unterscheiden (liegt das am LaCrosse Modul?)).

define ndWS_GR notify LaCrosse_0C:T:.* IF ([LaCrosse_0C:temperature] > 28.0) (set dWS_GR Alarm) ELSE (set dWS_GR OK)

oder DEF

LaCrosse_0C:T:.* IF ([LaCrosse_0C:temperature] > 28.0) (set dWS_GR Alarm) ELSE (set dWS_GR OK)


eppi

#19
Zitat von: hmtec99 am 20 September 2015, 11:39:23
eine Frage hätte ich da noch...

ich habe nach dem gleichen Schema eine Batteriewarnung erstellt (für alle batteriebetriebenen Sensoren / Aktoren). Dabei habe ich eine Problem
mit den Wildcards. Geht das eventuell mit IF gar nicht oder wie muß das aussehen?

define ndBattery_Alarm notify .*:[Bb]attery.* IF ([.*:[Bb]attery] = "low") (set dBattery_Alarm low)

2015.09.20 11:31:40.196 3: ndBattery_Alarm return value: IF: unknown Device: .*
2015.09.20 11:31:40.192 4: ndBattery_Alarm exec IF ([.*:[Bb]attery] = "low") (set dBattery_Alarm low)

Edit: Habe das [Bb] entfernt, da meine Sensoren sowieso nur battery verwenden. Löst das Problem allerdings nicht.

Gibt es an der Stelle einen Platzhalter für das Device, um nicht für jedes Device eine notify zu definieren, das denselben dummy setzen soll
(egal welcher Sensor battery low sendet)?
Schau mal im Wiki:http://www.fhemwiki.de/wiki/Batterieüberwachung

hmtec99

#20
define n_batt_chk notify .*:battery.* { if ($EVENT !~ m/ok/) usw. (was bedeutet eigenlich m/ ?)

Habe ich bereits gelesen, die Frage ist ob das auch mit IF (fhem-Befehl) funktioniert.


define ndBattery_Alarm notify .*:battery.* IF ([.*:battery] = "low") (set dBattery_Alarm low)

Wie müßte der Platzhalter aussehen bzw. ist es überhaupt möglich an dieser Stelle einen Platzhalter zu definieren?

EDIT: Habe das ganze dahingehend geändert:

.*:battery:.* IF ([$NAME:battery] eq "low") (set dBattery_Alarm low)

damit scheint die Condition richtig zu sein, allerdings wird der Dummy nun immer gesetzt (auch bei z.B. trigger DeviceXY battery:OK) ?? :P

stromer-12

Zitat von: hmtec99 am 20 September 2015, 13:29:31
.*:battery:.* IF ([$NAME:battery] eq "low") (set dBattery_Alarm low)

Warum erfasst du nicht gleich mit dem Trigger deine low Events:
.*:battery:.low set dBattery_Alarm low
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL