ESPHome Zapomniany Kod

Witam.
Mam 2 urządzenia w ESPHome do których nie mam zaspianej wersji kodu.

Czy da się z nim wydobyć plik konfiguracyjny ?
Nie ma na nich też webserwera.

Nie da się.

Plik konfiguracyjny jest w zasadzie spisem dyrektyw dla translatora kodu - on składa kod źródłowy w C++, a ten jest wynikowo kompilowany i linkowany w gotowe firmware (ELF wraz z dostosowaniem do zapisu we flashu).

Tego procesu nie da się odwrócić.
(Tu jest miejsce na potencjalną akademicką dyskusję o reverse engineering i tym, że w pewnym stopniu jest to wykonalne, ale ją na wstępie ukrócę :stuck_out_tongue: - nakład środków potrzebny na takie działania jest nieproporcjonalnie wysoki, powiedziałbym wręcz, że nieskończenie większy, niż naklepanie konfiguracyjnego YAMLa od nowa i ponowna kompilacja świeżego firmware, być może już z nowymi “wodotryskami”.)

Webserwer też by nic nie pomógł (bo nie do tego służy).


Szukaj w starych backupach HA z czasów, gdy budowałaś te urządzenia (jeśli IDE ESPHome masz jako Dodatek), nie musisz przywracać tych backupów - one są archiwami tar + gzip, więc np. spod windowsa do przeglądania zawartości możesz użyć 7zip.


Wsad binarny jest w sumie do zgrania z ESP, ale to w niczym nie pomaga.


Metodą zdalnego przechowywania kodu źródłowego (a raczej konfiguracji YAML) jest packages: wtedy można trzymać go na swoim repozytorium (ale wtedy kod musi być przynajmniej na tyle doszlifowany, by nie ujawniał danych wrażliwych), w ten sposób można się też dzielić gotowymi rozwiązaniami z innymi (a nie tylko trzymać dla siebie do końca istnienia githuba)

Dzięki :slight_smile:
Pogrzebie, w starcyh beckupach.

Chodzi mi głównie o ciagłość tych samych danych.
Mam z 8 czujników DS18B20 i 5 BT Xiaomi i nie pamietam adresów :slight_smile:

Z tego co kojarzę, to adresy podłączonych urządzeń lecą w logu przy uruchomieniu modułu z ESPHome: