Персональна інфраструктура: Home Assistant у Docker, Zigbee2MQTT, Mosquitto, і Python-пакет home-mqtt-hub (сенсори та сценарії для Pi й macOS).
| Шлях | Призначення |
|---|---|
homeassistant/docker-compose.yml |
homeassistant, mosquitto, zigbee2mqtt; шлях до Zigbee USB змініть під свій /dev/serial/by-id/... |
homeassistant/config/ |
YAML конфіг HA: automations.yaml, configuration.yaml, тощо |
homeassistant/mosquitto.conf |
Брокер MQTT (за замовчуванням анонімний доступ — для продакшену краще пароль + ACL) |
homeassistant/zigbee2mqtt/configuration.yaml.example |
Шаблон; робочий файл живе в zigbee2mqtt/data/ (не в git) |
home-mqtt-hub/ |
Інтеграції EcoFlow, MikroTik, MacBook, РОЕ, speedtest → MQTT / HA |
home-mqtt-hub/raspberry_mqtt_service.py |
Raspberry Pi (або сервер): постійний MQTT-сервіс, discovery, команди з HA |
home-mqtt-hub/macbook_power_agent.py |
macOS: заряд MacBook + публікація батареї в MQTT |
home-mqtt-hub/raspberry_outage_cron.py |
Raspberry Pi (cron): перевірка аутеджу + опційний виклик Lambda |
home-mqtt-hub/cli_status.py |
Діагностика: знімок стану в термінал |
home-mqtt-hub/ecoflow_legacy_bearer_cli.py |
Застарілий CLI на Bearer-токені EcoFlow (рідко потрібен) |
У корені є .gitignore: ігноруються secrets.yaml, .storage/, дані Zigbee2MQTT, .env, venv/, логи.
- Home Assistant: скопіюйте
homeassistant/config/secrets.yaml.example→secrets.yamlі заповніть. Інтеграції з UI (наприклад Telegram) зберігають токени в.storage/— ця папка не для публічного репо; після витоку токена оновіть інтеграцію в UI та згенеруйте новий токен у @BotFather. - home-mqtt-hub: скопіюйте
home-mqtt-hub/.env.example→home-mqtt-hub/.env. - Zigbee2MQTT: каталог
homeassistant/zigbee2mqtt/data/містить network key і прив’язку пристроїв — лише локально або в приватному бекапі.
cd home-mqtt-hub
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# відредагуйте .env
python raspberry_mqtt_service.py # на Pi / сервері з доступом до MQTT та APIНа Mac: python macbook_power_agent.py — задайте MQTT_BROKER (IP Pi/HA) і за бажанням HOME_PUBLIC_IP.
Перед першим git push переконайтеся, що git status не показує секретні файли. Великі сторонні інтеграції з HACS (custom_components) за бажанням виключіть з публічного репо (розкоментуйте рядок у .gitignore) і встановлюйте їх через HACS на кожному середовищі.