Post-cutover fix arc: sml2mqtt could not reach the IPv6-first broker LB from the compose bridge (no v6, then unmasqueraded NAT66 SYNs). Final design per review feedback: both containers use host networking — real host addresses v4+v6, no bridge, no NAT; the interim daemon.json NAT66 experiment is removed again. Also includes the encrypted edge_host vault.yml (ansible-vault, password via ANSIBLE_VAULT_PASSWORD env — standard repo pattern). Deployed + verified: zwave-js serves HA (12 nodes), sml2mqtt publishes, meter data live.
Post-cutover fix arc: sml2mqtt could not reach the IPv6-first broker LB from the compose bridge (no v6, then unmasqueraded NAT66 SYNs). Final design per review feedback: both containers use host networking — real host addresses v4+v6, no bridge, no NAT; the interim daemon.json NAT66 experiment is removed again. Also includes the encrypted edge_host vault.yml (ansible-vault, password via ANSIBLE_VAULT_PASSWORD env — standard repo pattern). Deployed + verified: zwave-js serves HA (12 nodes), sml2mqtt publishes, meter data live.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
mqtt.renner.uno resolves AAAA-first; the default bridge has no IPv6 and
sml2mqtt does not fall back to A records — InitialMqttConnectionFailed
loop after the USB cutover. Same daemon-level IPv6+ULA+NAT66 fix as the
netbird-proxy role.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fixed-cidr-v6 only covers docker0; the compose-created network stayed
v4-only and sml2mqtt kept failing to reach the broker.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bridge-network IPv6 SYNs to the AAAA-first broker LB leave without
masquerade and die; sml2mqtt is outbound-only, and the host stack
reaches the broker (open3e proves it). Daemon/network v6 kept for
future containers.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: pass real addresses instead of NAT. zwave-js binds
3000/8091 on the host directly; sml2mqtt is outbound-only; the NAT66
daemon config and compose-network v6 experiment are removed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Post-cutover fix arc: sml2mqtt could not reach the IPv6-first broker LB from the compose bridge (no v6, then unmasqueraded NAT66 SYNs). Final design per review feedback: both containers use host networking — real host addresses v4+v6, no bridge, no NAT; the interim daemon.json NAT66 experiment is removed again. Also includes the encrypted edge_host vault.yml (ansible-vault, password via ANSIBLE_VAULT_PASSWORD env — standard repo pattern). Deployed + verified: zwave-js serves HA (12 nodes), sml2mqtt publishes, meter data live.
🤖 Generated with Claude Code