[gelöst] ESPEASY & MQTT

Begonnen von P.A.Trick, 10 Februar 2017, 19:34:43

Vorheriges Thema - Nächstes Thema

P.A.Trick

Ich habe einen Wemos mit ESPEASY 148 geflasht. Darauf befindet sich ein Relay Shield und ein Button Shield.
MQTT unter FHEM läuft und ich bekomme auch die Meldungen auf dem Device

defmod mqtt_wemos3 MQTT_DEVICE
attr mqtt_wemos3 IODev myBroker
attr mqtt_wemos3 autoSubscribeReadings wemos3/+/+
attr mqtt_wemos3 event-on-change-reading .*
attr mqtt_wemos3 eventMap 0.00:off 1.00:on
attr mqtt_wemos3 icon measure_power
attr mqtt_wemos3 publishSet 1 0 wemos3/44/relay
attr mqtt_wemos3 room MQTT
attr mqtt_wemos3 stateFormat relay
attr mqtt_wemos3 subscribeReading_%valname% wemos3/systeminfo/%valname%
attr mqtt_wemos3 subscribeReading_RAM wemos3/switch/RAM
attr mqtt_wemos3 subscribeReading_Uptime wemos3/switch/Uptime
attr mqtt_wemos3 subscribeReading_key wemos3/switch/key
attr mqtt_wemos3 subscribeReading_relay wemos3/44/relay
attr mqtt_wemos3 subscribeReading_set wemos3/44/set
attr mqtt_wemos3 webCmd 1:0

setstate mqtt_wemos3 1
setstate mqtt_wemos3 2017-02-10 18:06:57 %valname% {"idx":1,"nvalue":0,"svalue":"31.00"}
setstate mqtt_wemos3 2017-02-10 19:29:52 RAM 27352
setstate mqtt_wemos3 2017-02-10 19:29:42 RSSI -66
setstate mqtt_wemos3 2017-02-10 19:29:32 Uptime 9.00
setstate mqtt_wemos3 2017-02-10 19:25:39 key 1
setstate mqtt_wemos3 2017-02-10 19:27:07 relay 1
setstate mqtt_wemos3 2017-02-10 19:26:53 set 0
setstate mqtt_wemos3 2017-02-10 19:27:07 state 1
setstate mqtt_wemos3 2017-02-10 19:29:52 transmission-state incoming publish received


Was ich jedoch nicht schaffe, ist es das Relay mit einem MQTT Befehl zum schalten zu bewegen.
Kann mir jemand einen Schups in die richtige Richtung geben?
Der Taster funktioniert übrigens einwandfrei.

Achja:
ESPEASY Config MQTT: Sub:
Subscripe Template: %sysname%/#
Publish Template: %sysname%/%tskname%/%valname%


