Domotiser Boite a Lettre

Bonjour

Ce n’est pas nouveau, mais je me permet de vous présenter ma domotisation de ma boite au lettre.
N’étant pas un expert en ESPhome et en yaml, j’ai chercher un moyen a ma porté pour domotiser ma boite au lettre de façon simple (pour moi).

J’ai donc utilisé le matériel suivant : (lien aliexpress, mais vous pouvez trouver ailleurs le matériel) Pour un cout inférieur à 30€ (hors cable RJ45)

Un shelly uni :

https://fr.aliexpress.com/item/1005002821852797.html?spm=a2g0o.productlist.0.0.34dc39cdnm5CN3&algo_pvid=1bca8346-02db-45f7-9e6a-5498346eddfa&algo_exp_id=1bca8346-02db-45f7-9e6a-5498346eddfa-0&pdp_ext_f={"sku_id"%3A"12000022346280193"}&pdp_npi=2%40dis!EUR!!19.31!!!!!%402100bdcf16524554072326715ee4ec!12000022346280193!sea

Deux contact magnétique Normalement ouvert :

Un transformateur 220V AC/12V DC :

Pose d’un contact magnétique sur la porte avant, qui me permet de détecter l’ouverture du volet « Lettre » ou l’ouverture de la porte « colis »

Pose d’un contact magnétique sur la porte arrière, qui me permet de détecter l’ouverture de la porte pour le ramassage du courrier

