Hallo und guten Tag,
ich möchte gern 5 Relais mit ESPEasy und MQTT schalten.
Diese 5 Relais sind folgendermaßen in ESPEasy definiert:
Task Enabled Device Name Ctr (IDX) GPIO Values
Edit 1 ✔ Switch input - Switch Steckdose_4 ❶ GPIO-13 Steckdose_4: 0
Edit 2 ✔ Switch input - Switch Steckdose_USB ❶ GPIO-14 Steckdose_USB: 0
Edit 3 ✔ Switch input - Switch Steckdose_3 ❶ GPIO-12 Steckdose_3: 1
Edit 4 ✔ Switch input - Switch Steckdose_2 ❶ GPIO-4 Steckdose_2: 0
Edit 5 ✔ Switch input - Switch Steckdose_1 ❶ GPIO-5 Steckdose_1: 0
Edit 6 ✔ Generic - System Info Signal ❶ Signal: -52.00
MQTT ist so konfiguriert:
OpenHAB MQTT
Controller Subscribe: /%sysname%/#
Controller Publish: /%sysname%/%tskname%/%valname%
Damit bekomme ich die Readings in einem MQTT2 Gerät:
readingList:
ESPClient_84_0D_8E_4B_88_44:KZ_Steckdosen/out/LWT:.* LWT
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_USB/Steckdose_USB:.* Steckdose_USB
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_2/Steckdose_2:.* Steckdose_2
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Signal/Signal:.* Signal
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_3/Steckdose_3:.* Steckdose_3
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_4/Steckdose_4:.* Steckdose_4
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/status/LWT:.* LWT
Internals:
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC MQTT2_ESPClient_84_0D_8E_4B_88_44
FUUID 5c6d37ae-f33f-01d6-f731-67088bbc8b9b463e
IODev MQTTS_Server
LASTInputDev MQTTS_Server
MQTTS_Server_MSGCNT 88
MQTTS_Server_TIME 2019-03-02 16:39:50
MSGCNT 88
NAME KZ_Steckdosenleiste
NR 1020
STATE ???
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-02 16:07:20 LWT Connected
2019-03-02 16:37:18 Signal -52.00
2019-03-02 16:09:46 Steckdose_1 0
2019-03-02 16:26:26 Steckdose_2 0
2019-03-02 16:39:50 Steckdose_3 0
2019-03-02 12:29:40 Steckdose_4 1
2019-03-02 12:29:45 Steckdose_USB 1
Attributes:
IODev MQTTS_Server
readingList ESPClient_84_0D_8E_4B_88_44:KZ_Steckdosen/out/LWT:.* LWT
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_USB/Steckdose_USB:.* Steckdose_USB
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_2/Steckdose_2:.* Steckdose_2
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Signal/Signal:.* Signal
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_3/Steckdose_3:.* Steckdose_3
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_4/Steckdose_4:.* Steckdose_4
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/status/LWT:.* LWT
room MQTT2_DEVICE
Was muss jetzt in setList eingetragen werden, damit ich die Relais schalten kann?
Mit: http://192.XXX.XXX.XXX/control?cmd=GPIO,4,0 kann ich die GPIOs schalten, ich möchte sie aber über MQTT schalten
Danke
Marek
Hallo Marekh,
ich wünsche dir gutes Gelingen.
Ich nehme mal an, du hast vergessen zu fragen, wie es gehen soll.
Schau mal hier: https://www.letscontrolit.com/wiki/index.php/Relais (https://www.letscontrolit.com/wiki/index.php/Relais)
https://www.google.com/url?sa=t&source=web&rct=j&url=http://heinz-otto.blogspot.com/2017/07/einbindung-von-espeasy-schaltern-in-fhem.html%3Fm%3D1&ved=2ahUKEwiW38_54uPgAhXMZ1AKHR0rAPsQFjABegQIBBAB&usg=AOvVaw3nBKwkZcGn3lSSlVr42hkP&cshid=1551540665849 (https://www.google.com/url?sa=t&source=web&rct=j&url=http://heinz-otto.blogspot.com/2017/07/einbindung-von-espeasy-schaltern-in-fhem.html%3Fm%3D1&ved=2ahUKEwiW38_54uPgAhXMZ1AKHR0rAPsQFjABegQIBBAB&usg=AOvVaw3nBKwkZcGn3lSSlVr42hkP&cshid=1551540665849)
Viele Grüße Gisbert
Vielen Dank!
Aber ich würde es eben gern über MQTT machen.
Marek
Hallo Marekh,
ich nutze MQTT und zwar so, dass ich einen MQTT-Broker auf meinem Fhem-Server, einem RPi3B, installiert habe, und in Fhem nutze ich das Modul MQTT_DEVICE.
Schau dir bitte im Wiki an, was dort zu MQTT steht, sowie in der commandref zum Modul.
Es gibt weitere Module in Fhem, die ohne einen MQTT-Broker auskommen, es ist Geschmackssache, für was man sich entscheidet.
Eine einfache Anweisung in Form eines Codeschnipsels führt hier nicht weiter.
Viele Grüße Gisbert
Hallo Marek,
hast du es bereits mit der ESPEasy Command Reference - https://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference - probiert?
Zitat<MQTT subscribe template>/cmd with payload: <command>
Wenn ich es richtig interpretiere müßte es bei dir so (oder zumindest so ähnlich) funktionieren:
/KZ_Steckdosenleiste/cmd GPIO,4,0
und
/KZ_Steckdosenleiste/cmd GPIO,4,1
lg
Gernot
PS: Mein Test - EspEasy MQTT2_DEVICE, das soweit funktioniert. Die anderen möglichen <commands> habe ich zunächst zurückgestellt:
defmod 03_Dunstabzugshaube_24 MQTT2_DEVICE Dunstabzugshaube_24
attr 03_Dunstabzugshaube_24 IODev mqtt2
attr 03_Dunstabzugshaube_24 alias Dunstabzugshaube
attr 03_Dunstabzugshaube_24 cmdIcon on:general_an@#e56524 off:general_aus
attr 03_Dunstabzugshaube_24 devStateIcon off:radio_unchecked:on on:radio_checked@#e56524:off .*:message_attention@red
attr 03_Dunstabzugshaube_24 group 4 Geräte
attr 03_Dunstabzugshaube_24 icon vent_exhaust_air
attr 03_Dunstabzugshaube_24 readingList Dunstabzugshaube_24:/fhem/03_Kueche/Dunstabzugshaube/Status/Empfang:.* Empfang\
Dunstabzugshaube_24:/fhem/03_Kueche/Dunstabzugshaube/Status/Online:.* Online\
Dunstabzugshaube_24:/fhem/03_Kueche/Dunstabzugshaube/Strom/Schalter:.* Schalter\
Dunstabzugshaube_24:/fhem/03_Kueche/Dunstabzugshaube/status:.* { json2nameValue($EVENT, 'status_', $JSONMAP) }\
Dunstabzugshaube_24:/fhem/03_Kueche/Dunstabzugshaube/tele/lwl:.* lwl\
attr 03_Dunstabzugshaube_24 room 03_Küche,99_MQTT2_DEVICE
attr 03_Dunstabzugshaube_24 setList off:noArg /fhem/03_Kueche/Dunstabzugshaube/cmd GPIO,5,1\
on:noArg /fhem/03_Kueche/Dunstabzugshaube/cmd GPIO,5,0\
toggle:noArg /fhem/03_Kueche/Dunstabzugshaube/cmd GPIO,5,2\
attr 03_Dunstabzugshaube_24 webCmd on:off
Danke supernova1963!
Ist ja doch leichter als ich gedacht habe:
Ich habe mir jetzt 1 Gerät für die Steckdosenleiste angelegt:
Internals:
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC MQTT2_ESPClient_84_0D_8E_4B_88_44
FUUID 5c6d37ae-f33f-01d6-f731-67088bbc8b9b463e
IODev MQTTS_Server
LASTInputDev MQTTS_Server
MQTTS_Server_MSGCNT 642
MQTTS_Server_TIME 2019-03-03 22:55:27
MSGCNT 642
NAME KZ_Steckdosenleiste
NR 1020
STATE 1
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-03 22:35:29 LWT Connected
2019-03-03 22:55:27 Signal -49.00
2019-03-03 22:50:08 Steckdose_1 1
2019-03-03 22:53:30 Steckdose_2 1
2019-03-03 22:53:29 Steckdose_3 1
2019-03-03 22:52:09 Steckdose_4 1
2019-03-03 22:53:01 Steckdose_USB 1
2019-03-03 22:53:29 log GPIO 4 Set to 1
2019-03-03 22:53:29 mode output
2019-03-03 22:53:29 pin 4
2019-03-03 22:53:29 plugin 1
2019-03-03 22:53:29 state 1
Attributes:
IODev MQTTS_Server
readingList ESPClient_84_0D_8E_4B_88_44:KZ_Steckdosen/out/LWT:.* LWT
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_USB/Steckdose_USB:.* Steckdose_USB
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_2/Steckdose_2:.* Steckdose_2
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Signal/Signal:.* Signal
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_3/Steckdose_3:.* Steckdose_3
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_4/Steckdose_4:.* Steckdose_4
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/status/LWT:.* LWT
ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/status:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
Und 5 "Untergeräte" für die jeweiligen Steckdosen der Steckdosenleiste:
Internals:
CFGFN
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC KZ_Steckdosenleiste_Dose_1
FUUID 5c7c49ef-f33f-01d6-70f7-25f52ebe016fc095
IODev MQTTS_Server
LASTInputDev MQTTS_Server
MQTTS_Server_MSGCNT 38
MQTTS_Server_TIME 2019-03-03 22:50:08
MSGCNT 38
NAME KZ_Steckdosenleiste_Dose_1
NR 11535
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
OLDREADINGS:
READINGS:
2019-03-03 22:50:08 Steckdose_1 1
2019-03-03 22:50:08 state on
Attributes:
IODev MQTTS_Server
devStateIcon on:on:off off:off:on
readingList ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
room MQTT2_DEVICE
setList on:noArg /KZ_Steckdosenleiste/cmd GPIO,5,1\
off:noArg /KZ_Steckdosenleiste/cmd GPIO 5,0
Internals:
CFGFN
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC KZ_Steckdosenleiste_Dose_2
FUUID 5c7c4c1f-f33f-01d6-d345-c9c0f712e98da9a4
IODev MQTTS_Server
NAME KZ_Steckdosenleiste_Dose_2
NR 11598
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-03 22:53:29 state on
Attributes:
IODev MQTTS_Server
devStateIcon on:on:off off:off:on
readingList ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
room MQTT2_DEVICE
setList on:noArg /KZ_Steckdosenleiste/cmd GPIO,4,1\
off:noArg /KZ_Steckdosenleiste/cmd GPIO 4,0
Internals:
CFGFN
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC KZ_Steckdosenleiste_Dose_3
FUUID 5c7c4c49-f33f-01d6-1cf1-1a796c72d11d2a68
IODev MQTTS_Server
NAME KZ_Steckdosenleiste_Dose_3
NR 11601
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-03 22:53:28 state on
Attributes:
IODev MQTTS_Server
devStateIcon on:on:off off:off:on
readingList ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
room MQTT2_DEVICE
setList on:noArg /KZ_Steckdosenleiste/cmd GPIO,12,1\
off:noArg /KZ_Steckdosenleiste/cmd GPIO 12,0
Internals:
CFGFN
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC KZ_Steckdosenleiste_Dose_4
FUUID 5c7c4c6c-f33f-01d6-b10e-1adc19d7ef3a853b
IODev MQTTS_Server
NAME KZ_Steckdosenleiste_Dose_4
NR 11604
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-03 22:52:08 state on
Attributes:
IODev MQTTS_Server
devStateIcon on:on:off off:off:on
readingList ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
room MQTT2_DEVICE
setList on:noArg /KZ_Steckdosenleiste/cmd GPIO,13,1\
off:noArg /KZ_Steckdosenleiste/cmd GPIO 13,0
Internals:
CFGFN
CID ESPClient_84_0D_8E_4B_88_44
DEF ESPClient_84_0D_8E_4B_88_44
DEVICETOPIC KZ_Steckdosenleiste_USB
FUUID 5c7c4c98-f33f-01d6-efb9-2d5e8460b932f747
IODev MQTTS_Server
NAME KZ_Steckdosenleiste_USB
NR 11609
STATE on
TYPE MQTT2_DEVICE
.attraggr:
.attrminint:
READINGS:
2019-03-03 22:53:01 state on
Attributes:
IODev MQTTS_Server
devStateIcon on:on:off off:off:on
readingList ESPClient_84_0D_8E_4B_88_44:/KZ_Steckdosenleiste/Steckdose_1/Steckdose_1:.* Steckdose_1
room MQTT2_DEVICE
setList on:noArg /KZ_Steckdosenleiste/cmd GPIO,14,1\
off:noArg /KZ_Steckdosenleiste/cmd GPIO 14,0
Marek
Dank https://forum.fhem.de/index.php/topic,97586 (https://forum.fhem.de/index.php/topic,97586) geht das jetzt in einem device!
Siehe Bild meiner 3 fach Steckdosenleiste mit USB.
Gruß
Carlos
Wenn ich mich da kurz einschalten darf:
Wäre es möglich, daraus ein Beispieltemplate zu basteln?
Fehlt noch in meiner Liste (ist aber schon klar, dass das aufgrund der großen Flexibilität bei ESPEasy schwierig ist, da einen Standard zu finden; vielleicht wäre es einfacher, wenn keine sprechenden Namen für die GPIOs verwendet würden (kann man später ja anpassen, das template sollte nur nachvollziehbar das Prinzip erläutern)...
Anregung noch: aus dem Titel wird nicht klar, dass es hier um ein MQTT2_DEVICE geht. Wäre ggf. hilfreich, wenn mal wieder jemand nach sowas sucht.