Komischerweise funktioniert die folgende Rulez auch nicht :-(

on switch#key do
if [switch#relay]=1
   gpio,5,0
else
   gpio,5,1
endif
endon


Ich verzweifele...bitte helft mir!
Danke im Voraus!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Ok ich habe es nun hinbekommen! Eigentlich waren nur die Namen in der ESPEasy Config das Problem.

Hier mal die Lösung:

FHEM Device Config:
defmod mqtt_wemos3 MQTT_DEVICE
attr mqtt_wemos3 IODev myBroker
attr mqtt_wemos3 autoSubscribeReadings /wemos3/sysinfo/+
attr mqtt_wemos3 event-on-change-reading .*
attr mqtt_wemos3 eventMap 1:on 0:off
attr mqtt_wemos3 publishSet 1 0 /wemos3/gpio/5
attr mqtt_wemos3 room MQTT
attr mqtt_wemos3 stateFormat relay
attr mqtt_wemos3 subscribeReading_LOAD /wemos3/sysinfo/LOAD
attr mqtt_wemos3 subscribeReading_RAM /wemos3/sysinfo/RAM
attr mqtt_wemos3 subscribeReading_RSSI /wemos3/sysinfo/RSSI
attr mqtt_wemos3 subscribeReading_UPTIME /wemos3/sysinfo/UPTIME
attr mqtt_wemos3 subscribeReading_button /wemos3/button/state
attr mqtt_wemos3 subscribeReading_relay /wemos3/relay/state
attr mqtt_wemos3 webCmd on:off


Nach und nach lieber ich diesen Mosquitto Server immer mehr. Er ist wirklich schnell und hat
im Gegenteil zu den HTTP Request auch keine Performance-Nachteile.
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tremichl

Versuche auch seit einiger Zeit über EspEasy (Sonoff) ein Relais per MQTT zu schalten. Bisher leider ohne Erfolg. Habe auch versucht wie in deiner Konfiguration den GPIO direkt anzusprechen. Sehe auch , dass im Broker xx/gpio/12 1 ankommt aber keine Reaktion am Esp. Readings in FHEM funktionieren. Wie sieht der String am Broker aus, bei deiner Konfiguration :"attr mqtt_wemos3 publishSet 1 0 /wemos3/gpio/5". Oder anders gefragt: Ist der topic für publish und subscribe gleich?

Mit Tasmota funktionierts, da gibts aber wieder keinen Feuchtesensor....
Wir haben keine Ahnung davon, was wir nicht wissen

P.A.Trick

#3
Zitat von: tremichl am 07 März 2017, 10:05:33
Versuche auch seit einiger Zeit über EspEasy (Sonoff) ein Relais per MQTT zu schalten. Bisher leider ohne Erfolg. Habe auch versucht wie in deiner Konfiguration den GPIO direkt anzusprechen. Sehe auch , dass im Broker xx/gpio/12 1 ankommt aber keine Reaktion am Esp. Readings in FHEM funktionieren. Wie sieht der String am Broker aus, bei deiner Konfiguration :"attr mqtt_wemos3 publishSet 1 0 /wemos3/gpio/5". Oder anders gefragt: Ist der topic für publish und subscribe gleich?

Mit Tasmota funktionierts, da gibts aber wieder keinen Feuchtesensor....

Hast du denn die Namen vom Sensor, besonders das untere "Value Name", richtig gesetzt? Schaue dir noch einmal genau die Screenshots an!
Bitte auch unter Config den richtigen MQ Client wählen (siehe Foto)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tremichl

Super, danke! Jetzt funktioniert es. Hatte "GPIO" statt "gpio" geschrieben, da es in der ESP-Easy Oberfläche auch in Großbuchstaben steht war ich verwirrt. Deine Screenshots habens sehr geholfen.
Wir haben keine Ahnung davon, was wir nicht wissen

P.A.Trick

Zitat von: tremichl am 08 März 2017, 15:05:09
Super, danke! Jetzt funktioniert es. Hatte "GPIO" statt "gpio" geschrieben, da es in der ESP-Easy Oberfläche auch in Großbuchstaben steht war ich verwirrt. Deine Screenshots habens sehr geholfen.

Glaube ich gerne, da bin ich schließlich auch drauf rieingefallen! 😀
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tklein

hallo,

kann mir jemand bitte den code vom esp posten? sprich wie schaltet er auf die "mqtt-befehle"?

Gruß
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

tklein

was ist denn der Unterschied von OpenHABMQTT und Domoticz MQTT?
Kann ich es ändern, dass ich unter DomoMQTT nur die gewünschten Werte angezeigt bekomme und nicht den Rest mit IDX etc.? Wo/Wie muss ich den Pfad ändern, dass nicht alle 3 D1 auf den gleichen Kanal mit gleich lautenden Werten senden?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Reinhart

Zitat von: tklein am 20 März 2017, 10:08:04
Wo/Wie muss ich den Pfad ändern, dass nicht alle 3 D1 auf den gleichen Kanal mit gleich lautenden Werten senden?

das wird grundsätzlich in der Topic eingestellt, unterschiedliche Namen unterscheiden dann die gleich lautenden Werte.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

tklein

thx,

-->  /%sysname%/%tskname%/%valname% : habe den Wemos unterschiedliche Namen gegeben. Muss ich auch bei den Unitnummern aufpassen?

Gruß
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

pink99panther

Zitat von: tklein am 24 März 2017, 08:48:14
thx,

-->  /%sysname%/%tskname%/%valname% : habe den Wemos unterschiedliche Namen gegeben. Muss ich auch bei den Unitnummern aufpassen?

Gruß
Thomas
Ja, sollten eindeutig sein.

Gruß
p99p