[gelöst] MQTT2_DEVICE Readings von Fhem published werden nicht gesetzt

Begonnen von BOFH, 01 Juni 2019, 10:48:41

Vorheriges Thema - Nächstes Thema

BOFH

Hallo,

ich fang mit MQTT2_DEVICE gerade rest an und hab mir auch die Praxisbeispiele angeguckt, daraus entstanden ist folgendes Gerät

defmod MQTT_luefter_4 MQTT2_DEVICE
attr MQTT_luefter_4 IODev MQTT2_FHEM_Server
attr MQTT_luefter_4 alias Lüfter 4
attr MQTT_luefter_4 devStateIcon 0:vent_ventilation_level_0@red:10 1.:vent_ventilation_level_1@green:20 2.:vent_ventilation_level_2@green:30 3.:vent_ventilation_level_2@green:40 4.:vent_ventilation_level_2@orange:50 5.:vent_ventilation_level_2@orange:60 6.:vent_ventilation_level_2@red:70 7.:vent_ventilation_level_3@red:80 8.:vent_ventilation_level_3@red:90  9.:vent_ventilation_level_3@red:100 100:vent_ventilation_level_3@red:10 .*:hourglass
attr MQTT_luefter_4 genericDeviceType Fanv2
attr MQTT_luefter_4 group Lüftungsanlage
attr MQTT_luefter_4 homebridgeMapping clear\
On=state,cmdOff=0,cmdOn=20\
CurrentFanState=CurrentFanState,cmd=CurrentFanState\
RotationSpeed=RotationSpeed,minValue=0,maxValue=100,minStep=10,cmd=,delay=1\
RotationDirection=RotationDirection,cmd=RotationDirection\
TargetFanState=TargetFanState,values=off:AUTO;;;;on:MANUAL,cmd=TargetFanState
attr MQTT_luefter_4 icon vent_ventilation
attr MQTT_luefter_4 readingList /Smarthome/Haus/SEVI160/Luefter4.* { json2nameValue($EVENT) }
attr MQTT_luefter_4 room TEST->Lueftungsanlage
attr MQTT_luefter_4 setList RotationSpeed:slider,0,10,100 /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}\
CurrentFanState:0,1,2 /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}\
TargetFanState:0,1 /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}\
RotationDirection:0,1 /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}\
Winter_rotation:rein,raus /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}\
Stosslueften:on,off /Smarthome/Haus/SEVI160/Luefter4 {"$EVTPART0":"$EVTPART1"}
attr MQTT_luefter_4 siriName MQTTArbeitszimmer
attr MQTT_luefter_4 webCmd RotationSpeed


sende ich jetzt via MQTT FX { "RotationDirection" : 1 } auf /Smarthome/Haus/SEVI160/Luefter4 erscheint im Log
5: PUBLISH: 0=(0) /Smarthome/Haus/SEVI160/Luefter4{ "RotationDirection" : 0 }
4: MQTT2_FHEM_Server_192.168.1.18_51152 MQTT_FX_Client PUBLISH /Smarthome/Haus/SEVI160/Luefter4:{ "RotationDirection" : 0 }
5: MQTT2_FHEM_Server: dispatch autocreate=simple\000MQTT_FX_Client\000/Smarthome/Haus/SEVI160/Luefter4\000{ "RotationDirection" : 0 }


Und der das Reading wird gesetzt.

Mach ich jetzt ein set mit dem MQTT2_DEVICE erscheint im Log
5: MQTT2_FHEM_Server: PUBLISH /Smarthome/Haus/SEVI160/Luefter4 {"RotationDirection":"1"}
das Reading bleibt aber unverändert stattdessen habe ich im 
state RotationDirection
stehen.

Fehlt mir noch irgendwo was?
RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)

DasQ

spontan fällt mir da deine formatierung auf. man beachte die leerstellen zwischen den befehlen.

Zitat von: BOFH am 01 Juni 2019, 10:48:41


5: PUBLISH: 0=(0) /Smarthome/Haus/SEVI160/Luefter4{ "RotationDirection" : 0 }


5: MQTT2_FHEM_Server: PUBLISH /Smarthome/Haus/SEVI160/Luefter4 {"RotationDirection":"1"}

mal bitte abchecken und dann den status beobachen, das müsste noch ne feedback sache sein.
wasn des fürn aktor? und hast mal ein list?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Beta-User

Das mit der fehlenden Rückmeldung vom Aktor ist ggf. eine Baustelle (faktisch geschalten wird, oder?), aber auch beim Versenden kann man festlegen, ob was in die Readings oder im state geschrieben wird. Für diese 2. Baustelle gibt es das Attribut setStateList (das aber in den Readings ein "set_" davor macht, damit man sieht, wo die Info herkommt (von FHEM oder der Rückmeldung des Aktors); kann sein, dass du das im devStateIcon wieder berücksichtigen müßtest).

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

BOFH

Zitat von: DasQ am 01 Juni 2019, 11:58:12
spontan fällt mir da deine formatierung auf. man beachte die leerstellen zwischen den befehlen.

mal bitte abchecken und dann den status beobachen, das müsste noch ne feedback sache sein.
wasn des fürn aktor? und hast mal ein list?
da ich attr MQTT_luefter_4 readingList /Smarthome/Haus/SEVI160/Luefter4.* { json2nameValue($EVENT) } den so nutze denke ich, wäre es egal? wenn ich via mqtt fx ein .../Luefter4 blub bla   im topic nutze  funzt das auch ohne Probleme.

Der Topic  MIT leerzeichen wird vom MQTT2_Device erstellt, da kann ich dann ja ohnehin nichts abändern?

Aktor ? Ähm keiner - habe das MQTT2_DEVICE das die Infos bekommt und publishen soll - Quasie nur ein Speicherort für die Infos.
Via Python-mqqt client empfang ich dann die Daten und setzt das weiter um



Funktioniert dann eher nicht, wie Beta-User schreibt, mangels setStateListe. Das muss ich mir mal angucken.


RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)

DasQ

Also ich bezog mich auf den Syntax im mqttfx ... der Client macht/will ja wieder json draus und da sind Leerzeichen an der falschen Stelle fatal.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

BOFH

Das Problem ist ja doch, dass das MQTT2_DEVICE sein eigenen published Verkehr nicht empfängt?
RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)

rudolfkoenig

Ich wuerde das als "gewuenschtes Verhalten" und nicht als "Problem" beschreiben.

BOFH

Problem ist auch immer so negativ. Wie bekomm ich das Feature dann wegoptimiert?
Was muss der client ( der python subscribte ja das Topic ) antworten, damit das mqtt2_device das reading dann aktualisiert ?
RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)

rudolfkoenig

Etwas, was mit readingsList zum gewuenschten Reading konvertiert wird.

BOFH

Sollte mal jemand es ähnliche aufbauen wollen wie ich, was wohl atypisch ist ( mit dem MQTT_DEVICE geht es nämlich einfach so ).
Ich hab es nun so "gelöst"

attr MQTT2_FHEM_Server rePublish 1

im commandref zum MQTT2_Server stand die "Lösung"
RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)