Hallo,
ich möchte Pumpcontrol in meinem Garten einsetzen. Leider funktioniert das nur als MQTT Device
ich möchte gerne Folgendes umsetzen:
defmod PumpControl MQTT_DEVICE
attr PumpControl publishSet_Ventil1-on-for-timer PumpControl/Ventil1/on-for-timer
attr PumpControl stateFormat WaterLevel%
attr PumpControl room Bewaesserung
attr PumpControl subscribeReading_raw PumpControl/raw
attr PumpControl subscribeReading_WaterLevel PumpControl/level
attr PumpControl subscribeReading_Threads PumpControl/Threads
attr PumpControl subscribeReading_Ventil1 PumpControl/Ventil1/state
Das Device wird ordentlich per autocreate angelegt und die Readings laufen rein.
Ich kann aber die Ventile nicht schalten. Mit der Doku:
https://github.com/tobiasfaust/ESP8266_PumpControl/wiki/Steuerung-via-MQTT
kann ich aber leider nichts anfangen, da mein Wissen über MQTT zu klein ist.
Ich habe das hier
on:noArg PumpControl1/Ventil1/setstate 1
off:noArg PumpControl1/Ventil1/setstate 0
in die setlist gepackt, aber es klappt nicht.
das ganze Device sieht so aus:
Internals:
CFGFN
CID PumpControl1_00DAA3CF
DEF PumpControl1_00DAA3CF
FUUID 646a783c-f33f-3305-f5e2-8c31bb1db6b5443b
IODev myBroker
LASTInputDev myBroker
MSGCNT 329
NAME MQTT2_PumpControl1_00DAA3CF
NR 57078
STATE Offline
TYPE MQTT2_DEVICE
eventCount 375
myBroker_CONN myBroker_192.168.179.115_56543
myBroker_MSGCNT 329
myBroker_TIME 2023-05-21 22:39:44
READINGS:
2023-05-21 21:59:56 IODev myBroker
2023-05-21 22:36:14 IP 192.168.179.11
2023-05-21 22:31:34 Threads 0
2023-05-21 22:39:21 alive 1
2023-05-21 22:29:12 off set
2023-05-21 22:29:19 on set
2023-05-21 22:39:44 state Offline
2023-05-21 22:36:15 version 2.5.3 - 92 (PROD)
Attributes:
readingList PumpControl1_00DAA3CF:PumpControl1/IP:.* IP
PumpControl1_00DAA3CF:PumpControl1/version:.* version
PumpControl1_00DAA3CF:PumpControl1/state:.* state
PumpControl1_00DAA3CF:PumpControl1/alive:.* alive
PumpControl1_00DAA3CF:PumpControl1/Valve1/state:.* state
PumpControl1_00DAA3CF:PumpControl1/Threads:.* Threads
PumpControl1_00DAA3CF:PumpControl1/Valve2/state:.* state
room MQTT2_DEVICE
setList on:noArg PumpControl1/Ventil1/setstate 1
off:noArg PumpControl1/Ventil1/setstate 0
kann mir da bitte jemand weiter helfen?
PumpControl1_00DAA3CF:PumpControl1/state:.* state
PumpControl1_00DAA3CF:PumpControl1/Valve1/state:.* state
PumpControl1_00DAA3CF:PumpControl1/Valve2/state:.* state
ich habe das Teil nicht , aber
bist du sicher das in deinem Script die Ventile Ventil1 und Ventil2 heisen?
Für mich sieht das aus wie Valve1 und Valve2
PumpControl1_00DAA3CF:PumpControl1/Valve1/state:.* Ventil1
PumpControl1_00DAA3CF:PumpControl1/Valve2/state:.* Ventil2
ändern, um die Readings mal zu erzeugen.
Falls Ich bisher Richtig liege, wäre die setList entsprechend
setList on:noArg PumpControl1/Valve1/setstate 1
off:noArg PumpControl1/Valve1/setstate 0
für das erste Ventil
und natürlich sollte der Esp online sein
Wenn(!) ein MQTT2_DEVICE an einem MQTT2_SERVER haengt (und nicht an MQTT2_CLIENT), dann sieht man als subscriptions Reading die subscriptions (d.h. potentielle Befehlsstruktur) des dazugehoerigen MQTT Clients. Das kann in solchen Faellen helfen.
Ich wuerde in FHEM "defmod m2s MQTT2_SERVER 1884 global" eingeben, und in der PumpControl1 Oberflaeche das als MQTT-Broker einstellen.
Hallo,
ich hab doch glatt überlesen dass es Valve heissen muss.
Damit funktioniert es natürlich. Vielen Dank an alle.