Insteon - Community App
The Insteon app enables local control/status of Insteon devices, scenes and sensors directly from Homey Pro and Homey Self-Hosted Server
Requirements
- Homey Pro or Homey Self-Hosted Server with firmware 12.2.0 or higher
- Insteon Hub (model 2245-222 or 2242-222) on your local network
- Hub username and password (optional for model 2242-222)
- Insteon device IDs (6-character hex, e.g.,
45ED1C)
Features
Fast Direct Control - Direct HTTP commands to the Insteon 2245-222 hub (~100ms response)
Test connection - Verify connection to Insteon hub 
Hub unreachable error handling - Optimized error handling to eliminate app crashing 
Real-time Events - Bidirectional sync via home-controller library
Insteon Scene Support - Control Insteon Scenes from a custom driver or Flows
Multiple Device Types - Lights, switches, sensors, and scenes
Multilingual - English, Dutch, German, Spanish, French
Compatible Device Types
Actuators
- Switches: On/off control of wall switches, wall outlets, plug-in switches, micro switches and I/O Linc
- Dimmers: Brightness control for wall dimmer switches, dimmer wall outlet 2472DIV, plug-in dimmers, micro dimmers and Insteon LED lightbulbs
Sensors
- Contact Sensors
- Motion Sensors
- Leak Sensors
NOTE: I am not a developer and did not write this code. It has been migrated from earlier work through AI-assisted development (Vibe coded), with Claude Sonnet 4.5 serving as the primary developer. I provided Claude.ai with the scope and requirements, testing and feedback. The results it has delivered are quite good from a functional point of view.
I am highly experienced with smart home platforms and devices, but not with coding. Additionally, I’m fairly new to Homey. I tested this app to the best of my abilities and looked at the generated output, but there could be bugs or patches that wouldn’t make sense to someone who has the skills to do better.
It is not possible for me personally to help with any bugs or feature enhancements without continuing to rely on an LLM.
Review from experienced developers and pull requests are welcome, and would be greatly appreciated as a service to the community.
Insteon integration for Homey on GitHub
Disclaimer
This app is not officially affiliated with, or endorsed by Insteon or Athom.
Quick Start Guide - Insteon app
Prerequisites ✓
- Homey Pro (2023 or later)
- Insteon Hub 2245 or 2242
- Hub IP address
- Hub username and password
- Device IDs for your Insteon devices
Step 1: Install App
- Open Homey app
- Go to Add → New Device
- Search “Insteon”
- Tap Install
- Wait for completion
Step 2: Configure Hub
- Go to Settings → Apps → Insteon
- Tap Configure
- Enter:
- Hub IP:
192.168.1.55 [Example only - Enter your actual Insteon hub IP address]
- Port:
25105
- Username:
your_username
- Password:
your_password
- Model:
2245 (or 2242)
- Tap Test Connection - The debug log will be temporarily enabled
- Verify: Check logs for “Validation passed” and “WebSocket port OK - ✓ Connection successful!”
- Tap Save only if you the connection validation passed and sucessfully connected to the WebSocket, otherwise you must troubleshoot connection issues before saving (see troubleshooting tips below)
Step 3: Add Your First Device
For a Light/Dimmer:
- Devices → Add Device → Insteon for Homey
- Select Insteon Dimmer/Light
- Tap Next → Add
- Go to device settings:
- Device ID:
45ED1C (your device’s 6-char ID)
- Dimmable: ✓ (if dimmer) or ✗ (if switch)
- Fast Commands: ✓ (recommended when instant ON is desired)
- Tap Save
For a Sensor:
Same process, but select the sensor type and only enter Device ID.
Step 4: Test It!
- Tap the device in Homey
- Toggle ON/OFF
- Verify light responds
- Press physical button
- Verify Homey updates
Success! Your Insteon device is now controlled by Homey!
Common Device IDs Format
✓ Correct: 45ED1C, A1B2C3, FF1234
✗ Wrong: 45.ED.1C, 45-ed-1c, 45 ED 1C
(Remove periods/dashes, use uppercase)
Finding Your Hub IP
Method 1: Router
- Log into router
- Look for “Insteon Hub”
- Note the IP address
Method 2: Insteon App
- Open Insteon app
- Settings → Hub Info
- Note IP address
Finding Device IDs
Physical Device
Look for label with format: 45.ED.1C
Remove periods: 45ED1C
Insteon App
Device → Settings → Device ID
Troubleshooting
Hub Not Connecting
Symptom: “Not connected to Insteon hub” error
Solutions:
- Verify hub IP address is correct:
ping 192.168.1.55 [Example only - Enter your actual Insteon hub IP address]
- Check hub is on same network as Homey
- Verify username/password (try logging into hub web interface)
- Ensure hub model is correct (2245 vs 2242)
- Restart the app:
- Settings → Apps → Insteon → Restart App
Device Not Responding
Symptom: Device doesn’t respond to commands
Solutions:
- Verify Device ID is correct (6 characters, no periods)
- Check device is linked to hub:
- Open Insteon app
- Verify device appears in device list
- Test device in Insteon app first
- Verify device has power
- Try removing and re-adding the device
Status Not Updating
Symptom: Physical device changes don’t update in Homey
Solutions:
- Verify hub connection is active (check app logs)
- Ensure device is properly linked to hub
- Check the app debug log and ensure the WebSocket server is running (port 8080)
- Restart the app
- For sensors, verify they’re sending events to hub
Dimming Not Working
Symptom: Light turns on/off but won’t dim
Solutions:
- Verify device is actually a dimmer (not just a switch)
- Check “Dimmable” setting is enabled
- Test dimming in Insteon app first
- Some devices may not support dimming
Advanced Configuration
Using Fast Commands
Fast commands turn lights on/off instantly without ramping:
- Go to device settings
- Enable “Use Fast ON/OFF”
- Save settings
Note: Fast commands may not work with all device types
WebSocket Port
The WebSocket server (default port 8080) allows external integrations:
- If WebSocket fails verification, the debug log will show "
Connection failed: Hub OK, but Port 8080 is in use.
- Try port 8081 and tap Test Connection again
- Verify: Check logs for “Validation passed” and “WebSocket port OK - ✓ Connection successful!”
- Tap Save Settings
- Restart the Insteon app
Scene Support
To control Insteon scenes:
- Add devices with deviceType “scene”
- Use the group number as the device ID
- Scene commands will affect all linked devices
Network Requirements
Best Practices
- Use descriptive names: “Kitchen Light” vs “Light 1”
- Keep firmware updated: Update hub firmware regularly
- Document Device IDs: Keep a list of device IDs and locations
- Test after changes: Always test after adding/modifying devices
- Monitor logs: Check app logs if issues occur
Getting Help
If you encounter issues:
-
Check app debug log:
- Settings → Apps → Insteon → Configure → Debug Logging
-
Verify hub connection:
- Look for “✓ Connection successful!” message
-
Verify the WebSocket connection:
- Look for “WebSocket port OK - ✓ Connection successful!”
-
Test in Insteon app:
- Ensures device is working with hub
-
Report issues:
Important note to all Insteon app users
The websock port defaults to 8080. This can be found in the Insteon app for Homey under Configure > Advanced Settings (Websocket Port).
Version 1.8.2 includes the following important changes:
-
Previously unhandled asynchronous errors were causing Node.js to crash. The method for catching HTTP operation errors has been changed
-
Important bug fixes
- scheduleReconnect called initializeHub without a try-catch and the unhandled rejection was crashing the Insteon app
- Capture and catch the Promise returned by httpClient
- process.on(‘unhandledRejection’)` as a safety net to catch the polling loop rejections
-
Prior improvements to prevent a crash loop when the default WebSocket port 8080 is unavailable are included
-
The Test Connection button now tests the WebSocket port in addition to the Hub connection and the debug log includes a suggestion to increment the port to 8081 and retest
Thank you for helping to make the Insteon app better!
Well you and Claude did a great job cause it works like a charm. I do want to ask about this: Bidirectional sync via home-controller library
Is this supposed to mean that manually using an Insteon switch lets Homey know about its new state? If so, I don’t find this to be the case. What do you mean by the home-controller library?
Thsnks
Thanks for trying out the app! I’ve tested this extensively with my own system and it works as expected. I do know that you can see the ON/OFF button react in real time when you manually control an Insteon dimmer or switch, but you will not see the dim level change in real time.
When dimming manually at the switch, you will initially see the dim level on Homey show as 1%, but Homey will then update to show the current dim level after a short delay. This is limitation of how the home-controller API works. Changes on Homey will change Insteon devices to the same state, but you will never see an instant update on Homey until a change occurs at the Insteon device.
Regarding Home-Controller:
It is an API that uses the direct PLM connection over TCP. Like Insteon, it’s old but still works.
If you are still not seeing that change, maybe you can help improve the app with some more information. Are you using a 2245 hub or a 2242 hub? Which Insteon device and model number are you testing with?
Important changes and bug fixes. All Insteon app for Homey users should update to prevent crash loops from occurring.
My sincere apology for any inconvenience. I’m uncertain the issue won’t persist, but I’m monitoring closely to try resolve the occasional crashes once and for all.
I need help from two particular Insteon users please!
Will the users with the Insteon hub IP addresses of 192.168.50.111 and 10.0.1.225 please send me a private message. I’ve been trying for many weeks to work with Claude AI to resolve crashing of the Insteon app for Homey, but have been unsuccessful. I’m in need of detailed information and your two hubs seems to crash frequently. A small number of other users have also experienced a crash, but only 1 for each and several other Insteon app users are not experiencing any crashing.
I’m not able to replicate the issue with my own Insteon hub, so I’d like to kindly ask for your help in determining what it is about your two hubs that are similar.
Here’s the crash count for the Insteon app with each of your hubs:
Insteon hub IP 192.168.50.111
75 crashes on version 1.8.1
281 crashes on version 1.8.2
983 crashes on version 1.8.3
Insteon hub IP 10.0.1.225 ← Your particular hub is suffering with this app. Please send a diagnostic report so I can try to resolve whatever is uniquely causing your Insteon setup to crash the app continuously.
75 crashes on version 1.8.1
281 crashes on version 1.8.2
5286 crashes on version 1.8.3