Popierinė korespondencija šiais elektroninės komunikacijos ir skaitmeninės identifikacijos laikais tikrai yra gan retas reiškinys. Savo pašto dėžutėje tikriausiai randate daugiau visokio reklaminio šlamšto nei laišką ar atvirutę nuo artimųjų ar draugų. Tikėtina, kad dažniau gaunate visokius oficialius pranešimus ar sąskaitas iš įstaigų, kurios dar naudoja popierinę komunikaciją. Todėl lauke, kažkur prie vartelių kabančios pašto dėžutės tikrinimas yra labiau atsitiktinumas nei reguliarus įprotis. Ir kartais tikrai pasijunti nelabai gerai, kai atsidaręs pašto dėžutę randi prieš kokį mėnesi gautą laišką ar sveikinimą, kuris jau visiškai praradęs prekinę išvaizda nuo drėgmės ir savo aktualumą. Tokiu atveju belieka džiaugtis, kad jis vis dar įskaitomas. Todėl “protinga” pašto dėžutė – vienas pirmųjų praktinių dalykų, kurie atsirado šiame projekte.
Pradžioje buvo diegiamas tinklas, po to pats Home Assistant serveris, o dar po to sluoksnis po sluoksnio visokie jutikliai, kurie fiksavo judesį, kas atidarytą ar uždaryta ir t.t. Žmogutis su priekaištu žiūrėjo, kaip leidžiami pinigai, o kažkokio realaus gyvenimo aplinkai kaip ir nebuvo. Bet atėjo laikas, kai visos dėlionės dalys pradėjo tarpusavyje jungtis ir pradėjo aiškėti bendras vaizdas.
Pašto dėžutės virsmas “protinga” gavosi šioks toks atskiras mikro projektukas, kuriam reikėjo ir naujos pašto dėžutės, ir jutiklių, kurie pritaikyti dirbti lauko sąlygomis bet kokiu metų laiku ir, savaime aišku, automatizacijų, kurios praneštų apie gautą ar išimtą paštą bei fiksuotų įvykio laiką.
Taigi, pradžioje mes su Žmogučiu rinkomės pašto dėžę, kuri ne tik derėtų prie naujos tvoros, bet būtų kažkiek “custom” ir atitiktų planuojamo funkcionalumo reikalavimus. Kiek panaršius internete apsistojome ties antracito spalvos Mezler pašto dėžute, ant kurios pagal užsakymą galima išgraviruoti norimus užrašus, kaip, pvz., namų adresas, pavardė ar pan.. Mūsų atveju ant dėžutės atsirado abriaviatūra “MRH” ir adresas,
Toliau buvo jutiklių, fiksuojančių atidarymą ir uždarymą eilė. Čia, kaip ir minėjau, reikia atitikimo darbui lauko sąlygomis. Kadangi pašto dėže kabo gavės pusėje ant metalinės tvoros, kuri veikia kaip ekranas ir visai nuslopina namų wi-fi ar zigbee tinklus, kurie ir taip vos toje vietoje “kvėpuoja”. Tad įvertinus visus poreikius, buvo pasirinkti Yolink jutikliai bei jų darbui reikalinga stotelė, kuri puikiai integruojasi į Home Assistant.
Taip prie visų naudojamų IoT komunikacijos protokolų atsirado dar vienas – LoRa.
Kaip viskas veikia.
Pašto dėžutė turi dvi dureles. Pirma yra viršutinė, skirta įdėti laišką, antra – yra visa priekinė dalis, kurią atidarius laiškas yra paimamas. Taigi vieno jutiklio kontaktus klijuojame toje vietoje, kur viršutinių durelių kraštas užeina ant pašto dėžutės korpuso:
Atitinkamai priklijuojame ir kito jutiklio kontaktus ant antrų durelių:
Kadangi jutiklių kontaktai turi gan ilgą laidą, tai patys jutikliai yra pritvirtinti vidinėje tvoros pusėje:
Na ir patys jutikliai yra integruojami per Home Assistant Yolink integraciją..
Toliau reikia sukurti du pagalbininkus, kurių pirmas yra dvejetainis jungiklis, kuris yra “on”, kai pašto dėžėje yra laiškas ir “off”, kai laiškas yra išimtas, t.y pašto dėžė yra tuščia:
o antras – skirtas fiksuoti laiško gavimo ir paėmimo datą ir laiką:
Toliau seka dvi automatizacijos (galima padaryti ir vieną):
Pirma suveikia, kaip atidaromos viršutinės durelės, t.y. kai įdedamas laiškas. Ši automatizacija “įjungia” pašto dėžės jungiklį, fiksuoja pašto įvykio datą ir laiką, išsiunčia pranešimus tiek į mobiliuosius įrenginius (taip buvo pačioje pradžioje), tiek pateikia garsinį pranešimą per namo “multi room,” garso sistemą.
Kad namų asistentas nerėkautų per visas kolonėles, yra sukurtas skriptas, kurio pagalba yra parenkamos to kambario kolonėlės, kuriame yra registruojamas žmonių būvis (presence). Be to, balso pranešimai yra siunčiami tik tada, kai nėra įjungtas tylos režimas ir kai nors vienas namo gyventojas yra namuose. Kad pranešimai nebūtų nuobodūs, namų asistentas yra integruotas su Google Gemini. Tačiau namų garso sistema bei jos valdymas, Home Assitent asistento integracija su Gemini, balso asistento konfigūravimas ir naudojami įrenginiai, būvio fiksavimo būdai ir jų panaudojimas – visa tai atskiros temos, prie kurių intensyviai dirbau nuo paskutinio įrašo šiame tinklaraštyje ir apie kurias, jei to norėsite, papasakosiu plačiau.
O dabar abiejų automatizacijų YAML kodas, nes visko negalima realizuoti per grafinę sąsają:
Laiškas gautas:
alias: Laiškas gautas
description: ““
triggers:
– type: opened
device_id: 38ea2eab9b40e735a900befa625e498a
entity_id: 5df3232c760a68d1c531de9708270ccb
domain: binary_sensor
trigger: device
conditions:
– condition: state
entity_id: input_boolean.pastas
state: “off“
actions:
– action: input_boolean.turn_on
target:
entity_id: input_boolean.pastas
data: {}
– action: input_datetime.set_datetime
target:
entity_id: input_datetime.pastas_gautas
data:
datetime: “{{ now().strftime(‘%Y-%m-%d %H:%M:%S’) }}“
– action: google_generative_ai_conversation.generate_content
metadata: {}
data:
prompt: >-
Residents of the house need to be informed that correspondence has been
received in the outdoor mailbox. This is a rare occurrence these days,
so it needs to be picked up as soon as possible before it gets damp,
moldy, or something else bad happens. Use two funny lines.
response_variable: response
– parallel:
– action: notify.notify
data:
title: Gauta korespondencija!
message: |
{{ response.text }}
– action: script.lokalus_audio
data:
message_text: “{{ response.text }}“
mode: single
Laiškas paimtas:
alias: Laiškas paimtas
description: ““
triggers:
– type: opened
device_id: f0ccaf5759f6febca298a6981e5298cf
entity_id: f2655486fac8e6e19469ffbeb27662a8
domain: binary_sensor
trigger: device
conditions:
– condition: state
entity_id: input_boolean.pastas
state: “on“
actions:
– action: input_boolean.turn_off
target:
entity_id:
– input_boolean.pastas
data: {}
– action: input_datetime.set_datetime
target:
entity_id: input_datetime.pastas_gautas
data:
datetime: “{{ now().strftime(‘%Y-%m-%d %H:%M:%S’) }}“
– action: google_generative_ai_conversation.generate_content
metadata: {}
data:
prompt: >-
Inform the residents of the house that the mail has been taken from the
outdoor mailbox. Thank them for taking care of their mail and preventing
anything bad from happening to it. Use two funny lines.
response_variable: response
– parallel:
– action: notify.notify
data:
title: Korespondencija paimta!
message: |
{{ response.text }}
– action: script.lokalus_audio
data:
message_text: “{{ response.text }}“
mode: single
Tai tiek šiam kartui apie “protingą” pašto dėžę. Jei bus klausimų rašykite.
Šitas cool, būtinai panaudosiu. Ačiū!
PatinkaPatinka
Ką gi, tikiuosi patiks ir kiti sprendimai :)
PatinkaPatinka