Pumpcontrol MQTT2 Device

Begonnen von denis.robel, 22 Mai 2023, 19:31:38

Vorheriges Thema - Nächstes Thema

denis.robel

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?
VG

Denis

LuckyDay

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

rudolfkoenig

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.

denis.robel

Hallo,

ich hab doch glatt überlesen dass es Valve heissen muss.
Damit funktioniert es natürlich. Vielen Dank an alle.
VG

Denis