Skip to content

Live connections: openHAB, UniFi, Tasmota, MQTT, ESPHome and the undocumented report - #4

Merged
MathiasVDA merged 1 commit into
mainfrom
feat/integrations
Oct 11, 2026
Merged

MathiasVDA merged 1 commit into
mainfrom
feat/integrations

Conversation

@MathiasVDA

Copy link
Copy Markdown
Contributor

Before: HAdoc only knew what was written in its YAML files and the WAGO export. It could not tell whether a device was online, what an openHAB item's state was, which rules used it, or what existed in the house but was not documented yet.

After: a device page shows online or offline and its IP, taken from UniFi, Tasmota or MQTT. A signal shows its openHAB item state and every rule that uses the item (as a trigger, through a group, or by name in the script), and you can open the script with one tap. ESPHome configs are imported, so every pin the firmware uses shows up as a port. The issues panel gets a "Found elsewhere, not documented yet" section. It lists openHAB items linked to a channel that no signal uses, unknown clients on the IoT subnet, Tasmota and ESPHome nodes announcing themselves on MQTT, and ESPHome pins with no signal. Documented devices that are offline show as warnings.

How: server/src/live/ polls each source configured under integrations in settings.yaml (default every 60 s) and keeps one MQTT connection open. Results are matched to devices by MAC, hostname or ID. Secrets come only from environment variables (HADOC_OPENHAB_TOKEN, HADOC_UNIFI_KEY, and so on). A failing source reports its error in /api/live and the app keeps working. server/src/importers/esphome.ts reads node configs, including substitutions, pin objects and !secret tags. The tests run against recorded API answers, because CI cannot reach the LAN. Stacked on #3.

🤖 Generated with Claude Code

https://claude.ai/code/session_017KyUdSpsGYq6NV2mMmxJBv


Generated by Claude Code

…ndocumented report

- ESPHome import: each node config becomes an ESP device, each used pin a port
- openHAB: item state, rules per item (trigger, group trigger, script), rule scripts
- UniFi Integration API: online and IP per device by MAC or name, unknown clients
- Tasmota Status 0 and MQTT announcements for online state, IP and firmware
- "Not documented yet" report as info issues; offline devices as warnings
- Secrets only from environment variables; tests run on recorded fixtures

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017KyUdSpsGYq6NV2mMmxJBv
@MathiasVDA MathiasVDA self-assigned this Oct 10, 2026
@MathiasVDA
MathiasVDA changed the base branch from feat/cables-circuits to main October 11, 2026 06:00
@MathiasVDA
MathiasVDA merged commit 5c6c8a0 into main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants