Znikająca encja po aktualizacji i jej skutki

Witam, zakładam temat ponieważ spotkało mnie coś dziwnego. Zrobiłem aktualizację, która naprawiła kilka problemów, ale stworzyła jeden i to dziwny. Otóż miałem możliwość sterowania odkurzaczem i już jej nie mam.


Przed aktualizacją wszystko działało teraz wygląda to jw.

Skutkuje to błędem uniemożliwiającym restart HA i wpisem w logach:

Logger: homeassistant.core
Source: components/hassio/__init__.py:684
First occurred: 09:53:29 (1 occurrences)
Last logged: 09:53:29

Error executing service: <ServiceCall homeassistant.restart (c:01G67RSGW0X2ASH0F9VVR7MD7J)>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1722, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1741, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/components/hassio/__init__.py", line 684, in async_handle_core_service
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: The system cannot restart because the configuration is not valid: Platform error vacuum.miio2 - Requirements for miio2 not found: ['python-miio==0.5.3'].

Jak to naprawić? co ciekawe ekstraktor map działa i pokazuje poprawne dane.
W sumie mogę żyć bez tej funkcjonalności, choć troszkę szkoda, fajnie jest mieć sterowanie wszystkiego w jednym miejscu.

Największy problem to brak możliwości zrestartowania HA.

configuration.yaml wygląda tak.


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

vacuum:
  - platform: miio2
    host: 192.168.x.xxx
    token: 544a7456387a4930346b44474d7xxxxx
    name: Rosie

camera:
  - platform: xiaomi_cloud_map_extractor
    host: 192.168.x.xxx
    token: 544a7456387a4930346b44474d7xxxxx
    username: j.litwin9@gmail.com
    password: xxxxxxxxxxxxxxxxxx
    draw: ['all']
    attributes:
      - calibration_points  
    map_transformation:
      scale: 2
      trim:
        top: 45
        bottom: 30
        left: 35
        right: 35
    texts:
      - text: "Salon"
        x: 23
        y: 35
        color: [125, 20, 213]
      - text: "Sypialnia"
        x: 72
        y: 35
        color: [125, 20, 213]
      - text: "Kuchnia"
        x: 77
        y: 60
        color: [125, 20, 213]
      - text: "Hol"
        x: 57
        y: 60
        color: [125, 20, 213]
      - text: "Lazienka"
        x: 64
        y: 81
        color: [125, 20, 213]
        font_size: 75
    scan_interval:
      seconds: 3
    auto_update: true
#    store_map: false
#    force_api: xiaomi

#resources:
#  - url:/ local/mini-media-player-bundle.js?v=1.12.1
#    type: module

frontend:
   javascript_version: latest
   themes: !include_dir_merge_named themes
   
# Example configuration.yaml entry
device_tracker:
  - platform: nmap_tracker
    hosts: 192.168.1.0/24


W miejscu xxx są poprawne wpisy, :grin:

Prawdopodobnie masz w YAMLu jakąś pozostałość, która obecnie jest niewspierana - trzeba to zakomentować lub usunąć.

Spis wszystkich breaking changes z paru ostatnich lat jest tam:

sugeruję poczytać “od końca” tj. najpierw 2022.6 potem 2022.5 itd. zwykle takie zmiany są zapowiadane parę miesięcy wcześniej, a w momencie wprowadzenia w życie zawsze jest odpowiednia informacja w breaking changes

Oczywiście sprawdź też breaking changes w tej integracji odkurzacza, którą używasz.

A co by się stało jak bym odkurzacz usunął całkowicie? i oczywiście nie wiem jak to zrobić :grin: czy w edytorze plików czy jakoś inaczej?

To zależy w jaki sposób go dokładałeś - zakomentuj sekcję:

vacuum:
  - platform: miio2
    host: 192.168.x.xxx
    token: 544a7456387a4930346b44474d7xxxxx
    name: Rosie

czyli

#vacuum:
#  - platform: miio2
#    host: 192.168.x.xxx
#    token: 544a7456387a4930346b44474d7xxxxx
#    name: Rosie

