HA Remote access for my car guide

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

  1. 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.
  2. Use OBD programmer to add new spare key to car.
  3. Take apart the key fob down to circuit board with battery removed.
  4. Prepare buttons for relay.
    1. 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.
    2. Solder two wires on either side of the push button.
    3. 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.
  5. Pair the z-wave universal relay with home assisant. Designate each relay for the button you plan to use.
  6. 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
2 Likes