Projektas “MRH Smart home”– “Jūs gavote laišką!”

GotMail

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:

20250327_110213

Atitinkamai priklijuojame ir kito jutiklio kontaktus ant antrų durelių:

20250327_110231

Kadangi jutiklių kontaktai turi gan ilgą laidą, tai patys jutikliai yra pritvirtinti vidinėje tvoros pusėje:

20250327_110149

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:

Pasto deze

o antras – skirtas fiksuoti laiško gavimo ir paėmimo datą ir laiką:

Pastas ivykis

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.

Įrašo “Projektas “MRH Smart home”– “Jūs gavote laišką!”” komentarai: 2

Parašykite komentarą