Remote start for your car through home assistant.
Background concepts
- A moment push button is typical on key fob remotes used to start automobiles.
- A relay is a device which short circuits two disconnected wires hooked up to the relay.
- Pushing a button is the same as short circuiting.
- Wiring a button into a relay allows you to emulate pushing the button by triggering the relay through home assistant.
Other relay tid bits
- Relays can be normally open (disconnected wires and pushing relay will connect) or normally closed (always connected and pushing the relay will disconnect).
- Z-Wave universal relays have a lot of configuration options to change the behavior of relays and sensor inputs.
Setup
- Parts (or purchase list)
- OBD key fob programmer for my Honda. The car already has a remote start feature and key fob button for remote start.
- I bought a Zooz z-wave universal relay (has 3 relays)
- My garage door (I park inside) is integrated with a separate universal relay with magnetic door sensor (no tilt sensor and no batteries).
- Soldering iron and soldering materials.
- “Helping hands” for soldering.
- Digital multimeter.
- Use OBD programmer to add new spare key to car.
- Take apart the key fob down to circuit board with battery removed.
- Prepare buttons for relay.
- Identify the buttons you want (limited to 3) and use digital multimeter to perform continuity tests on key fob push buttons. On each corner of the soldered push-button of the remote test the four points. You want to solder wires on the points where they DON’T have connectivity.
- Solder two wires on either side of the push button.
- Test: put the key fob battery in and short circuit the two wires. It should activate your car. Repeat previous and current step until buttons you want are available.
- Pair the z-wave universal relay with home assisant. Designate each relay for the button you plan to use.
- Configure Zooz relay in z-wave device config. This will vary depending on how your car remote works.
- Status after power failure - all relays off
- Set all three switch types to momentary (they’re unused)
- Set Relay 1, 2, and 3 Auto-off timer. For my key fob here’s my timings.
- Lock button relay: 1 second
- Unlock button relay: 1 second
- Remote start button relay: 7 seconds
- Set all three relay auto off timer unit to SECONDS.
- Set all three relay types to: Normally Open.
You should be able to remotely control your car while it sits at home. Nice to activate remote start reliable or to unlock your car if you do not have key fob on your person.
Automation considerations
- My key fob has a sequence of button pushes. So my remote start actually triggers an automation that performs a sequence of key fob button presses. On my honda: Lock twice and hold remote start button for 7 seconds. This was the only reliable way I could remote start my car.
- Always assuming I park inside garage, remote start automation checks if the garage door is closed. It aborts with a push notification warning to open garage before remote starting car.
Pictures
Remote start automation YAML
I configured this from mobile app visual editor. It starts off with a 3 second delay so that I can cancel remote start.
Because universal relays trigger with 1 or 7 second toggles I buffered the automation delays so they’re 1.25 or 7.25 seconds. This provides enough buffer that the zooz universal relay finishes it’s auto-off timer when toggling the switch.
alias: Remote Start Honda
description: ""
triggers:
- trigger: state
entity_id:
- input_boolean.remote_start_car
from: "off"
to: "on"
for:
hours: 0
minutes: 0
seconds: 3
conditions:
- condition: and
conditions:
- condition: state
entity_id: switch.car_remote_relay
state: "off"
- condition: state
entity_id: input_boolean.remote_start_car
state: "on"
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.remote_start_car
- if:
- condition: state
entity_id: binary_sensor.universal_relay_window_door_is_open_1
state: "off"
then:
- action: notify.notify
metadata: {}
data:
title: Honda Car
message: Garage must be OPEN before remote start
else:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.car_remote_relay_1
- action: notify.notify
metadata: {}
data:
title: Honda Car
message: Remote Start Activated
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 250
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.car_remote_relay_1
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 250
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.car_remote_relay_3
- delay:
hours: 0
minutes: 0
seconds: 7
milliseconds: 250
- action: notify.notify
metadata: {}
data:
title: Honda Car
message: Remote Start Complete
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.remote_start_car
mode: single