Control your RV's Lippert OneControl system directly from Home Assistant!
-
π‘ Light Control: Turn RV lights ON/OFF
- Ceiling lights, porch lights, awning lights, scare lights, and more
- Automatic discovery of installed lights
- Real-time state sync from broadcasts
-
π Tank Sensors: Monitor tank levels
- Fresh Water
- Grey Water
- Black Water
- LP Gas (Propane)
-
π Battery Voltage: Real-time battery monitoring
-
β‘ Generator Control: Start/stop your generator
- Power switch (ON/OFF)
- State monitoring (Off, Priming, Starting, Running, Stopping)
- Hour meter tracking
-
π₯ Water Heaters: Control gas and electric water heaters
- Gas Water Heater (ON/OFF)
- Electric Water Heater (ON/OFF)
- Real-time state sync from broadcasts
-
π§ Water Pump: Control your RV's water pump
- ON/OFF control
- Real-time state sync from broadcasts
-
π Auto-Discovery: Automatically finds devices installed in your RV
- No manual configuration of device IDs needed
- Device selection UI during setup - choose which devices to add
- Rediscover devices anytime via Configure menu
- Existing devices preserved when rediscovering
-
π‘ Real-Time State Sync: Device states update automatically
- Lights, water heaters, and water pump sync from OneControl broadcasts
- ~7 second polling interval for fast state updates
- Changes from the OneControl app reflect in Home Assistant
- Open HACS in Home Assistant
- Click the three dots in the top right
- Select "Custom repositories"
- Add
https://github.com/manos/HomeAssistant-Lippert-OneControl-Integrationas Integration - Install "Lippert OneControl"
- Restart Home Assistant
- Copy
custom_components/lippert_onecontrolto your Home Assistant'scustom_componentsdirectory - Restart Home Assistant
- Go to Settings β Devices & Services
- Click + Add Integration
- Search for "Lippert OneControl"
- Enter your controller's IP address (default:
192.168.1.1) - The integration will auto-discover your installed devices
- Select which devices you want to add (all are selected by default)
If you add new devices to your RV or update the integration:
- Go to Settings β Devices & Services β Integrations
- Find Lippert OneControl β click Configure
- Select π Rediscover Devices
- New devices will be shown for selection
- Your existing devices and dashboard configurations are preserved
- Go to Settings β Devices & Services β Integrations
- Find Lippert OneControl β click Configure
- Select π View Current Devices
The OneControl controller runs on the RV's internal WiFi network:
- IP:
192.168.1.1 - Port:
6969
Your Home Assistant instance must be able to reach this IP.
The easiest way to integrate OneControl with your home network is using a Raspberry Pi as a network bridge:
βββββββββββββββ WiFi ββββββββββββββββ Ethernet βββββββββββββββ
β OneControl β βββββββββββββΊ β Raspberry Pi β ββββββββββββββΊ β Home β
β Controller β 192.168.1.x β (bridge) β Your LAN β Assistant β
β 192.168.1.1 β ββββββββββββββββ βββββββββββββββ
βββββββββββββββ
Setup:
- Connect Pi's WiFi to your RV's OneControl network
- Connect Pi's Ethernet to your home network (or run HA directly on the Pi)
- Enable IP forwarding and set up routing/NAT on the Pi
- Home Assistant can now reach
192.168.1.1through the Pi
This approach lets Home Assistant stay on your main network while accessing the RV's isolated OneControl system.
- Run Home Assistant directly on a Pi connected to RV WiFi
- Use a travel router to bridge networks
- Dual-interface setup on your HA host
The integration automatically discovers devices based on their function ID. Common device types include:
| Function ID | Device Name |
|---|---|
| 32 | Kitchen Ceiling Light |
| 33 | Kitchen Sconce Light |
| 41 | Living Room Ceiling Light |
| 48 | Porch Light |
| 49 | Awning Light |
| 50 | Outdoor Light |
| 57 | Bedroom Light |
| 58 | Living Room Light |
| 59 | Kitchen Light |
| 63 | Bed Ceiling Light |
| 122 | Scare Light |
| Function ID | Device Name |
|---|---|
| 67 | Fresh Tank |
| 68 | Grey Tank |
| 69 | Black Tank |
| 70 | LP Tank |
| 176 | LP Tank (alternate) |
| Function ID | Device Name |
|---|---|
| 3 | Gas Water Heater |
| 4 | Electric Water Heater |
| Function ID | Device Name |
|---|---|
| 5 | Water Pump |
| Function ID | Device Name |
|---|---|
| 95 | Generator |
Note: Device counters (internal IDs) vary per RV installation. The integration uses function IDs to identify device types, then auto-discovers the specific counters for your RV.
This integration uses the reverse-engineered Lippert OneControl protocol:
- COBS-encoded frames over TCP
- CRC-8/MAXIM checksums
- TEA cipher authentication for device control
- RelayBasicLatchingStatus2 broadcasts for state synchronization
For technical details, see the OneControl-RV-C-Protocol repository.
The following device types are intentionally NOT exposed:
- Slides - Collision/pinch risk, requires visual confirmation
- Awning motor - Collision risk, requires visual confirmation
- Levelers/landing gear - Vehicle stability risk
These require physical observation during operation and are not suitable for remote control.
- Verify Home Assistant can reach
192.168.1.1(ping test) - If using a Pi bridge, ensure the bridge is running and routing is configured
- Check that the controller IP is correct
- Ensure no firewall is blocking port 6969
- The integration uses automatic retry (2 attempts) for commands
- If commands fail, try again after a few seconds
- The OneControl app should be closed (it may hold the connection)
- Device states sync from broadcasts every ~7 seconds
- Toggle the device from OneControl app and wait for HA to update
- If state is stuck, restart Home Assistant
- Tank levels and battery voltage are polled every 7 seconds
- Some sensors require the RV's electrical system to be active
- Ensure your RV's OneControl system is powered on
- Try running rediscovery after a few seconds
- Check HA logs for connection errors
Contributions are welcome! Please see the protocol documentation for technical details.
MIT License - see LICENSE for details.