Seuraavaksi ajattelin kirjoittaa tällä hetkellä melko ajankohtaisesta asiasta kuin auton lohkolämmittimen ajastuksen automatisointi. Tähän on löytyy erilaisia toteutuksia netistä vaikka kuinka paljon, mutta itselleni on riittänyt se, että olen voinut asettaa auton lämmitys- ja lähtöajan, jonka jälkeen Home Assistant on hoitanut lopun automaattisesti.
Minulla on käytössä myös erillinen autolämmitysrasia, jossa on kaksi erillistä pistorasiaa. Näistä toinen on kellon takana ja toinen on sellainen, johon tulee jatkuva virta. Varsinkin kellon käyttö on mielestäni tosi hankalaa ja kömpelöä, jonka vuoksi olen päätynyt tähän ohjattavaan pistorasiaan. Jo pelkästään mahdollisuus ohjata pistorasiaa helpotti paljon, kun ei enää tarvinnut lähteä erikseen laittamaan lämmittimen johtoa seinään tai muuttamaan kellon asetusta.
Pistorasiana minulla on tällainen Ledvance Smart+ Outdoor Plug -ulkopistorasia, jossa on erillinen johto. Tämä on siitä hyvä, että sen voi kytkeä autolämmitysrasian (jatkuva virta) pistorasiaan siten, että kansikin mahtuu vielä kiinni ja lukkoon. Lisäksi ulkopistorasiassa on myös kunnon kansi, jolloin se on suojassa kosteudelta. Tällä kokoonpanolla on menty jo muutama talvi läpi ja hyvin on toiminut.
Muuttujien ja automaation teko Link to heading
Automaattista ohjausta varten Home Assistantiin tarvitsee luoda muuttujat lähtö- ja lämmitysajalle sekä myös tehdä valitsin, jolla voidaan määrittää toiminta siten, että autolämmitysrasia toimii joko automaattisesti tai manuaalisesti.
Muuttujat määritetään configuration.yaml
-tiedostoon seuraavasti:
# configuration.yaml # eli tähän tiedostoon tehdään muuttujat
# lähtöaika
input_datetime:
lahtoaika:
name: 'Lähtöaika'
has_date: false
has_time: true
initial: '08:00'
icon: 'mdi:clock-time-four'
# lämmitysaika
input_number:
lammitysaika:
name: 'Lämmitysaika'
initial: 60
min: 0
max: 240
step: 5
icon: 'mdi:timer-outline'
unit_of_measurement: 'min'
# lämmitysjan asetus manuaalisesti/automaattisesti
input_select:
autonlammitysasetus:
name: 'Auton lämmityksen asetus'
options:
- Automaattinen
- Manuaalinen
initial: Manuaalinen
icon: 'mdi:cog'
Edit 16.11.2023
Nyt täytyy nostaa käsi ylös virheen merkiksi. Eli tekstistä on jäänyt puuttumaan sensoritieto, joka tarvitaan ja jota ilman automaatio ei toimi. Tämä sensoritieto on jäänyt minulta puuttumaan alkuperäisestä tekstistä. Kiitos tästä huomiosta kuuluu kommentin jättäneelle lukijalle nimimerkiltään jumalanruoska. Mutta alla tämä sensori, joka luodaaninput_datetime.lahtoaika
-muuttujasta elisensor.yaml
-tiedostoon täytyy lisätä rivit:
#sensor.yaml
- platform: template
sensors:
autonlammitysaloitusaika:
value_template: "{{(state_attr('input_datetime.lahtoaika', 'timestamp') - (states('input_number.lammitysaika')|int *60))|timestamp_custom('%H:%M', false) }}"
friendly_name: 'Lämmityksen aloitusaika'
icon_template: 'mdi:clock-time-four'
Myös ulkopistorasia tulee liittää Home Assistantiin ja minulla se on nimeltään switch.pistorasia_autopaikka
. Lisäksi olen automaatiossa määrittänyt, että autolämmitysrasia pysyy päällä vielä 10 min sen jälkeen, kun lähtöaika on ollut käsillä. Tämä siksi, että mikäli lähtöaika hiukan venyy, niin auton lämmitys on kuitenkin vielä hetken päällä.
Ennen automaation määrityksiä, täytyy Home Assistant kuitenkin käynnistää uudestaan, jotta muuttujat tulevat näkyviin. Automaation osalta määritykset voidaan tehdä joko käyttöliittymän kautta, jolloin ne ovat seuraavat:
Auton lämmitys päälle: Link to heading
Kuva: Laukaisuehdot
Kuva: Ehdot
Kuva: Toiminnot
Auton lämmitys pois päältä: Link to heading
Kuva: Laukaisuehdot
Kuva: Ehdot
Kuva: Toiminnot
Tai vaihtoehtoisesti muutokset voidaan tehdä myös automations.yaml
-tiedostoon, jolloin ne ovat alla olevan kaltaiset:
# automations.yaml
- id: e1897cef08d440cfa52696008714b83e
alias: Auton lämmitys päälle
trigger:
- platform: template
value_template: '{{states.sensor.time.state == states.sensor.autonlammitysaloitusaika.state}}'
condition:
- condition: and
conditions:
- condition: device
type: is_off
device_id: 4bee6cbb7dff9ba9ac9ee503b5b554f8
entity_id: switch.pistorasia_autopaikka
domain: switch
- condition: state
entity_id: input_select.autonlammitysasetus
state: Automaattinen
action:
- type: turn_on
device_id: 4bee6cbb7dff9ba9ac9ee503b5b554f8
entity_id: switch.pistorasia_autopaikka
domain: switch
- service: notify.notify
data:
message: Auton lämmitys on käynnistynyt!
mode: single
- id: 5af07494ae784eb79ecf7d0da8a2c444
alias: Auton lämmitys pois
trigger:
- platform: template
value_template: '{{states.sensor.time.state == states.input_datetime.lahtoaika.state[0:5]}}'
condition:
- condition: and
conditions:
- condition: device
type: is_on
device_id: 4bee6cbb7dff9ba9ac9ee503b5b554f8
entity_id: switch.pistorasia_autopaikka
domain: switch
- condition: state
entity_id: input_select.autonlammitysasetus
state: Automaattinen
action:
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- type: turn_off
device_id: 4bee6cbb7dff9ba9ac9ee503b5b554f8
entity_id: switch.pistorasia_autopaikka
domain: switch
- service: notify.notify
data:
message: Auton lämmityspistorasia on nyt pois päältä!
mode: single
Automaatiossa olen myös ottanut ilmoitukset käyttöön, jolloin Home Assistant ilmoittaa aina, kun autolämmitysrasia on mennyt päälle tai pois päältä. Nämä näkyvät automaation lopussa.
Lopuksi tehdään vielä Home Assistantin työpöydälle tarvittavat muutokset eli tehdään näistä muuttujista ja kytkimestä oma kortti, joka minulla on alla olevan mukainen:
Kuva: Autolämmityksen ohjaus
Ja sama vielä muokkausmuodossa koodieditorissa:
Kuva: Autolämmityksen ohjaus koodieditorissa
Ja nyt vain autoa lämmittämään aina sen mukaan, mitä säät vaativat ja mitä on tarpeen.
Jaa tämä: