User Guide · Your room
Smart home
Smart home: tell Home Assistant or any web address when a tile starts or ends and when the room starts, goes idle, wakes or exits, and make tiles that only send a signal.
Updated in 1.7.1
What it does
RoomCaddie can notify Home Assistant or any web address when a tile starts or ends, and when the room starts, goes idle, wakes or exits. Your automation decides what happens: lights dim when golf starts, or the fan turns off when the room goes idle. A tile can also send just a signal, such as a GOODNIGHT tile that runs your automation without leaving the home screen. RoomCaddie sends nothing until you add a connection.
Before you start
- For Home Assistant, you need its address (often "http://homeassistant.local:8123") and a webhook id. You get the id from a Home Assistant automation with a Webhook trigger.
- For anything else, you need the web address it listens on and whether it expects a POST message or the address opened as typed (GET).
- How to set up, beside the Smart home row in Settings, opens this chapter on roomcaddie.com.
Step by step
Make the automation in Home Assistant
- In Home Assistant, go to "Settings" > "Automations & scenes" and select "Create automation" > "Create new automation".
- Add a trigger and choose "Webhook". Copy its webhook id to paste into RoomCaddie in the next part.
- Keep the default setting so the webhook is reachable only from your local network. RoomCaddie sends from your PC on the same network.
- Save the automation.
Connect Home Assistant
- Open the editor and press Settings…. On the Smart home row, press Set up….
- Press Add Home Assistant.
- Enter Name, Home Assistant address and Webhook id.
- Press Test. The line below shows the result, such as "Home Assistant answered in 0.3 s."
- Press Save.
You can see the test arrive in the automation's trace in Home Assistant.
Connect any web address
- In Settings…, on the Smart home row, press Set up… (or Change…), then Add a URL.
- Enter Name and URL.
- Under How, tap POST the message or GET the URL as typed.
- Press Test, then Save.
Send the room's own events
- On a connection, under Also send the room's events, tap the events you want to send: Room started, Idle screen on, Idle screen off, RoomCaddie exits.
- Press Save.
Make a tile tell your smart home it started or ended
- In the editor, open a tile that launches a program. Under its steps, on the Smart home row, press Set up….
- Tap "On start" to send a signal as soon as the tile launches.
- Tap "On end" to send a signal when the tile ends, including how many minutes it ran.
- If you want, enter a Note (optional), such as "scene: golf". Your automation can read it.
These signals also appear as steps in the tile's list, where you can move or remove them. To send a signal at a specific point during launch, with its own wait, press + Add another program and choose Send a signal.
Make a tile that only sends a signal
- In the editor, press + Add tile and name the tile.
- Tap Sends a smart-home signal.
- If you have more than one connection, tap the one you want under Send it to. Add a Note (optional) if you want.
- Press Save the tile.
When you tap the tile, it sends the signal without launching anything, and you stay on the home screen.
Settings
| Setting | Where | What it does | Default |
|---|---|---|---|
| Smart home | Settings > Smart home | The Home Assistant and web address connections that receive signals from RoomCaddie. | Not connected |
| Also send the room's events | Each connection, under Smart home | The room events sent to that connection. | None |
| Smart home (on a tile) | The tile's steps, in the editor | Whether the tile sends a signal on start, on end or both, and the note it includes. | Off |
Good to know
- RoomCaddie sends signals during launch without delaying it. A hub that doesn't answer never holds up the room.
- RoomCaddie waits 5 seconds for an answer, tries once more 2 seconds later, then gives up.
- To use an internet address, tick the box on its connection to send to it anyway, or RoomCaddie rejects the address when you press Save. You don't need to tick the box for addresses on your own network.
- After you save, the webhook id and URL are hidden like a password. Press Show to see them.
- You can add one Home Assistant connection. After you add it, Add Home Assistant disappears. Add a URL stays available so you can add more web addresses.
- "On end" needs a main program with "Come back to the home screen when it closes" turned on. RoomCaddie knows the tile has ended when that program closes.
- When you shut down or restart from RoomCaddie or Windows, your connections still receive signals that each running tile has ended and RoomCaddie is exiting.
- Every signal includes the event, the tile's name, your note, the room's name, the minutes (on end), the time and RoomCaddie's version. The events are
activity.started,activity.ended,tile.pressed,room.started,room.idle,room.awake,room.exitandtest. - A tile that only sends a signal shows a green mark when your smart home answers and a red mark when it doesn't.
- Last 20 signals, in the Smart home panel, shows what was sent, where it went and the answer.
Each signal is one small JSON message. Its fields keep the same meaning; new fields may be added later, but existing fields are never removed. A web address set to GET receives only the address, with no message.
{"event":"activity.started","activity":"Play Golf","note":"scene: golf",
"room":"THE MURPHY SIM BAY","minutes":null,"time":"2026-10-08T21:42:07-04:00",
"rc_version":"1.7.1"}
| Event | When it's sent |
|---|---|
test | You press Test on a connection. |
activity.started | A tile set to send on start launches. |
activity.ended | That tile's main program closes; minutes tells you how long it ran. |
tile.pressed | You tap a tile that only sends a signal; activity is the tile's name and note is its note. |
room.started | RoomCaddie opens. |
room.idle | The idle screen comes on. |
room.awake | The idle screen goes off. |
room.exit | RoomCaddie closes, including when the PC shuts down, restarts or signs out. |
The four room. events go only to a connection where you have ticked them. When RoomCaddie closes with a tile still running, it sends that tile's activity.ended first, then room.exit, once.
In Home Assistant, the message is trigger.json. Add the actions you want to the automation. To respond to only one event, add a template condition such as {{ trigger.json.event == 'activity.started' }}. The tile's name is trigger.json.activity and its note is trigger.json.note, so one automation can run a different scene for each tile.
If something goes wrong
| What you see | What to do |
|---|---|
| "did not answer" under the clock on the home screen | A signal failed. Open Settings > Smart home and press Test on that connection. Press Dismiss to hide the line. |
| "Answered 404: that webhook id is not known to" Home Assistant | Copy the webhook id from the automation's Webhook trigger again. |
| "No answer" "after 5 s" | Check that the device is on and the address is correct. |
| "can't be found on this network" | The address is wrong, or the device is on another network. Check the address. |
| "Nothing is listening at" its address | The device is off, or the port is wrong. |
| "has a certificate RoomCaddie can't verify" | Use http, not https, on your own network. |
| "address leads off your network" | If the address is correct, tick the box on the connection to send to it anyway, then save. |
| "is still answering an earlier signal" | Wait a moment and try again. |
| "The connection this tile sent to was deleted." | Under Send it to, tap another connection. |