Mystische mqtt device Autocreates, Jede Nacht ein neues !

Begonnen von Skusi, 31 Januar 2021, 16:37:38

Vorheriges Thema - Nächstes Thema

Skusi

Hallo,
ich weiß nun nicht mehr weiter.

Ich habe mir vor ein paar Wochen meinen Xiaomi Vaccuum Gen1 per Valetudo über mqtt in Fhem eingebunden. Läuft alles super !

Nun legt sich aber jede Nacht um exakt 3:18 Uhr ein neue mqtt2 device an:

Internals:
   CFGFN     
   CID        mqttjs_2cd1ccce
   DEF        mqttjs_2cd1ccce
   DEVICETOPIC MQTT2_mqttjs_2cd1ccce
   FUUID      60161391-f33f-98db-1624-912bc4d397e49188
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_mqttjs_2cd1ccce
   NR         13037
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-01-31 03:18:58   config_command_topic Geraete/BOB/command
     2021-01-31 03:18:58   config_device_identifiers_1 BOB
     2021-01-31 03:18:58   config_device_manufacturer Roborock
     2021-01-31 03:18:58   config_device_model rockrobo.vacuum.v1
     2021-01-31 03:18:58   config_device_name BOB
     2021-01-31 03:18:58   config_device_sw_version 0.10.1
     2021-01-31 03:18:58   config_fan_speed_list_1 whisper
     2021-01-31 03:18:58   config_fan_speed_list_2 min
     2021-01-31 03:18:58   config_fan_speed_list_3 medium
     2021-01-31 03:18:58   config_fan_speed_list_4 high
     2021-01-31 03:18:58   config_fan_speed_list_5 max
     2021-01-31 03:18:58   config_json_attributes_topic Geraete/BOB/attributes
     2021-01-31 03:18:58   config_name     BOB
     2021-01-31 03:18:58   config_schema   state
     2021-01-31 03:18:58   config_send_command_topic Geraete/BOB/custom_command
     2021-01-31 03:18:58   config_set_fan_speed_topic Geraete/BOB/set_fan_speed
     2021-01-31 03:18:58   config_state_topic Geraete/BOB/state
     2021-01-31 03:18:58   config_supported_features_1 start
     2021-01-31 03:18:58   config_supported_features_10 send_command
     2021-01-31 03:18:58   config_supported_features_2 pause
     2021-01-31 03:18:58   config_supported_features_3 stop
     2021-01-31 03:18:58   config_supported_features_4 return_home
     2021-01-31 03:18:58   config_supported_features_5 battery
     2021-01-31 03:18:58   config_supported_features_6 status
     2021-01-31 03:18:58   config_supported_features_7 locate
     2021-01-31 03:18:58   config_supported_features_8 clean_spot
     2021-01-31 03:18:58   config_supported_features_9 fan_speed
     2021-01-31 03:18:58   config_unique_id BOB
     2021-01-31 03:18:57   subscriptions   Geraete/BOB/command Geraete/BOB/custom_command Geraete/BOB/set_fan_speed
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList mqttjs_2cd1ccce:homeassistant/vacuum/Geraete_BOB/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }
   room       MQTT2_DEVICE


Der Name hat immer das Muster mqttjs_2XXXXXXX

Das unter readingList  genannte Topic homeassistant/vacuum/Geraete_BOB/ ist nicht das Topic das in meinem Aktiven Sauger eingetragen ist.

Es werden auch Nachrichten über diese Topic geschickt. Hat jemand einen Tipp wie ich den Ursprung dieser Messages finden und ausschalten kann ?

Kann es sein das es vom Raspberry kommt, da ich dort mal versucht hatte den Valetudo Mapper zu installieren? Das hatte ich dann irgendwann aufgegeben und nun brauche ich die Funktion auch nicht mehr. Ich hab aber keine Ahnung wo das vielleicht im Hintergrund noch aktiv ist und vielleicht der Ursprung der Nachrichen ist. Das lief irgendwie über NPM...

Jemand ne Idee wie ich das angehen kann ?


HP ThinClient 630, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,Tasmota+IR Lesekopf an Stromz., MAX Fensterkontakte, IButton, Fingerprint, SonOff Tasmota, ESP LED Controler, WLed,zigbee2mqtt...

Otto123

Hi,

also ich weiß warum es passiert aber erstmal nicht wie Du die eigentliche Ursache bekämpfst.

Dein MQTT Prozess kommt mit einer zufälligen Client ID. Offenbar hast Du nachts Inettrennung und dann baut der MQTT mit einer neuen CID die Verbindung wieder auf. Dann wird eine neues Device angelegt.

Wie sieht denn dein eigentliches Roborock MQTT Device aus? Wahrscheinlich reicht es wenn du dort die CID löschst.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Skusi

Also das es mit der Internet Trennung zusammenhängt hatte ich auch schon gedacht, aber meine Trennung passiert nicht zu diesem Zeitpunkt, sagt die Fritzbox.

Hier der List von meinem aktiven Robo:

Internals:
   CID        BOB
   DEF        BOB
   DEVICETOPIC BOB
   FUUID      5ff03838-f33f-98db-80ea-7eae7a284b5eae5b
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 4
   MQTT2_FHEM_Server_TIME 2021-01-31 03:19:13
   MSGCNT     4
   NAME       BOB
   NR         719
   STATE      docked
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-01-02 11:58:21   attrTemplateVersion 20200522 or prior
     2021-01-31 03:19:08   battery_level   100
     2021-01-31 03:19:13   bin_in_time     1404
     2021-01-31 03:19:13   cleanArea       12182.3
     2021-01-31 03:19:13   cleanCount      310
     2021-01-31 03:19:13   cleanTime       202.1
     2021-01-31 03:19:13   currentCleanArea 0.9
     2021-01-31 03:19:13   currentCleanTime 0.0
     2021-01-02 12:31:14   destinations   
     2021-01-27 13:19:56   error           Cliff sensors alarm, carry the robot to different place
     2021-01-27 13:19:56   errorCode       3
     2021-01-03 10:47:41   fan_power       set min
     2021-01-31 03:19:08   fan_speed       medium
     2021-01-31 03:19:13   filter          98.1
     2021-01-03 10:51:08   get_destinations set
     2021-01-31 03:19:13   last_bin_full   -1
     2021-01-31 03:19:13   last_bin_out    1610302989407
     2021-01-31 03:19:13   last_loaded_map_date 1611768774525
     2021-01-31 03:19:13   last_loaded_map_name Standard
     2021-01-31 03:19:13   last_run_stats_area 0.9
     2021-01-31 03:19:13   last_run_stats_duration 0
     2021-01-31 03:19:13   last_run_stats_endTime 1611767867000
     2021-01-31 03:19:13   last_run_stats_errorCode 0
     2021-01-31 03:19:13   last_run_stats_errorDescription No error
     2021-01-31 03:19:13   last_run_stats_finishedFlag false
     2021-01-31 03:19:13   last_run_stats_startTime 1611767823000
     2021-01-31 03:19:13   mainBrush       97.8
     2021-01-14 19:54:44   map_data        ERROR: Unknown format
     2021-01-02 13:06:16   play_sound      set /opt/rockrobo/resources/sounds/custom/R2D2-yeah.wav
     2021-01-31 03:19:13   sensor          28.3
     2021-01-31 03:19:13   sideBrush       198.3
     2021-01-30 10:50:17   sound           set opt/rockrobo/resources/sounds/custom/R2D2-yeah.wav
     2021-01-31 03:19:13   state           docked
     2021-01-31 03:19:13   valetudo_state_id 8
     2021-01-31 03:19:13   valetudo_state_name Charging
     2021-01-27 18:17:03   zone            set Alles
Attributes:
   IODev      MQTT2_FHEM_Server
   comment    For original code for "attrTmqtt2_roborock_valetudo2svg()" see <a href="https://forum.fhem.de/index.php/topic,104687.msg986304.html#msg986304">this forum thread</a>. To display generated map seperately, define a weblink device: <br>define valetudo_map weblink htmlCode <img src="fhem/images/BOB_map.svg">
   devStateIcon { '<img src="fhem/images/mqttjs_fa51d44e_map.png" style="max-width:256;;max-height:256;;">' }
   event-on-change-reading state
   icon       vacuum_top
   model      roborock
   readingList Geraete/BOB/config:.* { json2nameValue($EVENT) }
  Geraete/BOB/state:.* { json2nameValue($EVENT) }
  Geraete/BOB/attributes:.* { json2nameValue($EVENT) }
  Geraete/BOB/map_data:.* {attrTmqtt2_roborock_Geraete2svg("map_data",$EVENT,"www/images/BOB_map.svg")}
  Geraete/BOB/destinations.* { json2nameValue($EVENT) }
   room       2.1_Geräte
   setList    start:noArg Geraete/BOB/command start
  charge:noArg Geraete/BOB/command return_to_base
  stop:noArg Geraete/BOB/command stop
  spot:noArg Geraete/BOB/command clean_spot
  pause:noArg Geraete/BOB/command pause
  locate:noArg Geraete/BOB/command locate
  fan_power:min,medium,high,max,mop Geraete/BOB/set_fan_speed $EVTPART1
  zone Geraete/BOB/custom_command {"command":"zoned_cleanup","zone_ids":["$EVTPART1"]}
  goto Geraete/BOB/custom_command {"command":"go_to","spot_id":"$EVTPART1"}
  load_map Geraete/BOB/custom_command {"command":"load_map","name":"$EVTPART1"}
  store_map Geraete/BOB/custom_command {"command":"store_map","name":"$EVTPART1"}
  sound Geraete/BOB/custom_command {"command":"play_sound","file":"$EVTPART1"}
  get_destinations:noArg Geraete/BOB/custom_command get_destinations
   setStateList charge locate pause stop start


HP ThinClient 630, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,Tasmota+IR Lesekopf an Stromz., MAX Fensterkontakte, IButton, Fingerprint, SonOff Tasmota, ESP LED Controler, WLed,zigbee2mqtt...

Otto123

Naja die readingslist kommt da nicht vor und sieht anders aus:
homeassistant/vacuum/Geraete_BOB/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }

Schnelle Abhilfe: lass das eine Gerät so und lösch dort die CID:
attr MQTT2_mqttjs_2cd1ccce readingList homeassistant/vacuum/Geraete_BOB/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }

Dein MQTT2_FHEM_Server steht auf autocreate complex? Wenn ja solltest Du besser auf simple stellen, es sei denn Du brauchst es bewusst.

Vielleicht ist 3:18 Schichtwechsel? Ich weiß es nicht :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Stichwort noch: ignoreRegexp.
Den ...config-Zweig benötigt man für FHEM nicht.
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

rudolfkoenig

Alternativ entfernt man ClientID aus dem readingsList, und benennt das Geraet um oder man ignoriert es.