Controlar el gasto de tu coche con Traccar y Json

Hola a tod@s de nuevo! Hoy vamos a hablar de como tener un control de lo que gastamos en gasolina o diesel en nuestro coche si tenemos ya un tracker instalado, Traccar y Home Assistant.

Paso 1º

Lo primero de todo vamos a crearnos un sensor json para saber el precio de la gasolina o diesel en nuestra comunidad. Para eso seguiremos este Tutorial

Una vez tengamos el sensor listo y teniendo ya agregado nuestro device_tracker correspondiente al traccar. Vamos a crearnos dos input number que son los que usaremos para que guarde nuestro consumo diario y mensual.

input_number:
  km_totales_dia:
    name: Km Iniciales Dia
    min: 0
    max: 999999999
  km_totales_mes:
    name: Km Iniciales Mes
    min: 0
    max: 999999999

Paso 2º

Nos pondremos a crearnos unos sensores a medida del coche o moto para que nos saque los kilometros que lleva. ATENCION! Normalmente los tracker no cuentan bien los kilómetros, así que he creado una formula para adaptar los kilómetros que le sale al tracker con los reales de mi coche, tendréis que modificar la cifra final para hacerlo a medida.

sensor:  
  - platform: template
    sensors:
      coche_kmstotal:
        friendly_name: 'Km Coche'
        value_template: '{{ ((states.device_tracker.nuestrocoche.attributes.totalDistance | multiply(0.001) | round(0))) + 135212}}'
        unit_of_measurement: 'Km'

A continuacion crearemos 4 sensores en template para calcular los kilometros / gasto diario y mensual. DEBEREMOS cambiar la parte de el sensor de nuestra gasolinera porque en cada provincia y depende del tipo de gasolina varia bastante. Tambien cambiaremos la cifra que va a continuacion del multiply por el gasto medio de nuestro coche, imaginemos que nuestro coche gasta de media 6.8 L / 100, bien pues dividiremos esta cifra entre 100 y ese numero lo ponemos en la formula siguiente:

sensor:  
  - platform: template
    sensors:
      km_totales_dia:
        value_template: >-
         {{ ((float(states.sensor.coche_kmstotal.state) - float(states.input_number.km_totales_dia.state)))}}
        friendly_name: "Km Dia"
        unit_of_measurement: 'Km'
      gasto_dia_km:
        value_template: >-
          {{ ((float(states.sensor.km_totales_dia.state) * (states.sensor.gasolinera1.state | multiply(0.068))))| round (2) }}
        friendly_name: "Gasto Diario" 
        unit_of_measurement: '€'        
      km_totales_mes:
        value_template: >-
         {{ ((float(states.sensor.coche_kmstotal.state) - float(states.input_number.km_totales_mes.state)))}}
        friendly_name: "Km Mes"
        unit_of_measurement: 'Km'
      gasto_mes_km:
        value_template: >-
          {{ ((float(states.sensor.km_totales_mes.state) * (states.sensor.gasolinera1.state | multiply(0.068))))| round (2) }}
        friendly_name: "Gasto Mensual" 
        unit_of_measurement: '€'        

Paso 3º

Ahora pasaremos a crearnos los automations necesarios para que diariamente y mensualmente pase a 0 los Km y el gasto.

automation:
- alias: Km Dia
  initial_state: true
  trigger:
    platform: time
    at: '00:00:00'
  action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.km_totales_dia
        value: "{{ states.sensor.coche_kmstotal.state }}"
- alias: Km mes
  initial_state: true
  trigger:
    - platform: time
      at: '00:00:00'
  condition:
    - condition: template
      value_template: "{{ now().day == 1 }}" 
  action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.km_totales_mes
        value: "{{ states.sensor.coche_kmstotal.state }}"

Una vez tengamos todo realizado, los pondremos en nuestro frontend de la forma que queramos. El mio queda como al principio de este tutorial.

Debo decir que este tutorial es para hacernos una idea del gasto diario y mensual aproximado de nuestro vehículo, no es exacto.

Con esto doy por concluido el Tutorial, espero que os haya gustado como siempre y si tenéis alguna pregunta o aclaración ya sabéis donde encontrarme!!

Un saludo

Deja un comentario

Síguenos

Siguenos en facebook