ESP 8266 per MQTT schalten

Begonnen von FHEM PI, 03 Dezember 2022, 12:51:13

Vorheriges Thema - Nächstes Thema

FHEM PI

Ich habe einen ESP 8266 und möchte diesen per MQTT steuern.

Die Readings LED_rot und LED_gruen kommen richtig rein.
Leider bekommen ich mit publishReading_Zustand nicht weiter.

attr MQTT2_ESP_Easy_Haustuer_0 publishReading_Zustand ESP_Easy_Haustuer/LED_rot/LED_rot

Was mache ich falsch?

define MQTT2_ESP_Easy_Haustuer_0 MQTT2_DEVICE ESP_Easy_Haustuer_0
attr MQTT2_ESP_Easy_Haustuer_0 readingList ESP_Easy_Haustuer_0:ESP_Easy_Haustuer/status/LWT:.* LWT\
ESP_Easy_Haustuer_0:ESP_Easy_Haustuer/LED_rot/LED_rot:.* LED_rot\
ESP_Easy_Haustuer_0:ESP_Easy_Haustuer/LED_gruen/LED_gruen:.* LED_gruen
attr MQTT2_ESP_Easy_Haustuer_0 room MQTT2_DEVICE
#   CID        ESP_Easy_Haustuer_0
#   DEF        ESP_Easy_Haustuer_0
#   FUUID      6353bba4-f33f-260b-a6a6-384b095a657cc0d8
#   IODev      Mqttserver
#   LASTInputDev Mqttserver
#   MSGCNT     162
#   Mqttserver_CONN Mqttserver_192.168.178.35_58602
#   Mqttserver_MSGCNT 162
#   Mqttserver_TIME 2022-12-03 11:14:40
#   NAME       MQTT2_ESP_Easy_Haustuer_0
#   NR         235
#   STATE      ???
#   TYPE       MQTT2_DEVICE
#   eventCount 165
#   READINGS:
#     2022-12-02 13:26:38   IODev           Mqttserver
#     2022-12-03 11:14:40   LED_gruen       0
#     2022-12-03 11:14:40   LED_rot         0
#     2022-12-03 11:14:40   LWT             Connected
#     2022-12-03 12:30:30   subscriptions   ESP_Easy_Haustuer/#
#
setstate MQTT2_ESP_Easy_Haustuer_0 2022-12-02 13:26:38 IODev Mqttserver
setstate MQTT2_ESP_Easy_Haustuer_0 2022-12-03 11:14:40 LED_gruen 0
setstate MQTT2_ESP_Easy_Haustuer_0 2022-12-03 11:14:40 LED_rot 0
setstate MQTT2_ESP_Easy_Haustuer_0 2022-12-03 11:14:40 LWT Connected
setstate MQTT2_ESP_Easy_Haustuer_0 2022-12-03 12:30:30 subscriptions ESP_Easy_Haustuer/#


Beta-User

Du musst "setList" passend setzen.

publishReading stammt zum einen aus einer anderen Welt (MQTT_DEVICE), und zum anderen dürfte es nicht klappen, auf den Topic was zu senden, auf dem das Device seinerseits Infos verschickt. In der Regel sind die beiden Richtungen unterschiedlich (aus gutem Grund! loop-Gefahr!!!).

Es gibt irgendwo einen älteren Thread, bei dem es um Espeasy und MQTT2_DEVICE ging. Das Format war etwas speziell, wenn ich das noch richtig im Kopf habe. Bitte selbst suchen und dann ggf. verlinken und deine weiteren Fragen loswerden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TobiasR

Hallo,

ich möchte hier noch einmal einsteigen da ich die Antwort nicht verstanden habe.
Den älteren Beitrag habe ich leider auch nicht gefunden.

Es geht darum einen Schalter zu definieren welcher bei "on" in meinem fall den Befehlt "set mqtt publish garten/huehner Licht an" und bei "off" den Befehl "set mqtt publish garten/huehner Licht aus" überträgt.

Hat da jemand die Lösung?

Tobias

Beta-User

Hmm, eigentlich ist das hier ein ESPEasy-MQTT-Thread...

Gibt zuhauf Beispiele für "einfache" on/off Kommandos in der attrTemplate-File.
Für ein MQTT2_DEVICE namens "Schalter" (blöde Bezeichnung!) wäre das (raw-Format):attr Schalter setList on garten/huehner Licht an\
off garten/huehner Licht aus
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TobiasR

#4
Hallo,

danke für den Hinweis. So weit war ich allerdings schon.
Leider funktioniert das aber nicht.
Woher weis der "Schalter" eigentlich dass er das "set mqtt publish" nutzen muss?

Das ist übrigens mein aktuelles List:
ZitatInternals:
   CFGFN     
   FUUID      63ab5bb3-f33f-f1f8-38b8-9a61aed2ff767d63
   NAME       Huehner_Licht
   NR         10279
   STATE      off
   TYPE       dummy
   READINGS:
     2022-12-29 22:38:39   state           off
Attributes:
   eventMap   on off
   room       Hühner
   setList    on "set mqtt publish garten/huehner Licht an"\  off "set mqtt publish  garten/huehner Licht aus"

Beta-User

Mein Vorschlag: TYPE=MQTT2_DEVICE. Dein Versuch: ?!?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TobiasR

Sorry, ich hab so viel schon versucht da hatte ich den Überblick verloren....

Das sieht schon mal besser aus:
Zitat
Internals:
   CFGFN     
   CID        ESP_Garten
   DEF        ESP_Garten
   DEVICETOPIC Huehner_Licht2
   FUUID      63ae0e7b-f33f-f1f8-65d1-d985629bdee054b4
   NAME       Huehner_Licht2
   NR         18898
   STATE      on
   TYPE       MQTT2_DEVICE
   READINGS:
     2022-12-29 23:08:09   state           on
Attributes:
   eventMap   on off
   setList    on garten/huehner Licht an\  off garten/huehner Licht aus

Allerdings kommen beim Broker noch immer keine Befehle an.
Bei on passiert nichts.
Bei off erhalte ich einen Fehler:

ZitatUnknown argument off, choose one of on attrTemplate:?,General_Info,MQTT2_CLIENT_general_bridge,MQTT2_IO_ignoreRegexp_basic,MQTT2_IO_ignoreRegexp_tasmota,MQTT2_IO_ignoreRegexp_shelly,MQTT2_IO_ignoreRegexp_homeassistant,tasmota_basic,tasmota_basic_state_power1,tasmota_3channel_input_shelly_i3,shelly1,shellyPlus_1,shellyPlus_1pm,shellypro4pm,ESPurna_single_relay,eBus_daemon_splitter,ebus_update_files_from_svn,ems-esp_heater_device,ems-esp_boiler,ems-esp_thermostat_read-only,ems-esp_thermostat_simple,ems-esp_thermostat_RC35_type,zigbee2mqtt_bridge,sonos2mqtt_bridge,sonos2mqtt_speaker,sonos2mqtt_bridge_comfort,roon,InstarCam,wled_controller,go_eCharger,go_eCharger_old,8channel_ethernet_board_split,8channel_ethernet_board_unified,6channel_ethernet_board_6input_split,6channel_ethernet_board_6input_unified,8channel_relay_board_8di_split,esp_milight_hub_bridge,OpenMQTTGateway_MCU,valetudo,worx_landroid,wallpanel_app,weewx_weather_station,McLighting


Beta-User

#7
RAW-Format....
Dein Attribut enthält noch die Maskierung, und der Umbruch ist an der falschen Stelle.
PS: das eventMap ist "kreativ"....
So ist helfen keine Freude :-X
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TobiasR

Zitat von: Beta-User am 29 Dezember 2022, 23:16:55
RAW-Format....
Dein Attribut enthält noch die Maskierung, und der Umbruch ist an der falschen Stelle.
PS: das eventMap ist "kreativ"....


Das musst du mir bitte erklären.
Maskierung, RAW Format

LuckyDay

DEVICETOPIC Huehner_Licht2

groß kleinschreibung und der Unterstrich?


TobiasR

Aber das ist doch der Name. Der hat doch nichts mit dem Kommando zu tun?
Wofür ist den der Devicetopic?

Beta-User

#11
Hier: zu nichts nütze, völlig irrelevant....
@TobiasR: Bitte 2x20 € Spende an den Verein für mangelndes eigenes Nachdenken und sinnloses Rumgemurkse!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TobiasR