FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Rainer1 am 08 Oktober 2023, 15:39:24

Titel: MQTT - publish
Beitrag von: Rainer1 am 08 Oktober 2023, 15:39:24
Hallo, bei mir funktioniert die "publish"-Anweisung nicht. Aber hier wird beschrieben, dass es funktionieren sollte:

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

Titel: Aw: MQTT - publish
Beitrag von: ergerd am 08 Oktober 2023, 16:35:26
Hallo piuser1,
ein List vom Device ebusMQTT wäre schon Mal ein Anfang.
Grüße ergerd
Titel: Aw: MQTT - publish
Beitrag von: rob am 08 Oktober 2023, 23:04:36
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
Titel: Aw: MQTT - publish
Beitrag von: rob am 09 Oktober 2023, 11:02:30
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