How mthek/brunata-fetcher-ha-addon works
Brunata Fetcher is a Home Assistant add-on that periodically logs in to the Brunata München portal, collects configured consumption readings, validates query success, and publishes readings and status as MQTT Discovery entities. The server owns configuration, scheduling, MQTT setup, validation, and publication; the scraper handles portal interaction and extraction. README capabilities include three energy types, Supervisor MQTT discovery, query-health reporting, and failure notifications. Some server implementation is unsampled, so uncertain internal wiring is omitted.
Main entry points: server.py Polling server · _brunata_scraper.py Portal scraper
Components 16
Add-on runtime
- Polling server
brunata_fetcher/server.py - Query schedule
brunata_fetcher/server.py - Result validation
brunata_fetcher/server.py - MQTT options
brunata_fetcher/server.py
Portal acquisition
- Portal scraper
brunata_fetcher/_brunata_scraper.py
MQTT entities
- MQTT connection
brunata_fetcher/server.py - Entity publication
brunata_fetcher/server.py
Home Assistant integration
- Supervisor MQTT discovery
brunata_fetcher/server.py - Entity discovery
brunata_fetcher/server.py - Reading and status entities
brunata_fetcher/server.py - Failure notification
brunata_fetcher/server.py
Other components
- Add-on options
- Brunata portal
- Supervisor services
- MQTT broker
- Home Assistant
Connections 19
- Add-on options → Polling server: provides options
- Polling server → Query schedule: runs queries
- Query schedule → Portal scraper: requests scrape
- Portal scraper → Brunata portal: logs in and reads
- Portal scraper → Polling server: returns readings
- Polling server → Result validation: validates result
- Polling server → MQTT options: resolves settings
- MQTT options → Supervisor MQTT discovery: uses fallback
- Supervisor MQTT discovery → Supervisor services: queries MQTT service
- MQTT options → MQTT connection: configures connection
- MQTT connection → MQTT broker: connects
- Polling server → Entity discovery: publishes configs
- Polling server → Reading and status entities: publishes readings and health
- Entity discovery → Entity publication: sends discovery topics
- Reading and status entities → Entity publication: sends state topics
- Entity publication → MQTT broker: publishes retained messages
- MQTT broker → Home Assistant: delivers MQTT entities
- Polling server → Failure notification: reports query failures
- Failure notification → Home Assistant: creates notification