Notify und MQTT

Begonnen von rboelli, 08 Juni 2016, 21:32:36

Vorheriges Thema - Nächstes Thema

rboelli

Hallo zusammen,
Wie kann ich einen taster über Mqtt_Device in einem notify abfragen.
Ich komm da irgendwie nicht weiter. Das Relai lasst sich schalten , und die abfrage vom Taster funktioniert auch, aber das notify nicht.

##   Test ESP72 

define Relais_A dummy
attr Relais_A eventMap on:1 off:0
attr Relais_A group Licht
attr Relais_A room Test72
attr Relais_A stateFormat state
attr Relais_A webCmd on:off

define mq72_A MQTT_BRIDGE Relais_A
attr mq72_A IODev MyBroker
attr mq72_A publishReading_state /Relais_A/state
attr mq72_A publishState /ESP72/GPIO/5
attr mq72_A retain 1
attr mq72_A room Test72
attr mq72_A stateFormat transmission-state
attr mq72_A subscribeSet /ESP72/Relais_A/Switch


# Device Schalter1 definieren
define ESP72 MQTT_DEVICE Schalter1
attr ESP72 IODev MyBroker
attr ESP72 room Test72
attr ESP72 stateFormat Schalter1: zustand
attr ESP72 subscribeReading_zustand /ESP72/SchalterA/Switch


define Schalter1 notify ESP72:Schalter1:zustand:.1.00 set Relais_A on

amithlon

Hallo,

ich diskutiere hier auch gerade ziemlich intensiv mit FHEM und MQTT...

DOSE_4 und IR_RECEIVE sind MQTT-Clients mit je einem ESP8266...

publish mit MQTT_DEVICE geht, wenn man nur feste Daten zu senden hat, die möglichen Werte müsssen dann in publishSet aufgezählt werden, genauso der topic
Um beliebige Werte zu publishen geht wohl im Momet nur MQTT_BRIDGE, da habe ich zumindest auch ein funktionierens Beispiel.
Wenn Dein Relais nur on und off o.ä. kann, sind es mit dem MQTT_DEVICE weniger Aufwand.

Die Werte von meinem IR_RECEIVE bekomme ich nur ausgewertet, wenn ich die payload-Daten in .* .* packe, keine Ahnung, was davor und dahinter wirklich noch im state ankommt, der MQTT-Client schickt bei mir definitv nur 3_1301 die werden allein aber nicht erjkannt.

define LED_on notify IR_RECEIVE:.*3_1301.* set DOSE_4 ein

# LED Steckdose
define DOSE_4 MQTT_DEVICE
attr DOSE_4 IODev mqtt
attr DOSE_4 alias LED
attr DOSE_4 publishSet ein aus  Dose/4
attr DOSE_4 stateFormat state
attr DOSE_4 webCmd ein:aus

# IR-Daten
define IR_RECEIVE MQTT_DEVICE
attr IR_RECEIVE IODev mqtt
attr IR_RECEIVE stateFormat IRCode
attr IR_RECEIVE subscribeReading_IRCode IR_Code

Gruß aus Berlin
Michael


rboelli

Hi Michael,
die abfrage vom schalter wird mir ja problemlos angezeigt und auch Temperaturwerte und analogwerte werden zuverlässig angezeigt.
ich will eigentlich nur den schalter den ich über MQQT_Device einlese auch weiterverarbeiten.

Hast du da irgend eine idee?

Gruß aus Kleve
Rainer

amithlon

Hallo,

naja, einen Hinweis habe ich ja zumindest versucht zu geben:

define Schalter1 notify ESP72:Schalter1:zustand:.*1.00.* set Relais_A on

Zumindest wäre es einen Versuch wert.

Gruß aus Berlin
Michael