Tradycyjna skrzynka na listy i powiadomienia o nowej poczcie

Cześć,
Na wstępie dodam, że jestem początkującym użytkownikiem AIS i to mój pierwszy opis. Będę wdzięczny za wyrozumiałość :slight_smile: Chętnie przyjmę rady jeśli można coś zrobić lepiej, sprawniej.

TRADYCYJNA SKRZYNKA NA LISTY + POWIADOMIENIE
Z racji tego, że zdarza mi się nie zaglądać za często do skrzynki na listy, znajduję czasem listy sprzed dobrych kilku- czasem nawet kilkunastu dni :grimacing: Nie byłoby z tym problemu, gdyby od czasu do czasu nie było to np. przeterminowane awizo do urzędowego listu poleconego :man_shrugging:

Już jakiś czas temu myślałem założyć jakiś kontaktron, ale nie mam możliwości dostania się do skrzynki kablem aby było to estetyczne. Z-wave (mam fibaro) wykreśliłem z racji zasięgu oraz jakby nie patrzeć kosztów, Zigbee póki co brak, chociaż z zasięgiem pewnie podobnie. W ostatnim czasie stałem się posiadaczem bramki Sonoff RF, dlatego postanowiłem to wykorzystać i na test zakupiłem najtańszy Sonoff DW1 za 18.99PLN i zacząłem przymiarki.

Zaleta:

  • duży zasięg
  • niska cena

Wada:

  • brak stanu baterii
  • duży rozmiar

Nie jest to system alarmowy, więc stan baterii nie będzie dla mnie krytyczny. Przypomnienie w telefonie co 6m-cy/1rok i powinno być OK. Poczty dostaję naprawdę bardzo mało, ale jak już się zdarzy to dość ważną, więc bateria powinna posłużyć spokojnie rok czasu (zobaczymy co będzie zimą).

Moja skrzynka wygląda tak:

Kontaktron RF Sonoff DW1:

Na początek sprawdzenie zasięgu ze skrzynki, montaż “na sucho” - w konsoli bramki RF pojawiają się nowe wpisy - checked :white_check_mark:

Z racji dość dużego rozmiaru elementu zawierającego magnes postanowiłem wykorzystać niewielkie, ale o wiele mocniejsze magnesy neodymowe. Zalegało mi kilkanaście takich, średnica 8mm grubość 1mm - sprawdziłem działanie z Sonoff DW1 - checked :white_check_mark:

Przykleiłem element zawierający płytkę i baterię wewnątrz skrzynki, do wewnętrznej strony pokrywy skrzynki na listy magnes. Niestety Sonoff DW1 i magnes okazały się zbyt daleko od siebie, sygnał RF pojawiał się raz na kilkanaście otwarć :x:

Przypomniałem sobie, że zostało mi kilka zbędnych magnesów od kontaktronów okien i w dodatku mają mocną taśmę dwustronną. Taki magnes jest trochę większy i wchodził w szczelinę na listy do wnętrza skrzynki. Było zdecydowanie wiele lepiej, lecz nadal skuteczność dość wybiórcza. Niestety ograniczała mnie duża obudowa Sonoff DW1, dlatego postanowiłem wyjąć płytkę z baterią z obudowy, włożyłem ją do woreczka strunowego w celu “ochrony” przed ewentualną wilgocią i przykleiłem najbliżej szczeliny na listy - pierwsze sprawdzenie i bingo! Potem dłuższe testy i jest skuteczność 100% :white_check_mark:

Tak to wygląda na gotowo:

PS. gdyby komuś przyszło do głowy gmeranie w skrzynce albo szarpanie magnesu, można ustawić automatyzację, gdzie zbyt długie otwarcie pokrywy powoduje cyknięcie fotki delikwenta z kamerki itp. :wink:

TIP: Jeśli ktoś z różnych względów nie może / nie chce zastosować magnesu może pozbyć się wykreślonego poniżej elementu i wlutować kabelki, których zwarcie będzie powodowało wysłanie kodu RF.
image

Teraz kolej na dodanie encji do bramki AIS:
Odczytujemy kod RF z konsoli bramki RF:

następnie w pliku binary_sensors.yaml dodajemy:
image

Jeśli nie masz pliku binary_sensors.yaml stwórz nowy np. używając Notepad++ w tym samym katalogu co configuration.yaml a w samym pliku konfiguracji dodaj:
binary_sensor: !include binary_sensors.yaml

Ponieważ binary _sensor będzie miał stan “on” tylko w chwili podniesionej pokrywki skrzynki, dodałem w pomocniczy przełącznik, który w automatyzacji będzie zmieniał stan i pokazywał w bramce AIS obecność listów w skrzynce:
image

Na tej samej zasadzie dodałem jeszcze sensor w pliku sensors.yaml z opisem stanu oraz zmiennymi ikonami:

  sensors:
    skrzynka_na_listy:
      value_template: >-
        {% if states.input_boolean.listy_w_skrzynce.state == 'off' %}
          Brak nowej poczty
        {% elif states.input_boolean.listy_w_skrzynce.state == 'on' %}
          Masz nową pocztę
        {% else %}
          n/a
        {% endif %}
      icon_template: >
        {% if states.input_boolean.listy_w_skrzynce.state == 'off' %}
          mdi:mailbox-outline
        {% elif states.input_boolean.listy_w_skrzynce.state == 'on' %}
          mdi:mailbox-up
        {% else %}
          mdi:help
        {% endif %}

Teraz automatyzacja:


Jeśli chcemy w powiadomieniu skorzystać dodatkowych przycisków musimy utworzyć kolejne 2 automatyzacje:



Efekt końcowy:

Tak to wygląda w interfejsie:
image
image

8 polubień

Żeby nie tworzyć nowego tematu o tym samym dopiszę się tu :wink: , może komuś przypadnie do gustu :slight_smile:

Moje rozwiązanie jest podobne do tego co opisał @traviz, ale chciałem je bardziej zautomatyzować, moja żona nie lubi nigdzie klikać a już na pewno pamiętać o klikaniu :joy: w sumie ja też wole żeby działo się samo.

Z racji tego że mam dużą skrzynkę umieściłem w niej 2x sonoff dw1.
Pierwszy generuje sygnał po podniesieniu klapki i wrzuceniu listu. Wyzwala to automatyzację która załącza przełącznik input_boolean, oraz wysyła powiadomienia na telefony. drugi sonoff generuje sygnał po otwarciu całej skrzynki aby listy wyciągnąć. Wyzwala automatyzację która wyłącza przełącznik input_boolean i wysyła powiadomienia na telefony o wyjeciu poczty.

Pierwszy sonoff, zamiast oryginalnego magnesu użyłem mocniejszego aby łapało przez plastikową skrzynkę

Drugi sonoff:

Automatyzacja o listach w skrzynce:

alias: Dom - Poczta w skrzynce na listy
description: ''
trigger:
 - platform: state
   entity_id: binary_sensor.kontrakton_dw1
   to: 'on'
condition:
  - condition: state
    entity_id: input_boolean.poczta_w_skrzynce
    state: 'off'
action:
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.poczta_w_skrzynce
  - service: ais_ai_service.mob_notify
    data:
      message: Listy w skrzynce.
      title: DOM.
      priority: high
      say: false
      notification_id: 6
      click_action: /lovelace-telefon
      device_id: 6036ce2dbc57266f80ff97d55df764a5
  - service: ais_ai_service.mob_notify
    data:
      message: Listy w skrzynce.
      title: DOM.
      priority: high
      say: false
      notification_id: 6
      click_action: /lovelace-telefon
      device_id: 1a251a1e245411eba47a8163a1119518
