A Home Assistant custom integration that combines entity broadcasting and receiving capabilities. This integration allows you to send entity states from one Home Assistant instance to another via UDP, or receive entity states from remote instances.
Tip
If you are looking for a solution that works across networks but is less lightweight, consider this integration:
GitHub - custom-components/remote_homeassistant: Links multiple home-assistant instances together
- Entity Selection: Choose specific entities to broadcast
- UDP Broadcasting: Sends entity state changes via UDP
- Real-time Updates: Broadcasts state changes immediately
- Configuration UI: Easy setup through Home Assistant's configuration interface
- UDP Listener: Listens for entity state broadcasts on a configurable UDP port
- Dynamic Entity Creation: Automatically creates sensors for received entities
- Real-time Updates: Updates entity states in real-time as broadcasts are received
- Entity Management: Automatically removes stale entities that haven't been updated
- Device Information: Groups all received entities under a single device
- Copy the
entity_ghost
folder to yourcustom_components
directory - Restart Home Assistant
- Go to Configuration → Integrations
- Click "Add Integration" and search for "Entity Ghost"
- Choose between Broadcaster or Receiver mode
- Configure the settings based on your chosen mode
- Entities: Select the entities you want to broadcast
- UDP Port: The port to broadcast on (1024-65535)
- Broadcaster Name: A friendly name for this broadcaster
- UDP Port: The port to listen on for entity broadcasts (1024-65535)
- Receiver Name: A friendly name for the receiving Home Assistant instance
Once configured, the integration will automatically broadcast state changes for the selected entities whenever they change.
Note
Broadcasts do not cross routers by default. This keeps traffic local and limits overload.
Broadcasting can lead to network congestion if overused.
Once configured, the integration will:
- Listen for UDP broadcasts on the specified port
- Automatically create sensors for each received entity
- Update sensor states in real-time
- Provide a switch to enable/disable the UDP listener
The component expects/sends JSON messages in the following format:
{
"broadcaster_name": "Remote Home Assistant",
"entity_id": "sensor.temperature",
"state": "23.5",
"attributes": {
"friendly_name": "Living Room Temperature",
"unit_of_measurement": "°C",
"device_class": "temperature"
},
"timestamp": 1234567890.123
}
This integration is particularly useful when you have multiple Home Assistant instances and want to share entity states between them. For example:
- A production instance with physical sensors
- A development instance that needs access to real sensor data
- Remote monitoring setups
- Testing environments
- Ensure the UDP port is not blocked by firewall
- Check that the broadcaster and receiver are on the same port
- Verify network connectivity between Home Assistant instances
- Check the logs for any error messages
MIT License - see LICENSE file for details.