Les fils sont maintenu par du scotch électricien (Je ferais mieux par la suite).
Pour la liaison entre les contacts et le shelly (placé dans mon garage à 12m de la boite au lettre, j’ai utilisé un câble RJ45. Je n’ai pas mis de photo, car c’est un le bor…l dans la boite :grin:
L’alimentation est situé dans le garage à proximité de la boite de dérivation

Voila en gros pour la partie installation.

Pour le câblage, j’ai procédé comme ceci :


Important : utiliser du 12V ou 24V DC , car j’ai eu quelques souci avec du 24V AC avec le shelly-uni

Pour la partie automatisme :
J’ai utilisé nodered (mais c’est realisable par l’interface HA) :

L’automatisme me prévient par Telegram si nous avons reçu du courrier, si le courrier est relevé par un membre de la famille.
Je reçois un rappel entre 16H et 19H en cas d’oubli. Je reçois une alerte si les portes sont mal fermés.

Ci dessous le details du Flow nodered :

Résumé
[{"id":"5acc8cf9.27a254","type":"tab","label":"Boîte aux lettres","disabled":false,"info":""},{"id":"2b7f2fdf.bbb38","type":"comment","z":"5acc8cf9.27a254","name":"[Boîte aux lettres] RAZ","info":"","x":120,"y":40,"wires":[]},{"id":"7ed8eaa9.970974","type":"comment","z":"5acc8cf9.27a254","name":"[Boîte aux lettres] Boite pleine","info":"","x":140,"y":620,"wires":[]},{"id":"14754c3c.620004","type":"comment","z":"5acc8cf9.27a254","name":"[Boîte aux lettres]  Releve Courrier/Colis","info":"","x":170,"y":360,"wires":[]},{"id":"01b3d0a874da7e1d","type":"api-call-service","z":"5acc8cf9.27a254","name":"BAL : counter +1","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"counter","service":"increment","areaId":["exterieur"],"deviceId":[],"entityId":["counter.compteur_bal"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":430,"y":660,"wires":[["4ef0dce9028e4be3"]]},{"id":"2a190dbf6281df97","type":"api-call-service","z":"5acc8cf9.27a254","name":"Courrier reçu ON","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"input_boolean","service":"turn_on","areaId":[],"deviceId":[],"entityId":["input_boolean.bal_courrier"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":430,"y":860,"wires":[["ab3e65c1b3e9431e","c84823c9412e8db8"]]},{"id":"324485113fbf11c7","type":"api-call-service","z":"5acc8cf9.27a254","name":"Bal : counter reset","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"counter","service":"reset","areaId":["exterieur"],"deviceId":[],"entityId":["counter.compteur_bal"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":670,"y":240,"wires":[["d70b469680300e87"]]},{"id":"d70b469680300e87","type":"api-call-service","z":"5acc8cf9.27a254","name":"Notification reset BAL","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Reset Boite au Lettre.\",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":980,"y":240,"wires":[[]]},{"id":"6d3ed2f2786f40a8","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram courrier non ramassé : Pascal","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Courrier non Ramasssé !!! \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1040,"y":100,"wires":[[]]},{"id":"3b718d50eb550bea","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram courrier ou colis reçu : Pascal","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Vous avez reçu une lettre ou un colis \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1160,"y":840,"wires":[[]]},{"id":"07c91b7329905839","type":"server-state-changed","z":"5acc8cf9.27a254","name":"Courrier/Colis reçu ON","server":"64fc7b21.810404","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"counter.compteur_bal","entityidfiltertype":"exact","outputinitially":false,"state_type":"num","haltifstate":"1","halt_if_type":"num","halt_if_compare":"gte","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":860,"wires":[["2a190dbf6281df97"],[]]},{"id":"83f06382840aa9af","type":"api-call-service","z":"5acc8cf9.27a254","name":"Courrier reçu OFF (reset)","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"input_boolean","service":"turn_off","areaId":[],"deviceId":[],"entityId":["input_boolean.bal_courrier"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":690,"y":160,"wires":[[]]},{"id":"be7d344afc95712e","type":"api-call-service","z":"5acc8cf9.27a254","name":"Courrier reçu OFF","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"input_boolean","service":"turn_off","areaId":[],"deviceId":[],"entityId":["input_boolean.bal_courrier"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":710,"y":500,"wires":[[]]},{"id":"f8ccb50346c867a7","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram courrier ou colis relevé","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\" lettre ou  colis relevé \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1150,"y":420,"wires":[[]]},{"id":"ca5dca905e2acecd","type":"api-current-state","z":"5acc8cf9.27a254","name":"BAL: Courrier ON","server":"64fc7b21.810404","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.bal_courrier","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":690,"y":420,"wires":[["f8ccb50346c867a7"],[]]},{"id":"eaad42e3c3d51ac2","type":"api-current-state","z":"5acc8cf9.27a254","name":"BAL: Courrier ON","server":"64fc7b21.810404","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.bal_courrier","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":100,"wires":[["6d3ed2f2786f40a8"],[]]},{"id":"76b03d775fd91463","type":"inject","z":"5acc8cf9.27a254","name":"Rappel 18H - 20H","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"*/30 18-19 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":100,"wires":[["eaad42e3c3d51ac2"]]},{"id":"c0467995506813d6","type":"server-state-changed","z":"5acc8cf9.27a254","name":"Porte avant ouverte !","server":"64fc7b21.810404","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_uni_bal_channel_1_input","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"5","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":150,"y":1060,"wires":[["b03665e8db2af00b"],[]]},{"id":"d883d529fb09aaab","type":"server-state-changed","z":"5acc8cf9.27a254","name":"Porte arriere ouverte !","server":"64fc7b21.810404","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_uni_bal_channel_2_input","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"On","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"3","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":1120,"wires":[["b03665e8db2af00b"],[]]},{"id":"b03665e8db2af00b","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram portes BAL Ouverte","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\" Portes boite au lettre ouverte !! \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":660,"y":1100,"wires":[[]]},{"id":"1c3db456966395d5","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram courrier ou colis reçu : Isa","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_isabelle_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Vous avez reçu une lettre ou un colis \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1140,"y":920,"wires":[[]]},{"id":"2ab102b3997b2560","type":"delay","z":"5acc8cf9.27a254","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":440,"y":500,"wires":[["be7d344afc95712e"]]},{"id":"39535a5c05c4309e","type":"comment","z":"5acc8cf9.27a254","name":"[Boîte aux lettres]  Portes ouvertes >5 minutes","info":"","x":190,"y":1020,"wires":[]},{"id":"ab3e65c1b3e9431e","type":"api-current-state","z":"5acc8cf9.27a254","name":"Notification 3 maxi","server":"64fc7b21.810404","version":3,"outputs":2,"halt_if":"4","halt_if_type":"num","halt_if_compare":"lt","entity_id":"counter.compteur_bal","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":750,"y":860,"wires":[["3b718d50eb550bea"],[]]},{"id":"fce0a04b7d97ec61","type":"api-call-service","z":"5acc8cf9.27a254","name":"Telegram boite pleine : Pascal","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Votre Boite est Pleine ! \",\t   \"title\":\"INFO : BAL\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1130,"y":660,"wires":[[]]},{"id":"4ef0dce9028e4be3","type":"api-current-state","z":"5acc8cf9.27a254","name":"Notification boite pleine","server":"64fc7b21.810404","version":3,"outputs":2,"halt_if":"10","halt_if_type":"num","halt_if_compare":"gt","entity_id":"counter.compteur_bal","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":710,"y":660,"wires":[["fce0a04b7d97ec61"],[]]},{"id":"5263ed6b9a96c346","type":"cronplus","z":"5acc8cf9.27a254","name":"22H Reset","outputField":"payload","timeZone":"","persistDynamic":false,"commandResponseMsgOutput":"output1","outputs":1,"options":[{"name":"schedule1","topic":"topic1","payloadType":"default","payload":"","expressionType":"cron","expression":"0 0 22 * * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":170,"y":200,"wires":[["83f06382840aa9af","324485113fbf11c7"]]},{"id":"2f61dd8d91d5a27a","type":"server-state-changed","z":"5acc8cf9.27a254","name":"BAL : Porte avant","server":"64fc7b21.810404","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_uni_bal_channel_1_input","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"50","forType":"num","forUnits":"milliseconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":660,"wires":[["01b3d0a874da7e1d"],[]]},{"id":"0acc0a941b448f85","type":"server-state-changed","z":"5acc8cf9.27a254","name":"BAL : Porte arriere","server":"64fc7b21.810404","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.shelly_uni_bal_channel_2_input","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"","forType":"num","forUnits":"milliseconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":150,"y":420,"wires":[["ca5dca905e2acecd","2ab102b3997b2560"],[]]},{"id":"c84823c9412e8db8","type":"api-current-state","z":"5acc8cf9.27a254","name":"Notification 1 maxi","server":"64fc7b21.810404","version":3,"outputs":2,"halt_if":"1","halt_if_type":"num","halt_if_compare":"lt","entity_id":"counter.compteur_bal","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":750,"y":940,"wires":[["1c3db456966395d5"],[]]},{"id":"9f611dc41d83a429","type":"comment","z":"5acc8cf9.27a254","name":"[Boîte aux lettres] Courrier reçu","info":"","x":150,"y":820,"wires":[]},{"id":"64fc7b21.810404","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

Pour Interface visuel :
J’ai crée une carte lovelace :

ci dessous le code :

Résumé
title: Courrier / Poubelle
square: false
columns: 1
type: grid
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: input_boolean.bal_courrier
        aspect_ratio: 5/1
        show_state: false
        show_last_changed: false
        styles:
          card:
            - background-color: white
            - border-radius: 10%
            - filter: opacity(100%)
            - padding: 1%
            - color: auto
            - text-transform: null
            - font-size: 15px
        state:
          - value: 'on'
            name: Vous avez reçu du courrier
            icon: mdi:mailbox-open
            styles:
              card:
                - background-color: white
                - color: red
                - border: 2px solid var(--google-red)
                - color: red
              icon:
                - color: red
              name:
                - color: black
          - value: 'off'
            name: Vous avez pas reçu de courrier
            icon: mdi:mailbox
            styles:
              card:
                - background-color: white
                - border: 2px solid var(--google-green)
                - filter: opacity(70%)
                - color: green
              icon:
                - color: green
              name:
                - color: black
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: binary_sensor.shelly_uni_bal_channel_1_input
        aspect_ratio: 5/1
        show_state: false
        show_last_changed: false
        styles:
          card:
            - background-color: white
            - border-radius: 10%
            - filter: opacity(100%)
            - padding: 1%
            - color: auto
            - text-transform: null
            - font-size: 10px
        state:
          - value: 'on'
            name: BAL-Porte avant ouverte
            icon: mdi:mailbox-open
            styles:
              card:
                - background-color: white
                - color: red
                - border: 2px solid var(--google-red)
                - color: red
              icon:
                - color: red
              name:
                - color: black
          - value: 'off'
            name: BAL-Porte avant fermé
            icon: mdi:mailbox
            styles:
              card:
                - background-color: white
                - border: 2px solid var(--google-green)
                - filter: opacity(70%)
                - color: green
              icon:
                - color: green
              name:
                - color: black
      - type: custom:button-card
        entity: binary_sensor.shelly_uni_bal_channel_2_input
        aspect_ratio: 5/1
        show_state: false
        show_last_changed: false
        styles:
          card:
            - background-color: white
            - border-radius: 10%
            - filter: opacity(100%)
            - padding: 1%
            - color: auto
            - text-transform: null
            - font-size: 10px
        state:
          - value: 'on'
            name: BAL-Porte arrière ouverte
            icon: mdi:mailbox
            styles:
              card:
                - background-color: white
                - color: red
                - border: 2px solid var(--google-red)
                - color: red
              icon:
                - color: red
              name:
                - color: black
          - value: 'off'
            name: BAL-Porte arrière fermé
            icon: mdi:mailbox-open
            styles:
              card:
                - background-color: white
                - border: 2px solid var(--google-green)
                - filter: opacity(70%)
                - color: green
              icon:
                - color: green
              name:
                - color: black

Voila, C’est un projet modeste, mais qui sert tous les jours…
Si sa peut servir a d’autres tant mieux.

:wink:

4 « J'aime »

Merci pour le partage.

Tu aurais pu le faire aussi avec des contacts d’ouverture de porte style aquara je pense :slight_smile:

Oui effectivement c’est aussi une solution j’aurai pu utiliser 2 contacts ouverture aquara , mais n’ayant rien en zigbee et je voulais éviter les piles. Le câble RJ45 était déjà existant entre la maison et le portail. J’ai profité aussi de l’offre shelly de pâques à 50%.

1 « J'aime »

Pas de ZB à la boite aux lettres, j’ai donc approvisionné exactement les mêmes composants, sans pour autant trouver le temps de faire le montage.

Quelques lignes de YAML seront suffisantes (pourquoi ajouter du NR là ou on peut faire sans (provoc inside). Dès que j’ai fait ça je mets le code ici.

2 « J'aime »

J’ai passé tous les automatismes sous nodered ( je trouve cela plus simple pour moi pour m’y retrouver) Mais au depart je les avais fait avec l’interface de ha.

(pourquoi ajouter du YAML là ou on peut faire sans (provoc inside).:grin:

1 « J'aime »

Sourires, on va pas refaire ce débat, chacun voit midi à son heure…

Mais on ajoute pas du Yaml, yaml est natif dans HA, là ou NR est une verrue (au sens addon, plugin) qui peut être une source de problème supplémentaire, donc si je peux m’en passer je m’en passe.

Ceci étant j’ai installé et regardé NodeRed et je trouve ce truc génial sur le principe, je n’en ai pas besoin mais je comprends ceux pour qui le code fait peur. Je ne suis pas dev mais plutôt système et au début j’en ai bien chié avec Yaml, maintenant je capitalise :wink:

2 « J'aime »

Salut
Petite mise à jour, avant, j’utilisais Nodered, mais ça, c’était avant…
Mais depuis plus d’un an, je n’utilise plus nodered dans Home assistant.

Voici donc le code YAML de l’automatisation que j’utilise pour ma boite aux lettres

alias: Gestion Boite aux Lettres
description: Gestion du courrier
triggers:
  - entity_id:
      - binary_sensor.shelly_uni_bal_channel_1_input
    from: "off"
    to: "on"
    id: courrier in
    trigger: state
  - entity_id:
      - binary_sensor.shelly_uni_bal_channel_2_input
    from: "off"
    to: "on"
    id: courrier out
    trigger: state
  - entity_id:
      - binary_sensor.shelly_uni_bal_channel_1_input
    from: "off"
    to: "on"
    id: porte avant ouverte
    for:
      hours: 0
      minutes: 1
      seconds: 0
    trigger: state
  - entity_id:
      - binary_sensor.shelly_uni_bal_channel_2_input
    from: "off"
    to: "on"
    id: porte arriere ouverte
    for:
      hours: 0
      minutes: 1
      seconds: 0
    trigger: state
  - at: "23:58:00"
    id: reset boite aux lettres
    alias: Reset compteur courrier lorsque l'heure est 23h58
    trigger: time
  - at: "18:30:00"
    id: Rappel courrier
    alias: Rappel courrier Lorsque l'heure est 18h30
    trigger: time
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - courrier in
        sequence:
          - target:
              entity_id: counter.compteur_bal
            data: {}
            action: counter.increment
          - metadata: {}
            data: {}
            target:
              entity_id: input_boolean.bal_courrier
            action: input_boolean.turn_on
          - if:
              - condition: numeric_state
                entity_id: counter.compteur_bal
                below: 2
            then:
              - data:
                  message: 📭 Il y a du courrier
                action: notify.telegram_xxxxxxx
              - data:
                  message: " Vous avez reçu du Courrier"
                action: notify.alexa_media_fire_tv_cube
              - data:
                  message: 📭 Vous avez reçu une ✉  ou un 📦
                action: notify.telegram_yyyyyy
            else:
              - data:
                  message: 📭 Encore une ✉  ou un 📦 !
                action: notify.telegram_xxxxxx
            enabled: true
      - conditions:
          - condition: trigger
            id:
              - courrier out
        sequence:
          - condition: state
            entity_id: input_boolean.bal_courrier
            state: "on"
          - data:
              message: ℹ️ lettre ou  colis relevé
            action: notify.telegram_xxxxxx
          - data:
              message: ℹ️ lettre ou  colis relevé
            action: notify.telegram_yyyyyy
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - metadata: {}
            data: {}
            target:
              entity_id: input_boolean.bal_courrier
            action: input_boolean.turn_off
      - conditions:
          - condition: trigger
            id:
              - porte avant ouverte
        sequence:
          - data:
              message: 📭 Porte avant  boite aux lettres ouverte ‼️
            action: notify.telegram_xxxxxx
        alias: Lorsque déclenché par porte avant ouverte 1mm
      - conditions:
          - condition: trigger
            id:
              - porte arriere ouverte
        sequence:
          - data:
              message: 📭 Porte arriere  boite aux lettres ouverte ‼️
            action: notify.telegram_xxxxxx
        alias: Lorsque déclenché par porte arriere ouverte 1mm
      - conditions:
          - condition: trigger
            id:
              - reset boite aux lettres
        sequence:
          - target:
              entity_id:
                - counter.compteur_bal
            data: {}
            action: counter.reset
          - data:
              message: ℹ️ Reset courrier Boite aux Lettres
            action: notify.telegram_xxxxxx
      - conditions:
          - condition: trigger
            id:
              - Rappel courrier
        sequence:
          - condition: state
            entity_id: input_boolean.bal_courrier
            state: "on"
          - data:
              message: 📭 Courrier non Ramasssé !
            action: notify.telegram_xxxxxx
          - metadata: {}
            data:
              message: >-
                Vous avez reçu du courrier aujourd'hui, veuillez récupérer vos
                lettres
            action: notify.alexa_media_echo_show
          - metadata: {}
            data:
              message: >-
                Vous avez reçu du courrier aujourd'hui, veuillez récupérer vos
                lettres
            action: notify.alexa_media_fire_tv_cube
    alias: >-
      Choisir entre 6 actions (1: Courrier/cpt BAL) (2: Courrier relevé) (3:
      Porte AV ouverte) (4: Porte AR ouverte) (5: reset BAL) (6: Rappel
      courrier)
mode: single

2 « J'aime »

J’adore le YAML :wink:
Et tu n’a pas encore touché au templates ou les possibilités sont quasi infinies et qui permettent de compacter le code, j’aime bien réduite le nombre de lignes…

C’est bien @pascal_ha tu reviens sur le droit chemin :joy:
Merci pour le partage.

2 « J'aime »

J’utilise un peu les templates dans les sensors template.

Mais de là à optimiser, les codes en yaml, c’est pas encore gagné.

Disons que la nouvelle interface pour réaliser les automatisations a permis de m’affranchir de nodered.

Mais je reste malgré tout dans des réalisations plutôt simple.

Je suis plus à l’aise avec un schéma électrique :joy: