attr IODev ohne Funktion

Begonnen von LuckyDay, 23 Mai 2021, 15:32:36

Vorheriges Thema - Nächstes Thema

LuckyDay

Ich habe 2 MQTT2_CLIENT

und aktuell werden die Publish auf dem falschen M2C gesendet

(Fhemupdate heute)

zwei Beispiele wo ich es nachstellen kann

Internals:
   DEVICETOPIC testIAD_Lampe
   FUUID      5d742317-f33f-8631-a177-7199f2c4d1c79759
   IODev      mqttclient1
   LASTInputDev mqttclient_localhost
   MSGCNT     5
   NAME       testIAD_Lampe
   NR         27
   STATE      set_off
   TYPE       MQTT2_DEVICE
   mqttclient_localhost_MSGCNT 5
   mqttclient_localhost_TIME 2021-05-23 14:29:12
   .attraggr:
   .attrminint:
   READINGS:
     2021-05-23 14:26:58   IODev           mqttclient1
     2021-05-23 14:29:12   POWER1          on
     2021-05-23 14:31:50   state           set_off
Attributes:
   IODev      mqttclient_localhost
   readingList stat/WZ_C_T_P/POWER1:.* POWER1

   room       test
   setList    off:noArg cmnd/WZ_C_T_P/POWER1 0
on:noArg cmnd/WZ_C_T_P/POWER1 1
   setStateList on off
   stateFormat POWER1


Internals:
   DEVICETOPIC WZ_C_T_P
   FUUID      5d51da74-f33f-8631-ef79-154909bef91419bd
   IODev      mqttclient1
   LASTInputDev mqttclient_localhost
   MSGCNT     13
   NAME       WZ_C_T_P
   NR         17
   STATE      Online
P: 1016 CO2: 543 VOC: 21
   TYPE       MQTT2_DEVICE
   mqttclient_localhost_MSGCNT 13
   mqttclient_localhost_TIME 2021-05-23 14:30:42
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0xa7f900)
   READINGS:
     2021-05-23 14:30:42   BMP180_Pressure 997.1
     2021-05-23 14:30:42   BMP180_Temperature 32.2
     2021-05-23 14:30:42   CCS811_TVOC     21
     2021-05-23 14:30:42   CCS811_eCO2     543
     2021-05-23 14:30:42   Channel_1       4
     2021-05-23 14:30:42   Channel_2       0
     2021-05-23 14:30:42   Channel_3       0
     2021-05-23 14:30:42   Color           0C0000
     2021-05-23 14:30:42   Dimmer          5
     2021-05-23 14:30:42   Fade            off
     2021-05-22 17:50:29   FallbackTopic   cmnd/DVES_80349D_fb/
     2021-05-22 17:50:29   GroupTopic      sonoffs
     2021-05-23 14:30:42   HSBColor        0,100,5
     2021-05-22 17:50:29   Hostname        WZ_C_T_P-5277
     2021-05-23 14:26:57   IODev           mqttclient1
     2021-05-22 17:50:29   IPAddress       192.168.2.116
     2021-05-23 14:26:59   LWT             Online
     2021-05-23 14:30:42   LedTable        off
     2021-05-23 14:30:42   LoadAvg         392
     2021-05-22 17:50:29   Module          Generic
     2021-05-22 18:55:11   POWER           
     2021-05-23 14:30:42   POWER1          on
     2021-05-23 14:30:42   PressureUnit    hPa
     2021-05-22 17:50:29   RestartReason   Software/System restart
     2021-05-23 14:30:42   Scheme          0
     2021-05-23 14:30:42   Sleep           0
     2021-05-23 14:30:42   SleepMode       Dynamic
     2021-05-23 14:30:42   Speed           1
     2021-05-23 14:30:42   TempUnit        C
     2021-05-23 14:30:42   Time            2021-05-23T13:30:42
     2021-05-23 14:30:42   Uptime          0T20:40:33
     2021-05-23 14:30:42   Vcc             3.480
     2021-05-22 17:50:29   Version         6.5.0(sonoff)
     2021-05-22 17:50:29   WebServerMode   Admin
     2021-05-23 14:30:42   Width           1
     2021-05-23 14:30:42   Wifi_AP         1
     2021-05-23 14:30:42   Wifi_BSSId      98:9B:CB:16:B1:F7
     2021-05-23 14:30:42   Wifi_Channel    3
     2021-05-23 14:30:42   Wifi_Downtime   0T00:00:48
     2021-05-23 14:30:42   Wifi_LinkCount  3
     2021-05-23 14:30:42   Wifi_RSSI       18
     2021-05-23 14:30:42   Wifi_SSId       FRITZBox2
     2021-05-23 14:30:42   rel_hpa         1016
     2021-05-23 14:35:45   state           off
Attributes:
   IODev      mqttclient_localhost
   devStateIcon devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot
   readingList tele/WZ_C_T_P/LWT:.* LWT
cmnd/WZ_C_T_P/POWER:.* POWER
tele/WZ_C_T_P/INFO1:.* { json2nameValue($EVENT) }
tele/WZ_C_T_P/INFO2:.* { json2nameValue($EVENT) }
tele/WZ_C_T_P/INFO3:.* { json2nameValue($EVENT) }
stat/WZ_C_T_P/RESULT:.* { json2nameValue($EVENT) }
stat/WZ_C_T_P/POWER:.* POWER
tele/WZ_C_T_P/STATE:.* { json2nameValue($EVENT) }
tele/WZ_C_T_P/SENSOR:.* { json2nameValue($EVENT) }
tele/WZ_C_T_P/UPTIME:.* { json2nameValue($EVENT) }
stat/WZ_C_T_P/POWER1:.* POWER1
   room       test
   setList    off:noArg cmnd/WZ_C_T_P/POWER1 0
on:noArg cmnd/WZ_C_T_P/POWER1 1
toggle:noArg cmnd/WZ_C_T_P/POWER1 2
Color:colorpicker,RGB cmnd/WZ_C_T_P/COLOR
Dimmer:colorpicker,BRI,0,5,100 cmnd/WZ_C_T_P/DIMMER
   stateFormat LWT
P: rel_hpa CO2: CCS811_eCO2 VOC: CCS811_TVOC
   userReadings rel_hpa:BMP180_Pressure:.* {sprintf("%.0f", ReadingsNum("WZ_C_T_P","BMP180_Pressure",900)+18.5 )}
   webCmd     :


Ausschnitt verbose 5
2021.05.23 14:44:24.340 4: WEB_192.168.2.41_57697 POST /fhem?cmd.testIAD_Lampe=set%20testIAD_Lampe%20on&XHR=1&fwcsrf=csrf_293415238302972&fw_id=180; BUFLEN:0
2021.05.23 14:44:24.340 5: Cmd: >set testIAD_Lampe on<
2021.05.23 14:44:24.341 3: MQTT2_DEVICE set testIAD_Lampe on
2021.05.23 14:44:24.342 5: Starting notify loop for testIAD_Lampe, 1 event(s), first is set_on
2021.05.23 14:44:24.346 5: mqttPublishList: not on any display, ignoring notify
2021.05.23 14:44:24.346 5: rg_dead: not on any display, ignoring notify
2021.05.23 14:44:24.349 5: End notify loop for testIAD_Lampe
2021.05.23 14:44:24.350 4: WEB: /fhem?cmd.testIAD_Lampe=set%20testIAD_Lampe%20on&XHR=1&fwcsrf=csrf_293415238302972&fw_id=180 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2021.05.23 14:44:24.351 5: GET /fhem?fwcsrf=csrf_293415238302972&cmd=%7B%20int(time*1000)%20%7D&XHR=1 HTTP/1.1
Host: 192.168.2.118:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: keep-alive
Referer: http://192.168.2.118:8083/fhem?room=test
2021.05.23 14:44:24.352 4: WEB_192.168.2.41_57699 GET /fhem?fwcsrf=csrf_293415238302972&cmd=%7B%20int(time*1000)%20%7D&XHR=1; BUFLEN:0
2021.05.23 14:44:24.353 5: Cmd: >{ int(time*1000) }<
2021.05.23 14:44:24.354 4: WEB: /fhem?fwcsrf=csrf_293415238302972&cmd=%7B%20int(time*1000)%20%7D&XHR=1 / RL:34 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2021.05.23 14:44:24.357 5: mqttclient1: dispatch autocreate=no\000hc1885\000cmnd/WZ_C_T_P/POWER1\0001
2021.05.23 14:44:24.569 5: GET /fhem?fwcsrf=csrf_293415238302972&cmd=%7B%20int(time*1000)%20%7D&XHR=1 HTTP/1.1
Host: 192.168.2.118:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
DNT: 1
Connection: keep-alive
Referer: http://192.168.2.118:8083/fhem?room=test




Wie überzeuge das MQTT2_DEVICE wieder auf dem richtigen Client zu senden? dauerhaft


in meiner fhem.cfg steht erst der mqttclient1 danach der mqttclient_localhost - historisch gewachsen,
sollte doch nichts ausmachen.

Anmerkung
ebenso nach Stromausfall, lade ich kein Statefile, weil a alt und b unbrauchbar.

LuckyDay

Mit der heutigen fhem.pl

funktioniert das senden wieder, das Reading IODev wid nachwievor der falsche M2Client angezeigt.

Internals:
   DEVICETOPIC testIAD_Lampe
   FUUID      5d742317-f33f-8631-a177-7199f2c4d1c79759
   IODev      mqttclient_localhost
   LASTInputDev mqttclient_localhost
   MSGCNT     8
   NAME       testIAD_Lampe
   NR         27
   STATE      on
   TYPE       MQTT2_DEVICE
   mqttclient_localhost_MSGCNT 8
   mqttclient_localhost_TIME 2021-05-24 12:13:26
   .attraggr:
   .attrminint:
   READINGS:
     2021-05-24 12:12:04   IODev           mqttclient1
     2021-05-24 12:13:26   POWER1          on
     2021-05-24 12:13:26   state           set_on
Attributes:
   IODev      mqttclient_localhost
   readingList stat/WZ_C_T_P/POWER1:.* POWER1

   room       test
   setList    off:noArg cmnd/WZ_C_T_P/POWER1 0
on:noArg cmnd/WZ_C_T_P/POWER1 1
   setStateList on off
   stateFormat POWER1


nach attr IODev neu setzen
ist das Reading richtig

2021-05-24 12:21:34   IODev           mqttclient_localhost

nach shutdown restart (mit aktuellem statfile)  wieder falsch
2021-05-24 12:23:37   IODev           mqttclient1

rudolfkoenig

Ich frag mich nur, wie Du das hinkriegst: ich kann z.Zt. nur mit Tricks ein IODev Reading erzeugen, was vom IODev Attribut abweicht, und nach save+shutdown restart ist selbst das wieder weg: im Reading steht der Wert des Attributes drin.

Kannst Du mir bitte helfen das Problem nachzustellen?

LuckyDay

define mqttclient1 MQTT2_CLIENT localhost:1885
setuuid mqttclient1 5d51d91c-f33f-8631-ce33-b84641f16533c63e
attr mqttclient1 autocreate no
attr mqttclient1 clientId hc1885
attr mqttclient1 event-on-update-reading state
attr mqttclient1 keepaliveTimeout 60
attr mqttclient1 room System->MQTT2

define testIAD_Lampe MQTT2_DEVICE
setuuid testIAD_Lampe 5d742317-f33f-8631-a177-7199f2c4d1c79759
attr testIAD_Lampe IODev mqttclient_localhost
attr testIAD_Lampe readingList stat/WZ_C_T_P/POWER1:.* POWER1\
attr testIAD_Lampe room test
attr testIAD_Lampe setList off:noArg cmnd/WZ_C_T_P/POWER1 0\
on:noArg cmnd/WZ_C_T_P/POWER1 1
attr testIAD_Lampe setStateList on off
attr testIAD_Lampe stateFormat POWER1

define mqttclient_localhost MQTT2_CLIENT localhost:1883
setuuid mqttclient_localhost 5d8f71a5-f33f-8631-edc8-b54c7657f0a1a12d
attr mqttclient_localhost autocreate no
attr mqttclient_localhost clientId localhost
attr mqttclient_localhost event-on-update-reading state
attr mqttclient_localhost keepaliveTimeout 10
attr mqttclient_localhost room System->MQTT2


So ist die Reinfolge in der fhem.cfg
un auch der "Fehler" bei mir nachstellbar.

Testweise hatte ich den -> define mqttclient_localhost verschoben nach oben vor den ganzen MQTT2_DEVICE s , dann tut das so wie du das wolltest.

bei nachsehen waren nur die  Devices  betroffen, die vor dem define mqttclient_localhost definiert sind.

rudolfkoenig

Bitte nach einem FHEM update erneut testen. In einer der zahlreichen Themas mit gleichen Inhalt habe ich was zum Nachstellen bekommen.

LuckyDay