Drops the CONF_GREETING option, the first-contact greeting logic and its
RuntimeData state, and all related strings/translations/README text. Any
greeting value left in an existing entry's options is simply ignored.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- entity.py: decorate the dispatcher target _handle_update with @callback so it
runs on the event loop. Without it, async_dispatcher_send offloaded the plain
sync callback to an executor thread, and async_write_ha_state raised
"calls async_write_ha_state from a thread other than the event loop".
- config_flow.py: replace the free-text Assist agent field with
ConversationAgentSelector (a proper agent dropdown), and use LanguageSelector
for the language field.
- README: clarify that the built-in Assist agent only handles device commands;
an LLM conversation agent is required for free-form chat.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Custom integration connecting Home Assistant to a Reticulum network over a
TCPClientInterface and exchanging LXMF messages, with an Assist conversation
bridge, notify entity, sensors (incl. interface telemetry), buttons, services,
bus events and device triggers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>