potem w Narzędzia Deweloperskie → YAML → SPRAWDŹ KONFIGURACJĘ
jeśli sprawdzenie przejdzie to i zrestartować HA będziesz mógł (chyba, że jeszcze jakiś problem wywołuje coś innego - przejrzałeś te breaking changes z ostatnich miesięcy?)

Jak widać mapa to zupełnie inna i osobna integracja (integracja camera:)

Następnie w pliku manifest.json w katalogu tej integracji (UWAGA pliki o takiej nazwie mogą istnieć w dziesiątkach innych miejsc!) możesz na próbę zedytować linijką zawierającą python-miio==0.5.3 i zmienić ten fragment na python-miio==0.5.11 (ewentualnie jedź z numerem wersji w dół albo spróbuj takiej konstrukcji python-miio>=0.5.6)
(radośnie zakładam, że ten pakiet w jakiejś nowszej wersji istnieje w HA, bo chyba integracja oczyszczaczy powietrza go używa)
i następnie odkomentować to co zakomentowałeś przez restartem HA i zrób znowu sprawdzenie YAMLa (najwyżej go zakomentujesz, nie mogę zagwarantować że zmiana wymagań co do zależności wystarczy, jeśli nie, to pozostanie zgłoszenie issue u autora).

Przetestowałem propozycje i nic to nie dało, Zakomentowanie rozwiązuje problem błędów w YAML. Czyli na razie zostawiam jak jest. Serwer restartuje się, ciekawe czy wstanie, oby :grin:

PS
Wstał i wypluł coś takiego

Chyba nie jest dobrze :shushing_face: :thinking:

PS2
podmieniłem cały katalog miio2 zgodnie z

[wpisz lub wklej tutaj kod](https://github.com/nqkdev/home-assistant-vacuum-styj02ym)

Nadal mam błąd


Tylko zakomentowanie coś daje.

Jeśli przechodzi walidację YAML, to serwer wstanie, jakkolwiek nie zrozumiałem czy zrestartowałeś serwer HA (core) czy zrebootowałeś hosta.

Na obrazku widzę problemy z inną integracją - możesz też wywalić ją z YAMLa i zintegrować po nowemu (GUI, o ile oczywiście nie nastąpiła już automigracja do GUI)

więc temat odkurzacza uważam za wstępnie zamknięty (musisz sprawdzić czy ktoś inny zgłosił issue lub je przygotować, ewentualnie poszukać innej integracji tego sprzętu).

Przeczytałeś wszystkie dotyczące twojej instalacji breaking changes z ostatnich miesięcy? - to pozwala się przygotować na zmiany (przynajmniej tak daleko jaką wersję miałeś ostatnio bez błędów + 3-6 miesięcy wcześniej, chociaż w sumie to co zapowiadano pół roku temu to już pewnie właśnie Ci nie działa ;P).
Najlepiej robić to przed każdą “dużą” aktualizacją (czyli raz na miesiąc).

Czy to chodzi o ten wpis w tym miejscu?
Zrzut ekranu 2022-06-23 141003

Wystarczy to skomentować?

Tak, ale ta integracja pojawiła się w GUI integracji, więc można całkowicie skasować ten fragment (linie 72-75).

Ja mam dodane roboty do HA przez Xiaomi Miio w konfiguracji z wyboru ręcznego
ScreenShot_20220623140637

A token, IP za pomocą XiaomiGateway3
ScreenShot_20220623140728

/
A próbowałeś tą integracje
https://github.com/saprumohit/home-assistant-viomi-vacuum-v8

W tej kwestii nie jestem w stanie pomóc - nie używam tych integracji.

Niestety ale mojego viomi.vacuum.v8 nie ma na liście urządzeń. A szkoda intergacja łączy się do chmury widzi listę urządzeń, ale docelowego nie ma. :slightly_frowning_face:

Projekt, który jak podejrzewam używasz, ma ponad setkę forków - poszukaj aktualnego

@Farenza
edit: Wracając do wcześniejszego tematu z odkurzaczem
mam potwierdzenie, że należy wypróbować zmianę python-miio==0.5.3 w python-miio==0.5.11

oczywiście to nie musi pomóc, ale zapominałem wspomnieć, że przy takich edycjach należy skasować zawartość katalogu __pycache__ (w katalogu modyfikowanego komponentu) przed próbą ponownego uruchomienia komponentu niestandardowego.