Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für Xiaomi Saugroboter Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Support Thread für Xiaomi Saugroboter Plugin

    Offizieller Support Thread fürs Xiaomi Saugroboter Plugin

    #2
    Leider wurde wieder mal was in der miio Library verbockt. Aktuell muss man mit folgendem Befehl das Problem beheben, Fix wird wohl bald mal kommen. Eventuell hilft dann ein Update der Bibliothek.
    Code:
    sed -i 's/resultcallback/result_callback/g' /home/smarthome/.local/lib/python3.9/site-packages/miio/integrations/vacuum/roborock/vacuum.py

    Kommentar


      #3
      Ich habe eine neue Version 1.2.1 in den Develop geschoben. Dieser ist zwingend nötig, wenn man mit einem frisch resetteten Gerät arbeitet.

      Generell ist aber wohl zu empfehlen, die neueste Valetudo Firmware zu nutzen und auf MQTT zu setzen. Vielleicht können wir Erfahrungen hierzu hier austauschen?

      Kommentar


        #4
        Ich hab mal versucht, den Robi mittels MQTT einzubinden, was großteils klappt. Irgendwie ist aber offenbar nicht alles möglich, was über das Plugin möglich ist.
        Wer's testen will - roborock_eg muss durch den eigenen Saugernamen ersetzt werden.
        Code:
        %yaml 1.1
        ---
        %yaml 1.1
        ---
        roborock:
            #struct: xiaomi_vac.saugroboter
            status:
                wifi:
                    frequency:
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/WifiConfigurationCapability/frequency
                        mqtt_retain: True
                        visu_acl: ro
                    ip:
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/WifiConfigurationCapability/ips
                        mqtt_retain: True
                        visu_acl: ro
                    signal:
                        type: num
                        mqtt_topic_in: valetudo/roborock_eg/WifiConfigurationCapability/signal
                        mqtt_retain: True
                        visu_acl: ro
                    ssid:
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/WifiConfigurationCapability/ssid
                        mqtt_retain: True
                        visu_acl: ro
                    refresh:
                        type: bool
                        on_change: .befehl = "PERFORM" if True else None
                        enforce_updates: True
                        visu_acl: rw
                        autotimer: 1s = 0
                        befehl:
                            type: str
                            mqtt_topic_out: valetudo/roborock_eg/WifiConfigurationCapability/refresh/set
                            mqtt_retain: True
                            visu_acl: rw
        
                        status:
                            type: str
                            mqtt_topic_in: valetudo/roborock_eg/WifiConfigurationCapability/refresh
                            mqtt_retain: False
                            visu_acl: ro
                batterie:
                    level:
                        name: 'Batterie Level'
                        type: num
                        mqtt_topic_in: valetudo/roborock_eg/BatteryStateAttribute/level
                        mqtt_retain: True
                        visu_acl: ro
                    status:
                        name: 'Batterie Status'
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/BatteryStateAttribute/status
                        mqtt_retain: True
                        visu_acl: ro
                zustand:
                    name: 'Betriebszustand'
                    type: str
                    mqtt_topic_in: valetudo/roborock_eg/StatusStateAttribute/status
                    mqtt_retain: True
                    visu_acl: ro
                    on_change:
                      - ..reinigt = True if sh..self() == "cleaning" else False
                      - ..pausiert = True if sh..self() == "paused" else False
                reinigt:
                    name: 'aktuell am reinigen?'
                    type: bool
                    visu_acl: ro
                pausiert:
                    name: 'pausiert?'
                    type: bool
                    visu_acl: ro
                zonen_reinigung:
                    name: 'zone?'
                    type: bool
                    visu_acl: ro
                zustandsdetail:
                    name: 'Betriebszustandsdetail'
                    type: str
                    mqtt_topic_in: valetudo/roborock_eg/StatusStateAttribute/detail
                    mqtt_retain: True
                    visu_acl: ro
                    on_change:
                      - ..zonen_reinigung = True if sh..self() == "zone" else False
                error:
                    type: str
                    mqtt_topic_in: valetudo/roborock_eg/StatusStateAttribute/error
                    mqtt_retain: True
                    visu_acl: ro
            befehl:
                type: str
                mqtt_topic_out: valetudo/roborock_eg/BasicControlCapability/operation/set
                mqtt_topic_in: valetudo/roborock_eg/BasicControlCapability/operation
                mqtt_retain: False
                visu_acl: rw
        
                start:
                    type: bool
                    on_change: .. = "START" if True else None
                    enforce_updates: true
                    visu_acl: rw
                    autotimer: 1s = 0
                stop:
                    type: bool
                    on_change: .. = "STOP" if True else None
                    enforce_updates: true
                    visu_acl: rw
                    autotimer: 1s = 0
                pause:
                    type: bool
                    on_change: .. = "PAUSE" if True else None
                    enforce_updates: true
                    visu_acl: rw
                    autotimer: 1s = 0
                basis:
                    type: bool
                    on_change: .. = "HOME" if True else None
                    enforce_updates: true
                    visu_acl: rw
                    autotimer: 1s = 0
                goto:
                    type: dict
                    mqtt_topic_out: valetudo/roborock_eg/GoToLocationCapability/go/set
                    mqtt_topic_in: valetudo/roborock_eg/GoToLocationCapability/go
                    mqtt_retain: False
                    visu_acl: rw
                segment_clean:
                    type: dict
                    mqtt_topic_out: valetudo/roborock_eg/MapSegmentationCapability/clean/set
                    mqtt_topic_in: valetudo/roborock_eg/MapSegmentationCapability/clean
                    mqtt_retain: False
                    visu_acl: rw
                zone_clean:
                    type: dict
                    mqtt_topic_out: valetudo/roborock_eg/ZoneCleaningCapability/start/set
                    mqtt_topic_in: valetudo/roborock_eg/ZoneCleaningCapability/start
                    mqtt_retain: False
                    visu_acl: rw
                find:
                    type: bool
                    mqtt_topic_out: valetudo/roborock_eg/LocateCapability/locate/set
                    mqtt_topic_in: valetudo/roborock_eg/LocateCapability/locate
                    mqtt_retain: False
                    visu_acl: rw
                luefter_speed:
                    type: str
                    mqtt_topic_out: valetudo/roborock_eg/FanSpeedControlCapability/preset/set
                    mqtt_topic_in: valetudo/roborock_eg/FanSpeedControlCapability/preset
                    mqtt_retain: True
                    visu_acl: rw
        
                volume:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/SpeakerVolumeControlCapability/volume
                    mqtt_topic_init: valetudo/roborock_eg/SpeakerVolumeControlCapability/volume
                    mqtt_retain: True
                    visu_acl: rw
            attachments:
                wassertank:
                    type: bool
                    mqtt_topic_in: valetudo/roborock_eg/AttachmentStateAttribute/watertank
                    mqtt_retain: True
                    visu_acl: ro
                mop:
                    type: bool
                    mqtt_topic_in: valetudo/roborock_eg/AttachmentStateAttribute/mop
                    mqtt_retain: True
                    visu_acl: ro
                staubbehaelter:
                    type: bool
                    mqtt_topic_in: valetudo/roborock_eg/AttachmentStateAttribute/dustbin
                    mqtt_retain: True
                    visu_acl: ro
        
            karte:
                standard:
                    type: str
                    #mqtt_topic_in: valetudo/roborock_eg/MapData/map
                    #mqtt_retain: True
                    visu_acl: ro
                homeassistant:
                    type: str
                    #mqtt_topic_in: valetudo/roborock_eg/MapData/map-data
                    #mqtt_retain: True
                    visu_acl: ro
                segments:
                    type: dict
                    mqtt_topic_in: valetudo/roborock_eg/MapData/segments
                    mqtt_retain: False
                    visu_acl: ro
        
            statistik:
                reinigungszeit:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/CurrentStatisticsCapability/time
                    mqtt_retain: True
                    visu_acl: ro
                flaeche:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/CurrentStatisticsCapability/area
                    mqtt_retain: True
                    visu_acl: ro
                refresh:
                    type: bool
                    on_change: .befehl = "PERFORM" if True else None
                    enforce_updates: True
                    visu_acl: rw
                    autotimer: 1s = 0
                    befehl:
                        type: str
                        mqtt_topic_out: valetudo/roborock_eg/CurrentStatisticsCapability/refresh/set
                        mqtt_retain: True
                        visu_acl: ro
                    status:
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/CurrentStatisticsCapability/refresh
                        mqtt_retain: False
                        visu_acl: ro
            verbrauchsmaterial:
                brush_main:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/ConsumableMonitoringCapability/brush-main
                    mqtt_retain: True
                    visu_acl: ro
                brush_side:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/ConsumableMonitoringCapability/brush-side_right
                    mqtt_retain: True
                    visu_acl: ro
                filter:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/ConsumableMonitoringCapability/filter-main
                    mqtt_retain: True
                    visu_acl: ro
                sensor:
                    type: num
                    mqtt_topic_in: valetudo/roborock_eg/ConsumableMonitoringCapability/sensor-all
                    mqtt_retain: True
                    visu_acl: ro
                refresh:
                    type: bool
                    on_change: .befehl = "PERFORM" if True else None
                    autotimer: 1s = 0
                    enforce_updates: True
                    visu_acl: rw
                    befehl:
                        type: str
                        mqtt_topic_out: valetudo/roborock_eg/ConsumableMonitoringCapability/refresh/set
                        mqtt_retain: True
                        visu_acl: rw
        
                    status:
                        type: str
                        mqtt_topic_in: valetudo/roborock_eg/ConsumableMonitoringCapability/refresh
                        mqtt_retain: False
                        visu_acl: ro
        Zuletzt geändert von Onkelandy; 18.08.2022, 15:14. Grund: fixed yaml

        Kommentar


          #5
          Würde es ja auch Testen, aber mein robo is zu alt und wird nicht unterstützt

          Kommentar


            #6
            ah ok Na, ehrlich gesagt ist mqtt eh ein bisschen ein Rückschritt zu deinem Plugin was die Features anlangt. Andererseits ist eh die Frage, was man wirklich braucht..

            Kommentar


              #7
              Hallo,

              für die direkte mqtt Anbindung muss man valetudo installieren, richtig?

              Gruß,
              Hendrik

              Kommentar


                #8
                Zitat von henfri Beitrag anzeigen
                Hallo,

                für die direkte mqtt Anbindung muss man valetudo installieren, richtig?

                Gruß,
                Hendrik
                Soweit ich das gesehen habe, ja. Ist aber gerade in der aktuellen Version durchaus eine Empfehlung. Ich hatte zuvor Valetudo RE am Start, was auch prima funktioniert hat und offenbar für MQTT noch mehr Unterstützung bietet. Wurde aber vor einem Jahr das letzte Mal aktualisiert. Was nutzt du aktuell?

                Kommentar


                  #9
                  Ich nutze die originale FW und das Plugin.

                  Hab schon zu viele Baustellen für valetudo

                  Kommentar


                    #10
                    Bei mir läuft das plugin nicht. Ich habe das folgendermaßen konfiguriert:

                    plugin.yaml:
                    Code:
                    xiaomi_vac:
                        plugin_name: xiaomi_vac
                        ip: <IP-Adresse>
                        token: <token>
                    item:
                    Code:
                    Zentral:
                        # Saugroboter Xiaomi Dreame L10s Ultra
                        Saugroboter:
                            struct: xiaomi_vac.saugroboter​
                    Fehlermeldung im Log:
                    Code:
                    Xiaomi_Robvac: Error Unable to recover failed command

                    Kommentar


                      #11
                      Da brauchts definitiv mehr Infos bitte. Stell das Log mal auf debug und poste hier oder mittels gist.
                      Welche python miio Version ist am Start?

                      Was passiert, wenn du in einem Python3 mit dem smarthome User das ausführst?
                      Code:
                      try:
                          from miio.vacuum import Vacuum, VacuumException, Consumable
                      except Exception:
                          from miio.integrations.vacuum.roborock import RoborockVacuum, VacuumException​

                      Kommentar


                        #12
                        Zitat von Onkelandy Beitrag anzeigen
                        from miio.integrations.vacuum.roborock import RoborockVacuum, VacuumException​
                        Hier kommt nen Fehler: "SyntaxError: invalid non-printable character U+200B"

                        Zitat von Onkelandy Beitrag anzeigen
                        brauchts definitiv mehr Infos bitte. Stell das Log mal auf debug und poste hier oder mittels gist.
                        Welche python miio Version ist am Start?
                        Wenn ich das hochstelle habe ich noch mehr Daten im Log. Es sind jetzt schon, nur heute, 2.1 MByte. Macht das Sinn, dass der 1000000x das gleiche ins Log schreibt? Kann man das unterdrücken? Aber ich probiere das mal umzustellen.

                        Version 0.5.12 habe ich.

                        Kommentar


                          #13
                          Hilft das?

                          Code:
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Plugin 'xiaomi_vac': /usr/local/smarthome/plugins/xiaomi_vac/webif, xiaomi_vac, {'/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/xiaomi_vac/webif'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}}, Robvac,
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Plugin 'xiaomi_vac': /usr/local/smarthome/plugins/xiaomi_vac/webif, xiaomi_vac, {'/': {'tools.staticdir.root': '/usr/local/smarthome/plugins/xiaomi_vac/webif'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}}, Robvac,
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Plugin : Init Webif
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Plugin : Init Webif
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Plugin Start!
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Plugin Start!
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  scheduler_add: name = plugins.xiaomi_vac.Xiaomi_Robvac Read cycle, parameters: prio=5, cycle=12
                          2023-02-20  17:42:17 DEBUG    plugins.xiaomi_vac  scheduler_add: name = plugins.xiaomi_vac.Xiaomi_Robvac Read cycle, parameters: prio=5, cycle=12
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.serial keyword serial
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.serial keyword serial
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Batterie Status keyword battery
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Batterie Status keyword battery
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: aktuell am reinigen? keyword active
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: aktuell am reinigen? keyword active
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Betriebszustand keyword state
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Betriebszustand keyword state
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.reinigungszeit keyword clean_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.reinigungszeit keyword clean_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_high keyword carpetmode_high
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_high keyword carpetmode_high
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_integral keyword carpetmode_integral
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_integral keyword carpetmode_integral
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_low keyword carpetmode_low
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_low keyword carpetmode_low
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_enabled keyword carpetmode_enabled
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_enabled keyword carpetmode_enabled
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_stall_time keyword carpetmode_stall_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.carpetmode_stall_time keyword carpetmode_stall_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.errorcode keyword error
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.errorcode keyword error
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.error keyword is_error
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.error keyword is_error
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_status keyword dnd_status
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_status keyword dnd_status
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_start keyword dnd_start
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_start keyword dnd_start
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_end keyword dnd_end
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.dnd_end keyword dnd_end
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.zonen_reinigung keyword zone_cleaning
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.zonen_reinigung keyword zone_cleaning
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.pausiert keyword pause
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.pausiert keyword pause
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.segment_status keyword segment_status
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.live.segment_status keyword segment_status
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.start keyword set_start
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.start keyword set_start
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.stop keyword set_stop
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.stop keyword set_stop
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.pause keyword set_pause
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.pause keyword set_pause
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.basis keyword set_home
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.basis keyword set_home
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.spot_cleaner keyword set_spot
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.spot_cleaner keyword set_spot
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.find keyword set_find
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.find keyword set_find
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.reset_filtertimer keyword reset_filtertimer
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.reset_filtertimer keyword reset_filtertimer
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.disable_dnd keyword disable_dnd
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.disable_dnd keyword disable_dnd
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.set_dnd keyword set_dnd
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.set_dnd keyword set_dnd
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.goto keyword go_to
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.goto keyword go_to
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.clean_zone keyword clean_zone
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.clean_zone keyword clean_zone
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.segment_clean keyword segment_clean
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.befehl.segment_clean keyword segment_clean
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.anzahl_reinigungen keyword clean_total_count
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.anzahl_reinigungen keyword clean_total_count
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.gereinigte_flaeche keyword clean_total_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.gereinigte_flaeche keyword clean_total_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.gesamtlaufzeit keyword clean_total_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.gesamtlaufzeit keyword clean_total_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsids keyword clean_ids
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsids keyword clean_ids
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last0_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last0_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.complete keyword last0_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.complete keyword last0_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.reinigungszeit keyword last0_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.reinigungszeit keyword last0_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.start_date keyword last0_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.start_date keyword last0_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.start_time keyword last0_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.start_time keyword last0_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.end_date keyword last0_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.end_date keyword last0_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.end_time keyword last0_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0.end_time keyword last0_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0 keyword clean_details_last0
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails0 keyword clean_details_last0
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last1_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last1_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.complete keyword last1_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.complete keyword last1_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.reinigungszeit keyword last1_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.reinigungszeit keyword last1_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.start_date keyword last1_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.start_date keyword last1_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.start_time keyword last1_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.start_time keyword last1_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.end_date keyword last1_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.end_date keyword last1_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.end_time keyword last1_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1.end_time keyword last1_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1 keyword clean_details_last1
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails1 keyword clean_details_last1
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last2_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last2_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.complete keyword last2_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.complete keyword last2_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.reinigungszeit keyword last2_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.reinigungszeit keyword last2_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.start_date keyword last2_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.start_date keyword last2_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.start_time keyword last2_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.start_time keyword last2_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.end_date keyword last2_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.end_date keyword last2_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.end_time keyword last2_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2.end_time keyword last2_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2 keyword clean_details_last2
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails2 keyword clean_details_last2
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last3_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: gereinigte Fläche keyword last3_area
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.complete keyword last3_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.complete keyword last3_complete
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.reinigungszeit keyword last3_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.reinigungszeit keyword last3_duration
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.start_date keyword last3_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.start_date keyword last3_start_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.start_time keyword last3_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.start_time keyword last3_start_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.end_date keyword last3_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.end_date keyword last3_end_date
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.end_time keyword last3_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3.end_time keyword last3_end_time
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3 keyword clean_details_last3
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.statistik.reinigungsdetails3 keyword clean_details_last3
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.luefter_speed keyword fanspeed
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.luefter_speed keyword fanspeed
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.teppichmodus keyword carpet_mode
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.teppichmodus keyword carpet_mode
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.volume keyword volume
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.volume keyword volume
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.dnd keyword dnd_onoff
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.dnd keyword dnd_onoff
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.timezone keyword timezone
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.timezone keyword timezone
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.timer keyword timer
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.timer keyword timer
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.reset keyword reset
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.einstellungen.reset keyword reset
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_seite keyword side_brush
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_seite keyword side_brush
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_seite_verbleibend keyword side_brush_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_seite_verbleibend keyword side_brush_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_haupt keyword main_brush
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_haupt keyword main_brush
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_haupt_verbleibend keyword main_brush_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.buerste_haupt_verbleibend keyword main_brush_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.filter keyword filter
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.filter keyword filter
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.filter_verbleibend keyword filter_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.filter_verbleibend keyword filter_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.sensor_reinigen keyword sensor_dirty
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.sensor_reinigen keyword sensor_dirty
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.sensor_reinigen_verbleibend keyword sensor_dirty_left
                          2023-02-20  17:42:30 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Zentral.Saugroboter.stundenzaehler.sensor_reinigen_verbleibend keyword sensor_dirty_left
                          2023-02-20  17:42:44 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Run method. Found items {'serial': Item: Zentral.Saugroboter.serial, 'battery': Item: Zentral.Saugroboter.live.batterie_status, 'active': Item: Zentral.Saugroboter.live.reinigt, 'state': Item: Zentral.Saugroboter.live.zustand, 'area': Item: Zentral.Saugroboter.live.flaeche, 'clean_time': Item: Zentral.Saugroboter.live.reinigungszeit, 'carpetmode_high': Item: Zentral.Saugroboter.live.carpetmode_high, 'carpetmode_integral': Item: Zentral.Saugroboter.live.carpetmode_integral, 'carpetmode_low': Item: Zentral.Saugroboter.live.carpetmode_low, 'carpetmode_enabled': Item: Zentral.Saugroboter.live.carpetmode_enabled, 'carpetmode_stall_time': Item: Zentral.Saugroboter.live.carpetmode_stall_time, 'error': Item: Zentral.Saugroboter.live.errorcode, 'is_error': Item: Zentral.Saugroboter.live.error, 'dnd_status': Item: Zentral.Saugroboter.live.dnd_status, 'dnd_start': Item: Zentral.Saugroboter.live.dnd_start, 'dnd_end': Item: Zentral.Saugroboter.live.dnd_end, 'zone_cleaning': Item: Zentral.Saugroboter.live.zonen_reinigung, 'pause': Item: Zentral.Saugroboter.live.pausiert, 'segment_status': Item: Zentral.Saugroboter.live.segment_status, 'set_start': Item: Zentral.Saugroboter.befehl.start, 'set_stop': Item: Zentral.Saugroboter.befehl.stop, 'set_pause': Item: Zentral.Saugroboter.befehl.pause, 'set_home': Item: Zentral.Saugroboter.befehl.basis, 'set_spot': Item: Zentral.Saugroboter.befehl.spot_cleaner, 'set_find': Item: Zentral.Saugroboter.befehl.find, 'reset_filtertimer': Item: Zentral.Saugroboter.befehl.reset_filtertimer, 'disable_dnd': Item: Zentral.Saugroboter.befehl.disable_dnd, 'set_dnd': Item: Zentral.Saugroboter.befehl.set_dnd, 'go_to': Item: Zentral.Saugroboter.befehl.goto, 'clean_zone': Item: Zentral.Saugroboter.befehl.clean_zone, 'segment_clean': Item: Zentral.Saugroboter.befehl.segment_clean, 'clean_total_count': Item: Zentral.Saugroboter.statistik.anzahl_reinigungen, 'clean_total_area': Item: Zentral.Saugroboter.statistik.gereinigte_flaeche, 'clean_total_duration': Item: Zentral.Saugroboter.statistik.gesamtlaufzeit, 'clean_ids': Item: Zentral.Saugroboter.statistik.reinigungsids, 'last0_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.flaeche, 'last0_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.complete, 'last0_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.reinigungszeit, 'last0_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.start_date, 'last0_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.start_time, 'last0_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.end_date, 'last0_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.end_time, 'clean_details_last0': Item: Zentral.Saugroboter.statistik.reinigungsdetails0, 'last1_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.flaeche, 'last1_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.complete, 'last1_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.reinigungszeit, 'last1_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.start_date, 'last1_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.start_time, 'last1_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.end_date, 'last1_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.end_time, 'clean_details_last1': Item: Zentral.Saugroboter.statistik.reinigungsdetails1, 'last2_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.flaeche, 'last2_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.complete, 'last2_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.reinigungszeit, 'last2_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.start_date, 'last2_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.start_time, 'last2_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.end_date, 'last2_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.end_time, 'clean_details_last2': Item: Zentral.Saugroboter.statistik.reinigungsdetails2, 'last3_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.flaeche, 'last3_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.complete, 'last3_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.reinigungszeit, 'last3_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.start_date, 'last3_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.start_time, 'last3_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.end_date, 'last3_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.end_time, 'clean_details_last3': Item: Zentral.Saugroboter.statistik.reinigungsdetails3, 'fanspeed': Item: Zentral.Saugroboter.einstellungen.luefter_speed, 'carpet_mode': Item: Zentral.Saugroboter.einstellungen.teppichmodus, 'volume': Item: Zentral.Saugroboter.einstellungen.volume, 'dnd_onoff': Item: Zentral.Saugroboter.einstellungen.dnd, 'timezone': Item: Zentral.Saugroboter.einstellungen.timezone, 'timer': Item: Zentral.Saugroboter.einstellungen.timer, 'reset': Item: Zentral.Saugroboter.einstellungen.reset, 'side_brush': Item: Zentral.Saugroboter.stundenzaehler.buerste_seite, 'side_brush_left': Item: Zentral.Saugroboter.stundenzaehler.buerste_seite_verbleibend, 'main_brush': Item: Zentral.Saugroboter.stundenzaehler.buerste_haupt, 'main_brush_left': Item: Zentral.Saugroboter.stundenzaehler.buerste_haupt_verbleibend, 'filter': Item: Zentral.Saugroboter.stundenzaehler.filter, 'filter_left': Item: Zentral.Saugroboter.stundenzaehler.filter_verbleibend, 'sensor_dirty': Item: Zentral.Saugroboter.stundenzaehler.sensor_reinigen, 'sensor_dirty_left': Item: Zentral.Saugroboter.stundenzaehler.sensor_reinigen_verbleibend}
                          2023-02-20  17:42:44 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Run method. Found items {'serial': Item: Zentral.Saugroboter.serial, 'battery': Item: Zentral.Saugroboter.live.batterie_status, 'active': Item: Zentral.Saugroboter.live.reinigt, 'state': Item: Zentral.Saugroboter.live.zustand, 'area': Item: Zentral.Saugroboter.live.flaeche, 'clean_time': Item: Zentral.Saugroboter.live.reinigungszeit, 'carpetmode_high': Item: Zentral.Saugroboter.live.carpetmode_high, 'carpetmode_integral': Item: Zentral.Saugroboter.live.carpetmode_integral, 'carpetmode_low': Item: Zentral.Saugroboter.live.carpetmode_low, 'carpetmode_enabled': Item: Zentral.Saugroboter.live.carpetmode_enabled, 'carpetmode_stall_time': Item: Zentral.Saugroboter.live.carpetmode_stall_time, 'error': Item: Zentral.Saugroboter.live.errorcode, 'is_error': Item: Zentral.Saugroboter.live.error, 'dnd_status': Item: Zentral.Saugroboter.live.dnd_status, 'dnd_start': Item: Zentral.Saugroboter.live.dnd_start, 'dnd_end': Item: Zentral.Saugroboter.live.dnd_end, 'zone_cleaning': Item: Zentral.Saugroboter.live.zonen_reinigung, 'pause': Item: Zentral.Saugroboter.live.pausiert, 'segment_status': Item: Zentral.Saugroboter.live.segment_status, 'set_start': Item: Zentral.Saugroboter.befehl.start, 'set_stop': Item: Zentral.Saugroboter.befehl.stop, 'set_pause': Item: Zentral.Saugroboter.befehl.pause, 'set_home': Item: Zentral.Saugroboter.befehl.basis, 'set_spot': Item: Zentral.Saugroboter.befehl.spot_cleaner, 'set_find': Item: Zentral.Saugroboter.befehl.find, 'reset_filtertimer': Item: Zentral.Saugroboter.befehl.reset_filtertimer, 'disable_dnd': Item: Zentral.Saugroboter.befehl.disable_dnd, 'set_dnd': Item: Zentral.Saugroboter.befehl.set_dnd, 'go_to': Item: Zentral.Saugroboter.befehl.goto, 'clean_zone': Item: Zentral.Saugroboter.befehl.clean_zone, 'segment_clean': Item: Zentral.Saugroboter.befehl.segment_clean, 'clean_total_count': Item: Zentral.Saugroboter.statistik.anzahl_reinigungen, 'clean_total_area': Item: Zentral.Saugroboter.statistik.gereinigte_flaeche, 'clean_total_duration': Item: Zentral.Saugroboter.statistik.gesamtlaufzeit, 'clean_ids': Item: Zentral.Saugroboter.statistik.reinigungsids, 'last0_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.flaeche, 'last0_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.complete, 'last0_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.reinigungszeit, 'last0_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.start_date, 'last0_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.start_time, 'last0_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.end_date, 'last0_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails0.end_time, 'clean_details_last0': Item: Zentral.Saugroboter.statistik.reinigungsdetails0, 'last1_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.flaeche, 'last1_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.complete, 'last1_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.reinigungszeit, 'last1_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.start_date, 'last1_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.start_time, 'last1_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.end_date, 'last1_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails1.end_time, 'clean_details_last1': Item: Zentral.Saugroboter.statistik.reinigungsdetails1, 'last2_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.flaeche, 'last2_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.complete, 'last2_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.reinigungszeit, 'last2_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.start_date, 'last2_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.start_time, 'last2_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.end_date, 'last2_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails2.end_time, 'clean_details_last2': Item: Zentral.Saugroboter.statistik.reinigungsdetails2, 'last3_area': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.flaeche, 'last3_complete': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.complete, 'last3_duration': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.reinigungszeit, 'last3_start_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.start_date, 'last3_start_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.start_time, 'last3_end_date': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.end_date, 'last3_end_time': Item: Zentral.Saugroboter.statistik.reinigungsdetails3.end_time, 'clean_details_last3': Item: Zentral.Saugroboter.statistik.reinigungsdetails3, 'fanspeed': Item: Zentral.Saugroboter.einstellungen.luefter_speed, 'carpet_mode': Item: Zentral.Saugroboter.einstellungen.teppichmodus, 'volume': Item: Zentral.Saugroboter.einstellungen.volume, 'dnd_onoff': Item: Zentral.Saugroboter.einstellungen.dnd, 'timezone': Item: Zentral.Saugroboter.einstellungen.timezone, 'timer': Item: Zentral.Saugroboter.einstellungen.timer, 'reset': Item: Zentral.Saugroboter.einstellungen.reset, 'side_brush': Item: Zentral.Saugroboter.stundenzaehler.buerste_seite, 'side_brush_left': Item: Zentral.Saugroboter.stundenzaehler.buerste_seite_verbleibend, 'main_brush': Item: Zentral.Saugroboter.stundenzaehler.buerste_haupt, 'main_brush_left': Item: Zentral.Saugroboter.stundenzaehler.buerste_haupt_verbleibend, 'filter': Item: Zentral.Saugroboter.stundenzaehler.filter, 'filter_left': Item: Zentral.Saugroboter.stundenzaehler.filter_verbleibend, 'sensor_dirty': Item: Zentral.Saugroboter.stundenzaehler.sensor_reinigen, 'sensor_dirty_left': Item: Zentral.Saugroboter.stundenzaehler.sensor_reinigen_verbleibend}
                          2023-02-20  17:42:48 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Error Unable to recover failed command
                          2023-02-20  17:42:48 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Error Unable to recover failed command
                          2023-02-20  17:42:48 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Update item Betriebszustand with key state = value disconnected
                          2023-02-20  17:42:48 DEBUG    plugins.xiaomi_vac  Xiaomi_Robvac: Update item Betriebszustand with key state = value disconnected
                          2023-02-20  17:42:48 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Keyword state, item Betriebszustand not changed - no connection! Resetting item to
                          2023-02-20  17:42:48 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Keyword state, item Betriebszustand not changed - no connection! Resetting item to​

                          Kommentar


                            #14
                            HMM, okay, ich glaub nicht, dass es am Plugin liegt, habe die gleiche miio Version wie du und keine Probleme. Der Test mit dem manuellen Import sieht eklig aus. Schau vielleicht mal hier: https://www.decodingweb.dev/solved-s...cter-in-python
                            Eventuell nochmals python-miio uninstallen und für den User neu installieren. Solange ein Import im "normalen" python3 nicht läuft, können wir eh nichts machen.
                            Du könntest höchsten beim Plugin init.py mal in den ersten Zeilen ein Debuglog ausgeben, was da los ist..

                            Code:
                            try:
                                from miio.vacuum import Vacuum, VacuumException, Consumable
                            except Exception as e:
                                self.logger.debug(f"Error {e}")
                                try:
                                    from miio.integrations.vacuum.roborock import RoborockVacuum, VacuumException
                                    from miio.integrations.vacuum.roborock.vacuum import Consumable
                                    REQUIRED_PACKAGE_IMPORTED = True
                                except Exception as e:
                            ​​​​​​​        self.logger.debug(f"Error {e}")
                                    REQUIRED_PACKAGE_IMPORTED = False
                            try:
                                from miio.vacuumcontainers import (VacuumStatus, ConsumableStatus, DNDStatus, CleaningDetails, CleaningSummary, Timer)
                            except Exception as e:
                                self.logger.debug(f"Error {e}")
                                from miio.integrations.vacuum.roborock.vacuumcontainers import (VacuumStatus, ConsumableStatus, DNDStatus, CleaningDetails, CleaningSummary, Timer)
                            Das try sollte eigentlich nur failen, wenn eine ältere Version von miio installiert ist. Dann werden nämlich andere Klassen nötig. Bei deiner Version wird's die aber nicht geben, insofern müsste dann eigentlich auch beim except ein Error auftreten, der im Log auftauchen sollte.

                            Schreibt er die letzten 5 Zeilen 100000 mal ins Log oder welche?

                            Wenn du in der __init__ Methode vom Plugin zu Beginn ein
                            Code:
                                    if not REQUIRED_PACKAGE_IMPORTED:
                                        self.logger.warning("Unable to import Python package 'python-miio' which is necessary.")
                                        self._init_complete = False
                            einfügst, sollte der Start des Plugins unterbunden und keine Logs mehr generiert werden.

                            Kommentar


                              #15
                              Zitat von Onkelandy Beitrag anzeigen
                              Schreibt er die letzten 5 Zeilen 100000 mal ins Log oder welche?
                              Na generell ist das ja auch bei anderen plugins so, wenn die Verbindung nicht hergestellt werden kann, wird immer wieder probiert und der Log so vollgepackt. Man hat dann nur die Möglichkeit den Fehler sofort zu beheben oder das plugin erst mal zu deaktivieren.

                              Zu deinem Code:

                              Das mitd em Logger geht nicht so recht, weil self noch nicht initialisiert ist. Ich habe das dann so gemacht mit:

                              Code:
                              log = logging.getLogger(__name__)
                              und den logger dann mit log.logger ... aufgerufen. Letztendlich ist da aber nichts bei der Initialisierung zu finden. Was ich aber finde im Log, ist das hier:

                              Code:
                              WARNING  miio.device         Found an unsupported model 'dreame.vacuum.r2228o' for class 'RoborockVacuum'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/
                              Und da hatte ich schon mal nachgefragt bei dem python-miio. Das Gerät ist schon in der Unterstützung drin. Nur hier geht es halt nicht.

                              Hie rmal der Auszug aus dem warnings Log:

                              Code:
                              2023-02-21  18:17:03 WARNING  miio.device         Found an unsupported model 'dreame.vacuum.r2228o' for class 'RoborockVacuum'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/
                              2023-02-21  18:17:04 WARNING  miio.device         Found an unsupported model 'dreame.vacuum.r2228o' for class 'RoborockVacuum'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/
                              2023-02-21  18:17:04 ERROR    miio.miioprotocol   Got error when receiving: {'code': -9999, 'message': 'user ack timeout'}
                              2023-02-21  18:17:04 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Error Unable to recover failed command
                              2023-02-21  18:17:04 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Keyword state, item Betriebszustand not changed - no connection! Resetting item to
                              2023-02-21  18:17:09 ERROR    miio.miioprotocol   Got error when receiving: {'code': -9999, 'message': 'user ack timeout'}
                              2023-02-21  18:17:09 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Error Unable to recover failed command
                              2023-02-21  18:17:09 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Keyword state, item Betriebszustand not changed - no connection! Resetting item to
                              2023-02-21  18:17:10 ERROR    miio.miioprotocol   Got error when receiving: {'code': -9999, 'message': 'user ack timeout'}
                              2023-02-21  18:17:10 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Error Unable to recover failed command
                              2023-02-21  18:17:10 ERROR    plugins.xiaomi_vac  Xiaomi_Robvac: Keyword state, item Betriebszustand not changed - no connection! Resetting item to
                              Gestern habe ich wohl die Infos aus dem details Log geschickt, was sicherlich wenig hilfreich war.

                              Kommentar

                              Lädt...
                              X