mode: single`

Automatyzacja po wyjęciu listów:

alias: Dom - Poczta w skrzynce na listy - wyjeta
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.kontrakton2_dw1
    to: 'on'
condition:
  - condition: state
    entity_id: input_boolean.poczta_w_skrzynce
    state: 'on'
action:
  - service: input_boolean.turn_off
    target:
      entity_id: input_boolean.poczta_w_skrzynce
  - service: ais_ai_service.mob_notify
    data:
      message: Listy wyjęte.
      title: DOM.
      priority: high
      say: false
      notification_id: 6
      click_action: /lovelace-telefon
      device_id: 6036ce2dbc57266f80ff97d55df764a5
  - service: ais_ai_service.mob_notify
    data:
      message: Listy wyjęte.
      title: DOM.
      priority: high
      say: false
      notification_id: 6
      click_action: /lovelace-telefon
      device_id: 1a251a1e245411eba47a8163a1119518
mode: single
2 polubienia

I znów temat który wypłynął natchnął mnie do działania.
Wymyśliłem aby włożyć do skrzynki
Wemos D1 mini
Bramkę ir (Czujnik przerwania wiązki IR - LED 5mm - 0-50cm Botland - Sklep dla robotyków)
Ogniwa 1850

Wgrać tasmota i ustawić deep sleep :slightly_smiling_face:
Pomoże ktoś w projekcie ?
Głównie w deep sleep bo resztę ogarne :slightly_smiling_face:

1 polubienie

Też myślałem o wemosie, niestety furtka i skrzynka są od domu ok 40-50m, więc bez wystawienia wifi na zewnątrz nie zagada wemos :frowning:

Dodaj panel słoneczny jak masz możliwość, załatwi Ci to ładowanie akumulatora :wink:

1 polubienie

Póki co liczyłem że deep sleep załatwił by mi temat na kilka tygodni.
Mam 6 ogniw po 2100mah więc to już coś :slightly_smiling_face:
Jak coś będę myslal o panelu :slightly_smiling_face:

W Tasmota funkcja DeepSeep wydaję się być prosta do ogarnięcia:

https://tasmota.github.io/docs/DeepSleep/

GPIO16 z rezystorem pociągającym i wolne GPIO do kontaktronu wyłączającego DeepSleep.
Następnie reguła wyzwalana przez System#Save np. wysyła gotowy komunikat po MQTT, zanim ponownie się uśpi.

1 polubienie

Bawię się z regułami Tasmota więc @Kraszewsky dla Ciebie na zachętę parę komend, z których możesz dalej rozwinąć automatyzację. Ładnie obrazują auto-konfigurację binary_sensor z podaniem device_class przez regułę Tasmota podczas rozruchu. Dzięki temu nie musimy konfiguracji dokonywać w HA.
W pierwszym zestawie reguł Rule1 ustawiamy temat dla naszego czujnika z wykorzystaniem ustawionego SWITCH2 na nasz sensor opening

Wpisujemy w konsoli:

Rule1 ON Switch2#state DO Publish stat/%topic%/OPENING %value% ENDON

a następnie wydajemy trzy komendy (oddzielone średnikiem) jednym wpisem korzystając z Backlog

Backlog Rule1 1; SwitchMode2 1, SO19 1

włączyliśmy zbiór reguł nr 1; ustawiliśmy przełącznik w funkcji śledzenia stanu; włączyliśmy autodiscovery dla HA

Poniżej działanie reguły w logu z konsoli:

23:36:48.325 MQT: stat/dom_C1D28D/SWITCH2 = {"STATE":"ON"}
23:37:00.326 RUL: SWITCH2#STATE performs "publish stat/dom_C1D28D/opening 0"
23:37:00.336 MQT: stat/dom_C1D28D/opening = 0
23:37:00.345 MQT: stat/dom_C1D28D/SWITCH2 = {"STATE":"OFF"}
23:37:52.339 RUL: SWITCH2#STATE performs "publish stat/dom_C1D28D/opening 1"
23:37:52.350 MQT: stat/dom_C1D28D/opening = 1
23:37:52.358 MQT: stat/dom_C1D28D/SWITCH2 = {"STATE":"ON"}
23:38:03.057 RUL: SWITCH2#STATE performs "publish stat/dom_C1D28D/opening 0"

Drugi zestaw Rule2 pozwoli nam załadować plik JSON z konfiguracją czujnika binarnego dla HA

Rule2 ON system#boot DO publish2 homeassistant/binary_sensor/%deviceid%_opening/config {"name":"Poczta","state_topic":"stat/%topic%/opening","payload_on":1,"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","device_class":"opening","force_update":true,"off_delay":5,"unique_id":"%deviceid%_opening","device":{"identifiers":["%deviceid%"]}} ENDON

Można skorzystać z konwertera YAML na JSON i dokonywać własne zmiany.

Uzyskany plik JSON wklejamy w tym miejscu reguły:

Rule2 ON system#boot DO publish2 homeassistant/binary_sensor/%deviceid%_opening/config <paste json output here> ENDON

Następnie polecenie dla włączenie drugiego zestawu reguł Rule2 1 i restart modułu (resztę zrobi reguła i integracja MQTT).

Taki efekt automatycznego dodania encji:

O możliwych do zaimplementowania klasach ( Device Class) czujników binarnych można poczytać w dokumentacji i wybrać nas interesujący:

EDIT:
Ważne - przy korzystaniu z funkcji DeppSleep w Tasmota należy uważnie zapoznać się z działaniem SetOption76

obraz

P.S.
Wielkość liter w regułach i komendach Tasmota nie ma znaczenia.

1 polubienie