MQTT - publish

Begonnen von Rainer1, 08 Oktober 2023, 15:39:24

Vorheriges Thema - Nächstes Thema

Rainer1

Hallo, bei mir funktioniert die "publish"-Anweisung nicht. Aber hier wird beschrieben, dass es funktionieren sollte:

https://wiki.fhem.de/wiki/MQTT


ergerd

Hallo piuser1,
ein List vom Device ebusMQTT wäre schon Mal ein Anfang.
Grüße ergerd
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

rob

Zitat von: piuser1 am 08 Oktober 2023, 19:43:25...wobei ein Template doch den eingerichteten MQTT2 - Server selbst erkennt sollte  !?
Normalerweise macht ein Template nix am IODev. Im Reading IODev sollte bereits der richtige Eintrag stehen (durch autocreate oder letztem "Empfang").
Wie konkret hast du das MQTT2-Device angelegt und welches Template darauf angewandt?

VG
rob

rob

OK, am IODev passiert tatsächlich nichts weiter, aber trotzdem liegst Du damit richtig, dass ebusMQTT als Device erwartet wird.
Im Template stehen solche Einträge drin:
...
define DayRead notify einlesen {\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Monday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Tuesday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Wednesday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Thursday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Friday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Saturday/get";;\
  fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Sunday/get";;\
...
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Tuesday/set " . ReadingsVal("TimeDi","HHMM1t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM2t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM3t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM4t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM5t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM6t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM7t",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Wednesday/set " . ReadingsVal("TimeMi","HHMM1w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM2w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM3w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM4w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM5w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM6w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM7w",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Thursday/set " . ReadingsVal("TimeDo","HHMM1th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM2th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM3th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM4th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM5th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM6th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM7th",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Friday/set " . ReadingsVal("TimeFr","HHMM1f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM2f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM3f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM4f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM5f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM6f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM7f",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Saturday/set " . ReadingsVal("TimeSa","HHMM1sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM2sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM3sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM4sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM5sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM6sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM7sa",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Sunday/set " . ReadingsVal("TimeSo","HHMM1su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM2su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM3su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM4su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM5su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM6su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM7su",0);;\
...
Ein "set ebusMQTT..." kann ja nur klappen, wenn es das Device gibt. Da ist das Template imho zu spezifisch an der Stelle.

VG
rob