[gelöst] Notify funktioniert irgendwie nicht

Begonnen von bug, 14 März 2016, 18:30:56

Vorheriges Thema - Nächstes Thema

bug

Hallo Foren-Gemeinde,
Ich versuche grade einen Taster in FHEM einzubinden.
Die eingebundenen Aktoren über 433Mhz laufen soweit problemlos, der Taster wird auch im Eventlog angezeigt, aber er schaltet den Aktor nicht.
Ich habe mir bisher die Codeschnippsel zusammengesucht nur dabei habe ich nun schon einiges probiert, aber ich bekomme es einfach nicht ans laufen.

##################
# Broker anlegen #
##################
define MyBroker MQTT 192.168.0.17:1883
attr MyBroker room MQTT


###############
# MQTT Taster #
###############
define TEST_taster MQTT_DEVICE taster
attr TEST_taster IODev MyBroker
attr TEST_taster eventMap /1.00:on /0.00:off
attr TEST_taster room test
attr TEST_taster subscribeReading_status /hooks/devices/2/SensorData/taster
define TEST_tasterN notify TEST_taster {if(Value("SZ_Stehlampen") eq "on") {fhem("set SZ_Stehlampen off") } else {fhem("set SZ_Stehlampen on")}}

##############################
# ELRO Funksteckdosen 434Mhz #
##############################
define SZ_Stehlampen dummy
attr SZ_Stehlampen room Schlafzimmer
attr SZ_Stehlampen setList on off
define off_SZ_Stehlampen notify SZ_Stehlampen:off {system("/usr/bin/send 10000 1 0 &sleep 6&")}
define on_SZ_Stehlampen notify SZ_Stehlampen:on { system("/usr/bin/send 10000 1 1 &sleep 6&")}

define WZ_Spots dummy
attr WZ_Spots room Wohnzimmer
attr WZ_Spots setList on off
define off_WZ_Spots notify WZ_Spots:off {system("/usr/bin/send 10000 3 0 &sleep 6&")}
define on_WZ_Spots notify WZ_Spots:on { system("/usr/bin/send 10000 3 1 &sleep 6&")}

define WZ_Stehleuchte dummy
attr WZ_Stehleuchte room Wohnzimmer
attr WZ_Stehleuchte setList on off
define off_WZ_Stehleuchte notify WZ_Stehleuchte:off {system("/usr/bin/send 10000 4 0 &sleep 6&")}
define on_WZ_Stehleuchte notify WZ_Stehleuchte:on { system("/usr/bin/send 10000 4 1 &sleep 6&")}

define WZ_Seitenlichter dummy
attr WZ_Seitenlichter room Wohnzimmer
attr WZ_Seitenlichter setList on off
define off_WZ_Seitenlichter notify WZ_Seitenlichter:off {system("/usr/bin/send 10000 2 0 &sleep 6&")}
define on_WZ_Seitenlichter notify WZ_Seitenlichter:on { system("/usr/bin/send 10000 2 1 &sleep 6&")}


ZitatEvents (Filter:.*) [Reset]:
2016-03-14 18:20:27 dummy SZ_Stehlampen on
2016-03-14 18:20:27 MQTT_DEVICE TEST_taster transmission-state: incoming publish received
2016-03-14 18:20:27 dummy SZ_Stehlampen off
2016-03-14 18:20:27 MQTT_DEVICE TEST_taster status: on
2016-03-14 18:20:30 dummy SZ_Stehlampen on
2016-03-14 18:20:30 MQTT_DEVICE TEST_taster transmission-state: incoming publish received
2016-03-14 18:20:30 dummy SZ_Stehlampen off
2016-03-14 18:20:30 MQTT_DEVICE TEST_taster status: off
2016-03-14 18:21:21 MQTT MyBroker connection: active

viegener

Ich denke zuerst einmal ist Dein erster notify TEST_tasterN zu weit gefasst. Bei jedem Event über den MQTT device wird der Zustand des Dummys geändert, wie auch in Deinem Log ersichtlich. Du müsstest wohl nur auf spezielle Events reagieren (also z.B den state-Wechsel).

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

bug

Danke,
ich bin einfach nicht auf die syntax gekommen. Habe entsprechenden code über das frontend erzeugen lassen.
define TEST_tasterN notify TEST_taster:status:.* {if(Value("SZ_Stehlampen") eq "on") {fhem("set SZ_Stehlampen off") } else {fhem("set SZ_Stehlampen on")}}