MQTT2_DEVICE setList set überschreibt STATE und state

Begonnen von HrzM, 03 April 2025, 00:01:32

Vorheriges Thema - Nächstes Thema

HrzM

Hi,

ich hab ein MQTT2_DEVICE angelegt, wenn ich jetzt einen Wert setze, steht anschließend "state" auf dem topic.

Also ich setze z.B. PreisH auf 0.32 (set PVRegelungNG PreisH 0.32), dann steht in "state" und auch in "STATE" PreisH.

Warum?

Versteh nicht wie so das so ist :-\

defmod PVRegelungNG MQTT2_DEVICE
attr PVRegelungNG devStateIcon entladen:inverter@green aus:measure_battery_100@white laden:measure_battery_100@green
attr PVRegelungNG icon inverter
attr PVRegelungNG readingList PVRegelungNG:PVRegelungNG/Status:.* state\
PVRegelungNG:PVRegelungNG/PreisH:.* PreisH\
PVRegelungNG:PVRegelungNG/PreisN:.* PreisN
attr PVRegelungNG room z_MQTT,z_PV
attr PVRegelungNG setList Regelung:-,laden,entladen,aus PVRegelungNG/REGELUNG $EVTPART1\
PreisH:selectnumbers,0.30,0.01,0.45,2,lin PVRegelungNG/PreisH $EVTPART1\
PreisN:selectnumbers,0.20,0.01,0.35,2,lin PVRegelungNG/PreisN $EVTPART1
attr PVRegelungNG webCmd Regelung
attr PVRegelungNG webCmdLabel Regelung

setstate PVRegelungNG PreisH
setstate PVRegelungNG 2025-04-02 22:22:48 IODev MQTT_INTERN
setstate PVRegelungNG 2025-04-02 23:34:27 state PreisH

Gruß Uwe

frober

Auszug aus der Comref -> Attribute

ZitatstateFormat
Ändert den Gerätestatus, dies ist z.Bsp. in der Ausgabe des list Kommandos zu sehen, oder in der Raumübersicht von FHEMWEB. Falls nicht gesetzt, dann wird das state Reading übernommen....
.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Vielleicht suchst du auch nach "setStateList"?

Was ist das für eine Gegenstelle, die da potentiell eine Dauerschleife baut? (Teils gleiche Topics in setList und readingList).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

HrzM

#3
Hi.
Gegenstelle ist kein echtes Gerät sondern Node-RED wo ich dann einen Flow bauen möchte.

readingList und setList haben gleich Topics, da ich ich den aktuellen Wert im Dropdown stehen haben möchte (so zumindest der Plan). Also wenn ich 0.32 über das Dropdown setze, dann soll dort auch 0.32 stehen.

Was ich schon nicht verstehe, warum steht in state der Topic und nicht ein Wert.

frober

Wie sieht der Payload, bzw. Topic und Payload aus der gesendet wird?

Siehst du im MQTT2_Server unterm Trafficmonitor.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Zitat von: HrzM am 03 April 2025, 20:58:22Gegenstelle ist kein echtes Gerät sondern Node-RED wo ich dann einen Flow bauen möchte.
Das wird mit MQTT2_DEVICE so nicht klappen, dass NUR der gesendete Wert im Reading steht.

Wenn du sowas haben willst, dann wäre dummy+MQTT_GENERIC_BRIDGE angesagt (siehe bei letzterem das "forward"-Attribut), aber imo ist es besser, aus Node-Red (im Flow) die Antwort zu senden, dass/was dort angekommen ist. ABER: dringend empfehlen würde ich, Anweisung und Quittung auf getrennten Topics zu halten. Alles andere ist hochgradig schleifengefährdet!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors