Giter Club home page Giter Club logo

homeassistant-skodaconnect's Introduction

Version PyPi Downloads

Skoda Connect - An home assistant plugin to add integration with your car

v1.0.19

This is fork of robinostlund/homeassistant-volkswagencarnet where I am trying to modify the code to support Skoda Connect.

Big thanks to @Farfar who is making great contribution to this project!

What is working

  • odometer
  • fuel level, range, adblue level
  • lock status, window status
  • last trip info
  • position - gps coordinates, vehicleMoving, parkingTime
  • auxiliary heating/ventilation control
  • electric engine related information thanks to @Farfar
  • electric climatisation and window_heater information thanks to @Farfar
  • start/stop electric climatisation and window_heater thanks to @Farfar
  • lock/unlock car thanks to @tanelvakker

What is NOT working / under development

  • for auxiliary heating/ventilation - after enabling you need to wait about 2 minutes to get true status if it is really enabled or not
  • trigger status refresh from car - for status changes where car doesn't report it automatically to server (for example car was unlocked on the garden and you just lock it) it still shows old status until car will upload new status or status is refreshed from Skoda Connect App
  • when vehicleMoving=yes device_tracker GPS stays on old values until parked

Install

Clone or copy the repository and copy the folder 'homeassistant-skodaconnect/custom_component/skodaconnect' into '/custom_components'

Configure

Add a volkswagencarnet configuration block to your <config dir>/configuration.yaml:

skodaconnect:
    username: <username for skoda connect>
    password: <password for skoda connect>
    spin: <S-PIN for skoda connect>
    combustion_engine_heating_duration: <allowed values 10,20,30,40,50,60 (minutes)>
    combustion_engine_climatisation_duration: <allowed values 10,20,30,40,50,60 (minutes)>
    scandinavian_miles: false
    scan_interval:
        minutes: 5
    name:
        wvw1234567812356: 'Kodiaq'
    resources:
        - combustion_engine_heating         
        - combustion_climatisation
        - distance
        - position
        - service_inspection
        - oil_inspection
        - door_locked
        - trunk_locked
        - request_in_progress
        - fuel_level        
        - windows_closed        
        - adblue_level
        - climatisation_target_temperature
        - last_connected
        - combustion_range
        - trip_last_average_speed
        - trip_last_average_fuel_consumption
        - trip_last_duration
        - trip_last_length
        - parking_light
        - door_closed_left_front        
        - door_closed_left_back
        - door_closed_right_front
        - door_closed_right_back
        - trunk_closed
        - window_closed_left_front
        - window_closed_left_back
        - window_closed_right_front
        - window_closed_right_back
        - sunroof_closed
        - service_inspection_km
        - oil_inspection_km
        - outside_temperature
        - electric_climatisation
        - window_heater
        - charging
        - battery_level
        - charging_time_left
        - electric_range
        - combined_range
        - charge_max_ampere
        - climatisation_target_temperature
        - external_power
        - climatisation_without_external_power
        - charging_cable_connected
        - charging_cable_locked
        - trip_last_average_electric_consumption
        - hood_closed
        - kodiaq_combustion_engine_heating_ventilation_status
        - vehicleMoving
        - parkingTime
        - energy_flow
        - requests_remaining
  • resources: if not specified, it will create all supported entities

  • spin: (optional) required for supporting combustion engine heating start/stop.

  • scan_interval: (optional) specify in minutes how often to fetch status data from carnet. (default 5 min, minimum 1 min)

  • scandinavian_miles: (optional) specify true if you want to change from km to mil on sensors

  • name: (optional) map the vehicle identification number (VIN) to a friendly name of your car. This name is then used for naming all entities. See the configuration example. (by default, the VIN is used). VIN need to be entered lower case

Automations

In this example we are sending notifications to an ios device

Save these automations in your automations file <config dir>/automations.yaml

Get notification when your car is on a new place and show a map with start position and end position

- id: notify_skoda_position_change
  description: Notify when position has been changed
  alias: Skoda position changed notification
  trigger:
    - platform: state
      entity_id: device_tracker.kodiaq
  action:
    - service: notify.ios_my_ios_device
      data_template:
        title: "Kodiaq Position Changed"
        message: |
          ๐Ÿš— Skoda Car is now on a new place.
        data:
          url: /lovelace/car
          apns_headers:
            'apns-collapse-id': 'car_position_state_{{ trigger.entity_id.split(".")[1] }}'
          push:
            category: map
            thread-id: "HA Car Status"
          action_data:
            latitude: "{{trigger.from_state.attributes.latitude}}"
            longitude: "{{trigger.from_state.attributes.longitude}}"
            second_latitude: "{{trigger.to_state.attributes.latitude}}"
            second_longitude: "{{trigger.to_state.attributes.longitude}}"
            shows_traffic: true

Announce when your car is unlocked but no one is home

- id: 'notify_skoda_car_is_unlocked'
  alias: Skoda is at home and unlocked
  trigger:
    - entity_id: binary_sensor.vw_carid_external_power
      platform: state
      to: 'on'
      for: 00:10:00
  condition:
    - condition: state
      entity_id: lock.kodiaq_door_locked
      state: unlocked
    - condition: state
      entity_id: device_tracker.kodiaq
      state: home
    - condition: time
      after: '07:00:00'
      before: '21:00:00'
  action:
    # Notification via push message to smartphone
    - service: notify.device
      data:
        message: "The car is unlocked!"
        target:
          - device/my_device
    # Notification via smart speaker (kitchen)
    - service: media_player.volume_set
      data:
        entity_id: media_player.kitchen
        volume_level: '0.6'
    - service: tts.google_translate_say
      data:
        entity_id: media_player.kitchen
        message: "My Lord, the car is unlocked. Please attend this this issue at your earliest inconvenience!"

Enable debug logging

logger:
    default: info
    logs:        
        custom_components.skodaconnect: debug
        custom_components.skodaconnect.climate: debug
        custom_components.skodaconnect.lock: debug
        custom_components.skodaconnect.device_tracker: debug
        custom_components.skodaconnect.switch: debug
        custom_components.skodaconnect.binary_sensor: debug
        custom_components.skodaconnect.sensor: debug

homeassistant-skodaconnect's People

Contributors

farfar avatar lendy007 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.