Repository navigation
Live connections: openHAB, UniFi, Tasmota, MQTT, ESPHome and the undocumented report - #4
Merged
Merged
Conversation
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 underintegrationsinsettings.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/liveand the app keeps working.server/src/importers/esphome.tsreads node configs, including substitutions, pin objects and!secrettags. 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