I somehow managed to kill my operating system using OMV’s reset permissions plugin the file rights for my whole operating system were changed[ context: installation broken after using Reset Permissions Plugin For OMV6 - General - openmediavault ].
I now reinstalled raspian 64 bit (my last install was done in early 2022, I am not sure whether I had the 32bit version back then). Now I am trying to resurrect my home assistant docker. Therefore, I copied all the config files, in the same place they were before. However, they seem to be ignored and I am greeted with the welcome screen to create a new home. What am I doing wrong?
I noticed my user and group ID have changed, so I adjusted these from 1001 and 100 to 1000 and 1000 respectively. What should be the ownership / file rights of the config files?
With the reinstallation, the HA version was updated too, which might cause additional trouble here.
I also painfully learned that the home assistant’s backup functionality is not suitable for the dockered version. I am a bit undecided about what to do, and whether I should migrate back to home assistant supervised, which I used before migrating to this setup in 2022. To make it worse I plan to soon upgrade to a N100-based mini computer, then I consider upgrading to unraid OS to run HA either in a VM or differently.
It would be a shame to lose it. spent quite some time configuring and developing my light setup. Thanks for your help!
here is my compose file:
version: '3.8'
services:
mqtt:
container_name: mosquitto
image: eclipse-mosquitto:2.0
restart: unless-stopped
volumes:
# - "/home/meow/home_assistant/mosquitto:/mosquitto/"
- "/home/meow/home_assistant/mosquitto/log:/mosquitto/log/"
- "/home/meow/home_assistant/mosquitto/data:/mosquitto/data/"
ports:
- "1883:1883"
- "9001:9001"
command: "mosquitto -c /mosquitto-no-auth.conf"
# hostname: mqtt
user: "${LOCAL_USER}:${LOCAL_USER}"
network_mode: host
##############################################################################################################
zigbee2mqtt:
container_name: zigbee2mqtt
restart: unless-stopped
image: koenkk/zigbee2mqtt
volumes:
- /home/meow/home_assistant/zigbee2mqtt-data:/app/data
- /run/udev:/run/udev:ro
ports:
- 8080:8080
environment:
- TZ=Europe/Berlin
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
group_add:
- dialout
network_mode: host
user: "${LOCAL_USER}:${LOCAL_USER}"
depends_on:
- mqtt
##############################################################################################################
# node-red
node-red:
image: nodered/node-red:latest
restart: unless-stopped
environment:
- TZ=Europe/Berlin
ports:
- "1880:1880"
volumes:
- /home/meow/home_assistant/node-red-data:/data
# network_mode: host
user: "${LOCAL_USER}:${LOCAL_USER}"
##############################################################################################################
# ha
homeassistant:
container_name: homeassistant
restart: unless-stopped
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ${HA_CONFIG_PATH}:/config
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
privileged: true
network_mode: host
user: "${LOCAL_USER}:${LOCAL_GROUP}"
depends_on:
- zigbee2mqtt
##############################################################################################################
# AppDaemon
appdaemon:
container_name: appdaemon
restart: unless-stopped
image: acockburn/appdaemon:latest
environment:
HA_URL: "http://${SERVER_IP}:8123"
HA_KEY: "${HA_APPDAEMON_KEY}"
TOKEN: "${HA_APPDAEMON_KEY}"
DASH_URL: "http://${SERVER_IP}:5050"
ports:
- "5050:5050"
volumes:
# Set which local directory will contain all your app daemon configuration
- ${HA_APPDAEMON_CONFIG}:/conf
depends_on:
- homeassistant
network_mode: host
user: "${LOCAL_USER}:${LOCAL_USER}"
my config folder:
(base) neuronflow@hai config % tree
.
├── _pyscript
│ └── sync_tuya_keys.py
├── _pyscript_modules
│ └── tuya
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-310.pyc
│ │ ├── __init__.cpython-311.pyc
│ │ ├── __init__.cpython-39.pyc
│ │ ├── api.cpython-310.pyc
│ │ ├── api.cpython-311.pyc
│ │ ├── api.cpython-39.pyc
│ │ ├── const.cpython-39.pyc
│ │ ├── exceptions.cpython-310.pyc
│ │ ├── exceptions.cpython-311.pyc
│ │ ├── exceptions.cpython-39.pyc
│ │ └── textbook_rsa.cpython-39.pyc
│ ├── api.py
│ ├── const.py
│ ├── exceptions.py
│ ├── requirements.txt
│ └── textbook_rsa.py
├── appdaemon
│ ├── appdaemon.yaml
│ ├── apps
│ │ ├── apps.yaml
│ │ └── controllerx
│ │ ├── controllerx.py
│ │ ├── cx_const.py
│ │ ├── cx_core
│ │ │ ├── __init__.py
│ │ │ ├── action_type
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base.py
│ │ │ │ ├── call_service_action_type.py
│ │ │ │ ├── delay_action_type.py
│ │ │ │ ├── predefined_action_type.py
│ │ │ │ └── scene_action_type.py
│ │ │ ├── color_helper.py
│ │ │ ├── controller.py
│ │ │ ├── feature_support
│ │ │ │ ├── __init__.py
│ │ │ │ ├── cover.py
│ │ │ │ ├── light.py
│ │ │ │ └── media_player.py
│ │ │ ├── integration
│ │ │ │ ├── __init__.py
│ │ │ │ ├── deconz.py
│ │ │ │ ├── event.py
│ │ │ │ ├── homematic.py
│ │ │ │ ├── lutron_caseta.py
│ │ │ │ ├── mqtt.py
│ │ │ │ ├── shelly.py
│ │ │ │ ├── shellyforhass.py
│ │ │ │ ├── state.py
│ │ │ │ ├── tasmota.py
│ │ │ │ ├── z2m.py
│ │ │ │ └── zha.py
│ │ │ ├── release_hold_controller.py
│ │ │ ├── stepper
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bounce_stepper.py
│ │ │ │ ├── index_loop_stepper.py
│ │ │ │ ├── loop_stepper.py
│ │ │ │ └── stop_stepper.py
│ │ │ ├── type
│ │ │ │ ├── __init__.py
│ │ │ │ ├── cover_controller.py
│ │ │ │ ├── light_controller.py
│ │ │ │ ├── media_player_controller.py
│ │ │ │ ├── switch_controller.py
│ │ │ │ └── z2m_light_controller.py
│ │ │ └── type_controller.py
│ │ ├── cx_devices
│ │ │ ├── __init__.py
│ │ │ ├── adeo.py
│ │ │ ├── aqara.py
│ │ │ ├── aurora.py
│ │ │ ├── homematic.py
│ │ │ ├── ikea.py
│ │ │ ├── legrand.py
│ │ │ ├── linkind.py
│ │ │ ├── livarno.py
│ │ │ ├── lutron.py
│ │ │ ├── muller_licht.py
│ │ │ ├── osram.py
│ │ │ ├── philips.py
│ │ │ ├── prolight.py
│ │ │ ├── rgb_genie.py
│ │ │ ├── robb.py
│ │ │ ├── sengled.py
│ │ │ ├── shelly.py
│ │ │ ├── smartkontakten.py
│ │ │ ├── smartthings.py
│ │ │ ├── sonoff.py
│ │ │ ├── tasmota.py
│ │ │ ├── terncy.py
│ │ │ ├── trust.py
│ │ │ └── tuya.py
│ │ ├── cx_helper.py
│ │ └── cx_version.py
│ ├── compiled
│ │ ├── css
│ │ └── javascript
│ ├── dashboards
│ │ └── Hello.dash
│ ├── namespaces
│ └── www
├── automations.yaml
├── backups
│ ├── 645e777d.tar
│ ├── 66939f46.tar
│ ├── 6e6d97b0.tar
│ ├── 844d3027.tar
│ ├── 8d7f7ad4.tar
│ └── fdf2933d.tar
├── blueprints
│ ├── automation
│ │ ├── EPMatt
│ │ │ ├── ikea_e2001_e2002.yaml
│ │ │ └── light.yaml
│ │ ├── homeassistant
│ │ │ ├── motion_light.yaml
│ │ │ └── notify_leaving_zone.yaml
│ │ └── wavs
│ │ └── zigbee2mqtt-ikea-styrbar-4-button-remote-e2001-e2002.yaml
│ └── script
│ └── homeassistant
│ └── confirmable_notification.yaml
├── configuration.yaml
├── custom_components
│ ├── hacs
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-310.pyc
│ │ │ ├── __init__.cpython-311.pyc
│ │ │ ├── base.cpython-310.pyc
│ │ │ ├── base.cpython-311.pyc
│ │ │ ├── config_flow.cpython-310.pyc
│ │ │ ├── config_flow.cpython-311.pyc
│ │ │ ├── const.cpython-310.pyc
│ │ │ ├── const.cpython-311.pyc
│ │ │ ├── data_client.cpython-310.pyc
│ │ │ ├── data_client.cpython-311.pyc
│ │ │ ├── diagnostics.cpython-310.pyc
│ │ │ ├── diagnostics.cpython-311.pyc
│ │ │ ├── entity.cpython-310.pyc
│ │ │ ├── entity.cpython-311.pyc
│ │ │ ├── enums.cpython-310.pyc
│ │ │ ├── enums.cpython-311.pyc
│ │ │ ├── exceptions.cpython-310.pyc
│ │ │ ├── exceptions.cpython-311.pyc
│ │ │ ├── frontend.cpython-310.pyc
│ │ │ ├── frontend.cpython-311.pyc
│ │ │ ├── sensor.cpython-310.pyc
│ │ │ ├── sensor.cpython-311.pyc
│ │ │ ├── system_health.cpython-310.pyc
│ │ │ └── system_health.cpython-311.pyc
│ │ ├── base.py
│ │ ├── config_flow.py
│ │ ├── const.py
│ │ ├── data_client.py
│ │ ├── diagnostics.py
│ │ ├── entity.py
│ │ ├── enums.py
│ │ ├── exceptions.py
│ │ ├── frontend.py
│ │ ├── hacs_frontend
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-311.pyc
│ │ │ │ ├── version.cpython-310.pyc
│ │ │ │ └── version.cpython-311.pyc
│ │ │ ├── c.004a7b01.js
│ │ │ ├── c.004a7b01.js.gz
│ │ │ ├── c.0a1cf8d0.js
│ │ │ ├── c.0a1cf8d0.js.gz
│ │ │ ├── c.0ca5587f.js
│ │ │ ├── c.0ca5587f.js.gz
│ │ │ ├── c.0f6bb17e.js
│ │ │ ├── c.0f6bb17e.js.gz
│ │ │ ├── c.10c7d0ce.js
│ │ │ ├── c.10c7d0ce.js.gz
│ │ │ ├── c.11ad1623.js
│ │ │ ├── c.11ad1623.js.gz
│ │ │ ├── c.14dc9dca.js
│ │ │ ├── c.14dc9dca.js.gz
│ │ │ ├── c.21c042d4.js
│ │ │ ├── c.24bd2446.js
│ │ │ ├── c.24bd2446.js.gz
│ │ │ ├── c.25ed1ae4.js
│ │ │ ├── c.25ed1ae4.js.gz
│ │ │ ├── c.2645c235.js
│ │ │ ├── c.2645c235.js.gz
│ │ │ ├── c.2d5ed670.js
│ │ │ ├── c.2d5ed670.js.gz
│ │ │ ├── c.2ee83bd0.js
│ │ │ ├── c.2ee83bd0.js.gz
│ │ │ ├── c.3243a8b0.js
│ │ │ ├── c.3243a8b0.js.gz
│ │ │ ├── c.3da15c48.js
│ │ │ ├── c.3da15c48.js.gz
│ │ │ ├── c.3f859915.js
│ │ │ ├── c.3f859915.js.gz
│ │ │ ├── c.4204ca09.js
│ │ │ ├── c.4204ca09.js.gz
│ │ │ ├── c.4266acdb.js
│ │ │ ├── c.4266acdb.js.gz
│ │ │ ├── c.42d6aebd.js
│ │ │ ├── c.42d6aebd.js.gz
│ │ │ ├── c.456b65b4.js
│ │ │ ├── c.456b65b4.js.gz
│ │ │ ├── c.4a97632a.js
│ │ │ ├── c.4a97632a.js.gz
│ │ │ ├── c.4c04acb5.js
│ │ │ ├── c.4c04acb5.js.gz
│ │ │ ├── c.4fa7acdf.js
│ │ │ ├── c.4fa7acdf.js.gz
│ │ │ ├── c.4feb0cb8.js
│ │ │ ├── c.4feb0cb8.js.gz
│ │ │ ├── c.50bfd408.js
│ │ │ ├── c.50bfd408.js.gz
│ │ │ ├── c.568c70d8.js
│ │ │ ├── c.568c70d8.js.gz
│ │ │ ├── c.5d3ce9d6.js
│ │ │ ├── c.5d3ce9d6.js.gz
│ │ │ ├── c.656daa82.js
│ │ │ ├── c.710a50fc.js
│ │ │ ├── c.710a50fc.js.gz
│ │ │ ├── c.743a15a1.js
│ │ │ ├── c.743a15a1.js.gz
│ │ │ ├── c.7948d625.js
│ │ │ ├── c.7948d625.js.gz
│ │ │ ├── c.7bb36093.js
│ │ │ ├── c.7bb36093.js.gz
│ │ │ ├── c.81a49b25.js
│ │ │ ├── c.81a49b25.js.gz
│ │ │ ├── c.82e03b89.js
│ │ │ ├── c.82e03b89.js.gz
│ │ │ ├── c.82eccc94.js
│ │ │ ├── c.82eccc94.js.gz
│ │ │ ├── c.8d4c35ad.js
│ │ │ ├── c.8d4c35ad.js.gz
│ │ │ ├── c.8de55195.js
│ │ │ ├── c.8de55195.js.gz
│ │ │ ├── c.8e28b461.js
│ │ │ ├── c.8e28b461.js.gz
│ │ │ ├── c.97b7c4b0.js
│ │ │ ├── c.97b7c4b0.js.gz
│ │ │ ├── c.99c1c4ba.js
│ │ │ ├── c.99c1c4ba.js.gz
│ │ │ ├── c.9b92f489.js
│ │ │ ├── c.9b92f489.js.gz
│ │ │ ├── c.a5f69ed4.js
│ │ │ ├── c.a5f69ed4.js.gz
│ │ │ ├── c.aa05d073.js
│ │ │ ├── c.aa05d073.js.gz
│ │ │ ├── c.ad739743.js
│ │ │ ├── c.ad739743.js.gz
│ │ │ ├── c.b9fadbef.js
│ │ │ ├── c.b9fadbef.js.gz
│ │ │ ├── c.bc53dda1.js
│ │ │ ├── c.bc53dda1.js.gz
│ │ │ ├── c.bc5a73e9.js
│ │ │ ├── c.bc5a73e9.js.gz
│ │ │ ├── c.bdf06437.js
│ │ │ ├── c.bdf06437.js.gz
│ │ │ ├── c.c436d42d.js
│ │ │ ├── c.c436d42d.js.gz
│ │ │ ├── c.c79c22f9.js
│ │ │ ├── c.c79c22f9.js.gz
│ │ │ ├── c.d124a3a6.js
│ │ │ ├── c.d124a3a6.js.gz
│ │ │ ├── c.d262aab0.js
│ │ │ ├── c.d262aab0.js.gz
│ │ │ ├── c.d2e52e5a.js
│ │ │ ├── c.d2e52e5a.js.gz
│ │ │ ├── c.d6d13164.js
│ │ │ ├── c.d6d13164.js.gz
│ │ │ ├── c.e23b0d0b.js
│ │ │ ├── c.e23b0d0b.js.gz
│ │ │ ├── c.e2a8d067.js
│ │ │ ├── c.e2a8d067.js.gz
│ │ │ ├── c.ecbce863.js
│ │ │ ├── c.ecbce863.js.gz
│ │ │ ├── c.f12697b4.js
│ │ │ ├── c.f12697b4.js.gz
│ │ │ ├── c.f1291e50.js
│ │ │ ├── c.f1291e50.js.gz
│ │ │ ├── c.f2bb3724.js
│ │ │ ├── c.f2bb3724.js.gz
│ │ │ ├── c.f6611997.js
│ │ │ ├── c.f6611997.js.gz
│ │ │ ├── c.f940f080.js
│ │ │ ├── c.f940f080.js.gz
│ │ │ ├── c.fe747ba2.js
│ │ │ ├── c.fe747ba2.js.gz
│ │ │ ├── entrypoint.js
│ │ │ ├── entrypoint.js.gz
│ │ │ ├── main-ad130be7.js
│ │ │ ├── main-ad130be7.js.gz
│ │ │ ├── manifest.json
│ │ │ └── version.py
│ │ ├── hacs_frontend_experimental
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-311.pyc
│ │ │ │ ├── version.cpython-310.pyc
│ │ │ │ └── version.cpython-311.pyc
│ │ │ ├── c.004a7b01.js
│ │ │ ├── c.004a7b01.js.gz
│ │ │ ├── c.00e853e1.js
│ │ │ ├── c.00e853e1.js.gz
│ │ │ ├── c.033798e3.js
│ │ │ ├── c.033798e3.js.gz
│ │ │ ├── c.04ecc0ad.js
│ │ │ ├── c.07e395f8.js
│ │ │ ├── c.07e395f8.js.gz
│ │ │ ├── c.0931d4e5.js
│ │ │ ├── c.0931d4e5.js.gz
│ │ │ ├── c.1024e243.js
│ │ │ ├── c.1075ceb6.js
│ │ │ ├── c.1075ceb6.js.gz
│ │ │ ├── c.10855172.js
│ │ │ ├── c.10855172.js.gz
│ │ │ ├── c.1095ea82.js
│ │ │ ├── c.1095ea82.js.gz
│ │ │ ├── c.10b44dbb.js
│ │ │ ├── c.10b44dbb.js.gz
│ │ │ ├── c.10c7d0ce.js
│ │ │ ├── c.10c7d0ce.js.gz
│ │ │ ├── c.117d0056.js
│ │ │ ├── c.117d0056.js.gz
│ │ │ ├── c.146bd8ba.js
│ │ │ ├── c.146bd8ba.js.gz
│ │ │ ├── c.21c042d4.js
│ │ │ ├── c.2610e8cd.js
│ │ │ ├── c.2610e8cd.js.gz
│ │ │ ├── c.2a64ceac.js
│ │ │ ├── c.2a64ceac.js.gz
│ │ │ ├── c.33478cf6.js
│ │ │ ├── c.33478cf6.js.gz
│ │ │ ├── c.34b7552d.js
│ │ │ ├── c.34b7552d.js.gz
│ │ │ ├── c.36ae07d6.js
│ │ │ ├── c.36ae07d6.js.gz
│ │ │ ├── c.388f6c87.js
│ │ │ ├── c.388f6c87.js.gz
│ │ │ ├── c.3cd443fb.js
│ │ │ ├── c.3cd443fb.js.gz
│ │ │ ├── c.3e134699.js
│ │ │ ├── c.3e134699.js.gz
│ │ │ ├── c.468b43fb.js
│ │ │ ├── c.468b43fb.js.gz
│ │ │ ├── c.4707854b.js
│ │ │ ├── c.4707854b.js.gz
│ │ │ ├── c.4f015773.js
│ │ │ ├── c.4f8247dc.js
│ │ │ ├── c.4f8247dc.js.gz
│ │ │ ├── c.50a2e981.js
│ │ │ ├── c.50a2e981.js.gz
│ │ │ ├── c.50bfd408.js
│ │ │ ├── c.50bfd408.js.gz
│ │ │ ├── c.54067e61.js
│ │ │ ├── c.54067e61.js.gz
│ │ │ ├── c.55c222d3.js
│ │ │ ├── c.55c222d3.js.gz
│ │ │ ├── c.59ae3c13.js
│ │ │ ├── c.59ae3c13.js.gz
│ │ │ ├── c.5aed34c8.js
│ │ │ ├── c.5aed34c8.js.gz
│ │ │ ├── c.5ebe89cb.js
│ │ │ ├── c.5ebe89cb.js.gz
│ │ │ ├── c.5fe2e3ab.js
│ │ │ ├── c.5fe2e3ab.js.gz
│ │ │ ├── c.6233ba52.js
│ │ │ ├── c.6233ba52.js.gz
│ │ │ ├── c.656daa82.js
│ │ │ ├── c.6a1a9e04.js
│ │ │ ├── c.6a1a9e04.js.gz
│ │ │ ├── c.6d6a8b76.js
│ │ │ ├── c.6d6a8b76.js.gz
│ │ │ ├── c.6eb9fcd4.js
│ │ │ ├── c.6eb9fcd4.js.gz
│ │ │ ├── c.6f18200a.js
│ │ │ ├── c.6f18200a.js.gz
│ │ │ ├── c.6f84470d.js
│ │ │ ├── c.6f84470d.js.gz
│ │ │ ├── c.704dab74.js
│ │ │ ├── c.704dab74.js.gz
│ │ │ ├── c.7398f5d5.js
│ │ │ ├── c.7398f5d5.js.gz
│ │ │ ├── c.743a15a1.js
│ │ │ ├── c.743a15a1.js.gz
│ │ │ ├── c.7606b61b.js
│ │ │ ├── c.7606b61b.js.gz
│ │ │ ├── c.7a44e681.js
│ │ │ ├── c.7a44e681.js.gz
│ │ │ ├── c.7d6b8ecd.js
│ │ │ ├── c.7d6b8ecd.js.gz
│ │ │ ├── c.81714150.js
│ │ │ ├── c.81714150.js.gz
│ │ │ ├── c.86b125b8.js
│ │ │ ├── c.86b125b8.js.gz
│ │ │ ├── c.874c8cfd.js
│ │ │ ├── c.89afba42.js
│ │ │ ├── c.89afba42.js.gz
│ │ │ ├── c.89ccd556.js
│ │ │ ├── c.89ccd556.js.gz
│ │ │ ├── c.8e28b461.js
│ │ │ ├── c.8e28b461.js.gz
│ │ │ ├── c.8e31888c.js
│ │ │ ├── c.8e31888c.js.gz
│ │ │ ├── c.92d158dd.js
│ │ │ ├── c.92d158dd.js.gz
│ │ │ ├── c.99cf2c6d.js
│ │ │ ├── c.99cf2c6d.js.gz
│ │ │ ├── c.9ca1c36a.js
│ │ │ ├── c.9ca1c36a.js.gz
│ │ │ ├── c.9f8c12a9.js
│ │ │ ├── c.9f8c12a9.js.gz
│ │ │ ├── c.9fea9e8a.js
│ │ │ ├── c.9fea9e8a.js.gz
│ │ │ ├── c.a0797e5e.js
│ │ │ ├── c.a0797e5e.js.gz
│ │ │ ├── c.a0946910.js
│ │ │ ├── c.a1a1fa36.js
│ │ │ ├── c.a1a1fa36.js.gz
│ │ │ ├── c.a23e6b57.js
│ │ │ ├── c.a23e6b57.js.gz
│ │ │ ├── c.a35673d5.js
│ │ │ ├── c.a35673d5.js.gz
│ │ │ ├── c.a42008f9.js
│ │ │ ├── c.a42008f9.js.gz
│ │ │ ├── c.a9f9a1ad.js
│ │ │ ├── c.a9f9a1ad.js.gz
│ │ │ ├── c.ad739743.js
│ │ │ ├── c.ad739743.js.gz
│ │ │ ├── c.af6192ab.js
│ │ │ ├── c.af6192ab.js.gz
│ │ │ ├── c.b0145069.js
│ │ │ ├── c.b02ad375.js
│ │ │ ├── c.b02ad375.js.gz
│ │ │ ├── c.b5bff745.js
│ │ │ ├── c.b5bff745.js.gz
│ │ │ ├── c.b72da797.js
│ │ │ ├── c.b72da797.js.gz
│ │ │ ├── c.bae47305.js
│ │ │ ├── c.bae47305.js.gz
│ │ │ ├── c.bc53dda1.js
│ │ │ ├── c.bc53dda1.js.gz
│ │ │ ├── c.c128b7f4.js
│ │ │ ├── c.c128b7f4.js.gz
│ │ │ ├── c.c14afbb0.js
│ │ │ ├── c.c14afbb0.js.gz
│ │ │ ├── c.c177bbc3.js
│ │ │ ├── c.c177bbc3.js.gz
│ │ │ ├── c.c629b018.js
│ │ │ ├── c.c629b018.js.gz
│ │ │ ├── c.c6e8abf0.js
│ │ │ ├── c.c6e8abf0.js.gz
│ │ │ ├── c.c7247a8c.js
│ │ │ ├── c.c7247a8c.js.gz
│ │ │ ├── c.c91fa748.js
│ │ │ ├── c.c91fa748.js.gz
│ │ │ ├── c.ca7549f6.js
│ │ │ ├── c.cb18c559.js
│ │ │ ├── c.cb18c559.js.gz
│ │ │ ├── c.cbce77f6.js
│ │ │ ├── c.cbdebe08.js
│ │ │ ├── c.cbdebe08.js.gz
│ │ │ ├── c.ccbe2b52.js
│ │ │ ├── c.ccbe2b52.js.gz
│ │ │ ├── c.cde53df3.js
│ │ │ ├── c.cde53df3.js.gz
│ │ │ ├── c.cf116af0.js
│ │ │ ├── c.cf116af0.js.gz
│ │ │ ├── c.d0bb37e8.js
│ │ │ ├── c.d0bb37e8.js.gz
│ │ │ ├── c.d1219bde.js
│ │ │ ├── c.d1219bde.js.gz
│ │ │ ├── c.d2f13ac1.js
│ │ │ ├── c.d32a5f4a.js
│ │ │ ├── c.d32a5f4a.js.gz
│ │ │ ├── c.d3a1c985.js
│ │ │ ├── c.d3a1c985.js.gz
│ │ │ ├── c.d9d8b90e.js
│ │ │ ├── c.d9d8b90e.js.gz
│ │ │ ├── c.dd8473cb.js
│ │ │ ├── c.dd8473cb.js.gz
│ │ │ ├── c.e23b0d0b.js
│ │ │ ├── c.e23b0d0b.js.gz
│ │ │ ├── c.e3f3a0be.js
│ │ │ ├── c.e3f3a0be.js.gz
│ │ │ ├── c.e651e5fa.js
│ │ │ ├── c.e651e5fa.js.gz
│ │ │ ├── c.e6b9d450.js
│ │ │ ├── c.e6b9d450.js.gz
│ │ │ ├── c.eab7754a.js
│ │ │ ├── c.eab7754a.js.gz
│ │ │ ├── c.eaded7f4.js
│ │ │ ├── c.eaded7f4.js.gz
│ │ │ ├── c.ebda878e.js
│ │ │ ├── c.ebda878e.js.gz
│ │ │ ├── c.ecded9d0.js
│ │ │ ├── c.ecded9d0.js.gz
│ │ │ ├── c.ef7f8e16.js
│ │ │ ├── c.ef7f8e16.js.gz
│ │ │ ├── c.f03f3db9.js
│ │ │ ├── c.f03f3db9.js.gz
│ │ │ ├── c.f23c17e5.js
│ │ │ ├── c.f23c17e5.js.gz
│ │ │ ├── c.f2af93f0.js
│ │ │ ├── c.f2af93f0.js.gz
│ │ │ ├── c.f2bb3724.js
│ │ │ ├── c.f2bb3724.js.gz
│ │ │ ├── c.f3491693.js
│ │ │ ├── c.f3491693.js.gz
│ │ │ ├── c.f4985284.js
│ │ │ ├── c.f4985284.js.gz
│ │ │ ├── c.f965ee00.js
│ │ │ ├── c.f965ee00.js.gz
│ │ │ ├── c.fa0ef026.js
│ │ │ ├── c.fbdfc079.js
│ │ │ ├── c.fbdfc079.js.gz
│ │ │ ├── c.fc9cf645.js
│ │ │ ├── c.fc9cf645.js.gz
│ │ │ ├── c.fe747ba2.js
│ │ │ ├── c.fe747ba2.js.gz
│ │ │ ├── c.fea0de05.js
│ │ │ ├── c.fea0de05.js.gz
│ │ │ ├── c.ffceae7a.js
│ │ │ ├── c.ffceae7a.js.gz
│ │ │ ├── entrypoint.js
│ │ │ ├── entrypoint.js.gz
│ │ │ ├── main-85e087f9.js
│ │ │ ├── main-85e087f9.js.gz
│ │ │ ├── manifest.json
│ │ │ └── version.py
│ │ ├── iconset.js
│ │ ├── manifest.json
│ │ ├── repairs.py
│ │ ├── repositories
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-311.pyc
│ │ │ │ ├── appdaemon.cpython-310.pyc
│ │ │ │ ├── appdaemon.cpython-311.pyc
│ │ │ │ ├── base.cpython-310.pyc
│ │ │ │ ├── base.cpython-311.pyc
│ │ │ │ ├── integration.cpython-310.pyc
│ │ │ │ ├── integration.cpython-311.pyc
│ │ │ │ ├── netdaemon.cpython-310.pyc
│ │ │ │ ├── netdaemon.cpython-311.pyc
│ │ │ │ ├── plugin.cpython-310.pyc
│ │ │ │ ├── plugin.cpython-311.pyc
│ │ │ │ ├── python_script.cpython-310.pyc
│ │ │ │ ├── python_script.cpython-311.pyc
│ │ │ │ ├── template.cpython-310.pyc
│ │ │ │ ├── template.cpython-311.pyc
│ │ │ │ ├── theme.cpython-310.pyc
│ │ │ │ └── theme.cpython-311.pyc
│ │ │ ├── appdaemon.py
│ │ │ ├── base.py
│ │ │ ├── integration.py
│ │ │ ├── netdaemon.py
│ │ │ ├── plugin.py
│ │ │ ├── python_script.py
│ │ │ ├── template.py
│ │ │ └── theme.py
│ │ ├── sensor.py
│ │ ├── system_health.py
│ │ ├── translations
│ │ │ └── en.json
│ │ ├── update.py
│ │ ├── utils
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-311.pyc
│ │ │ │ ├── backup.cpython-310.pyc
│ │ │ │ ├── backup.cpython-311.pyc
│ │ │ │ ├── configuration_schema.cpython-310.pyc
│ │ │ │ ├── configuration_schema.cpython-311.pyc
│ │ │ │ ├── data.cpython-310.pyc
│ │ │ │ ├── data.cpython-311.pyc
│ │ │ │ ├── decode.cpython-310.pyc
│ │ │ │ ├── decode.cpython-311.pyc
│ │ │ │ ├── decorator.cpython-310.pyc
│ │ │ │ ├── decorator.cpython-311.pyc
│ │ │ │ ├── filters.cpython-310.pyc
│ │ │ │ ├── filters.cpython-311.pyc
│ │ │ │ ├── json.cpython-310.pyc
│ │ │ │ ├── json.cpython-311.pyc
│ │ │ │ ├── logger.cpython-310.pyc
│ │ │ │ ├── logger.cpython-311.pyc
│ │ │ │ ├── path.cpython-310.pyc
│ │ │ │ ├── path.cpython-311.pyc
│ │ │ │ ├── queue_manager.cpython-310.pyc
│ │ │ │ ├── queue_manager.cpython-311.pyc
│ │ │ │ ├── regex.cpython-310.pyc
│ │ │ │ ├── regex.cpython-311.pyc
│ │ │ │ ├── store.cpython-310.pyc
│ │ │ │ ├── store.cpython-311.pyc
│ │ │ │ ├── template.cpython-310.pyc
│ │ │ │ ├── template.cpython-311.pyc
│ │ │ │ ├── validate.cpython-310.pyc
│ │ │ │ ├── validate.cpython-311.pyc
│ │ │ │ ├── version.cpython-310.pyc
│ │ │ │ ├── version.cpython-311.pyc
│ │ │ │ ├── workarounds.cpython-310.pyc
│ │ │ │ └── workarounds.cpython-311.pyc
│ │ │ ├── backup.py
│ │ │ ├── configuration_schema.py
│ │ │ ├── data.py
│ │ │ ├── decode.py
│ │ │ ├── decorator.py
│ │ │ ├── default.repositories
│ │ │ ├── filters.py
│ │ │ ├── json.py
│ │ │ ├── logger.py
│ │ │ ├── path.py
│ │ │ ├── queue_manager.py
│ │ │ ├── regex.py
│ │ │ ├── store.py
│ │ │ ├── template.py
│ │ │ ├── validate.py
│ │ │ ├── version.py
│ │ │ └── workarounds.py
│ │ ├── validate
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── archived.py
│ │ │ ├── base.py
│ │ │ ├── brands.py
│ │ │ ├── description.py
│ │ │ ├── hacsjson.py
│ │ │ ├── images.py
│ │ │ ├── information.py
│ │ │ ├── integration_manifest.py
│ │ │ ├── issues.py
│ │ │ ├── manager.py
│ │ │ └── topics.py
│ │ └── websocket
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-310.pyc
│ │ │ ├── __init__.cpython-311.pyc
│ │ │ ├── critical.cpython-310.pyc
│ │ │ ├── critical.cpython-311.pyc
│ │ │ ├── repositories.cpython-310.pyc
│ │ │ ├── repositories.cpython-311.pyc
│ │ │ ├── repository.cpython-310.pyc
│ │ │ └── repository.cpython-311.pyc
│ │ ├── critical.py
│ │ ├── repositories.py
│ │ └── repository.py
│ ├── localtuya
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-310.pyc
│ │ │ ├── __init__.cpython-311.pyc
│ │ │ ├── binary_sensor.cpython-310.pyc
│ │ │ ├── binary_sensor.cpython-311.pyc
│ │ │ ├── climate.cpython-310.pyc
│ │ │ ├── climate.cpython-311.pyc
│ │ │ ├── cloud_api.cpython-310.pyc
│ │ │ ├── cloud_api.cpython-311.pyc
│ │ │ ├── common.cpython-310.pyc
│ │ │ ├── common.cpython-311.pyc
│ │ │ ├── config_flow.cpython-310.pyc
│ │ │ ├── config_flow.cpython-311.pyc
│ │ │ ├── const.cpython-310.pyc
│ │ │ ├── const.cpython-311.pyc
│ │ │ ├── cover.cpython-310.pyc
│ │ │ ├── cover.cpython-311.pyc
│ │ │ ├── diagnostics.cpython-310.pyc
│ │ │ ├── diagnostics.cpython-311.pyc
│ │ │ ├── discovery.cpython-310.pyc
│ │ │ ├── discovery.cpython-311.pyc
│ │ │ ├── fan.cpython-310.pyc
│ │ │ ├── fan.cpython-311.pyc
│ │ │ ├── light.cpython-310.pyc
│ │ │ ├── light.cpython-311.pyc
│ │ │ ├── number.cpython-310.pyc
│ │ │ ├── number.cpython-311.pyc
│ │ │ ├── select.cpython-310.pyc
│ │ │ ├── select.cpython-311.pyc
│ │ │ ├── sensor.cpython-310.pyc
│ │ │ ├── sensor.cpython-311.pyc
│ │ │ ├── switch.cpython-310.pyc
│ │ │ ├── switch.cpython-311.pyc
│ │ │ ├── vacuum.cpython-310.pyc
│ │ │ └── vacuum.cpython-311.pyc
│ │ ├── binary_sensor.py
│ │ ├── climate.py
│ │ ├── cloud_api.py
│ │ ├── common.py
│ │ ├── config_flow.py
│ │ ├── const.py
│ │ ├── cover.py
│ │ ├── diagnostics.py
│ │ ├── discovery.py
│ │ ├── fan.py
│ │ ├── light.py
│ │ ├── manifest.json
│ │ ├── number.py
│ │ ├── pytuya
│ │ │ ├── __init__.py
│ │ │ └── __pycache__
│ │ │ ├── __init__.cpython-310.pyc
│ │ │ └── __init__.cpython-311.pyc
│ │ ├── select.py
│ │ ├── sensor.py
│ │ ├── services.yaml
│ │ ├── strings.json
│ │ ├── switch.py
│ │ ├── translations
│ │ │ ├── en.json
│ │ │ ├── it.json
│ │ │ └── pt-BR.json
│ │ └── vacuum.py
│ └── pyscript
│ ├── __init__.py
│ ├── config_flow.py
│ ├── const.py
│ ├── entity.py
│ ├── eval.py
│ ├── event.py
│ ├── function.py
│ ├── global_ctx.py
│ ├── jupyter_kernel.py
│ ├── logbook.py
│ ├── manifest.json
│ ├── mqtt.py
│ ├── requirements.py
│ ├── services.yaml
│ ├── state.py
│ ├── strings.json
│ ├── translations
│ │ ├── en.json
│ │ └── sk.json
│ └── trigger.py
├── deps
├── home-assistant.log
├── home-assistant.log.1
├── home-assistant.log.fault
├── home-assistant_v2.db
├── home-assistant_v2.db-shm
├── home-assistant_v2.db-wal
├── netdaemon
│ └── apps
│ ├── HacsNotifyOnUpdate
│ │ ├── HacsNotifyOnUpdate.cs
│ │ └── HacsNotifyOnUpdate.yaml
│ └── NotifyOnUpdate
│ ├── NotifyOnUpdate.cs
│ └── NotifyOnUpdate.yaml
├── scenes.yaml
├── scripts.yaml
├── secrets.yaml
├── tts
└── zigbee.db
57 directories, 710 files