Menu Fermer

Jeedom : Contrôler automatiquement l’ouverture de ma porte de garage

Je ne sais pas pour vous, mais depuis ma maison, je n’ai pas de vue directe sur ma porte de garage.

J’ai donc cherché un moyen simple et surtout automatisé de contrôler si ma porte est ouverte ou fermée selon certains critères.

Pour cela, j’ai donc utilisé un module Aqara de détection d’ouverture/fermeture de porte ou fenêtre sous protocole Zigbee. Il ne coûte pas plus de 10 €, vous pouvez retrouver sa présentation ici.

1/ Création du scénario

En premier lieu, on va créer un nouveau scénario.

Pour ceux qui ne sont pas familier, vous pouvez relire les 2 premiers paragraphes sur l’article sur la gestion des lumières sous Jeedom qui explique tout ça.

Voici donc le scénario que j’ai créé :

Scenario - Ouverture Porte - Scénario

2/ Définition du scénario

Voici donc ce que fait mon scénario :

  • Si mon capteur d’ouverture a la valeur de 1 (porte ouverte), alors je vais insérer le temps depuis lequel il est dans cet état dans une variable, sinon STOP
  • et si la valeur est supérieure à 1800 (secondes) et qu’il est plus de 20 heures
  • alors j’envoie 2 e-mails pour prévenir de cet état
  • et au bout de 5 minutes, je redémarre le scénario

Le but étant ici de contrôler l’état de ma porte de garage après 20 heures uniquement, pour éviter de recevoir un e-mail toute la journée quand la porte est ouverte.

On peut tout à fait ici supprimer la condition horaire selon vos besoins.

Ensuite, j’y ai inclus la condition stateDuration qui me permet de vérifier si la porte est ouverte depuis au moins 30 min avant de déclencher les e-mails.

3/ Déclencheurs

Pour le déclenchement du scénario, j’ai choisi deux déclencheurs.

Scénarios et déclencheurs

Dès 20h, le scénario se lance toutes les 5 minutes pour contrôler l’état de la porte.

Ensuite, je l’ai positionné à l’ouverture de la porte (ligne évènement).

Je vous positionne ci-dessous le code brut si vous souhaitez le reproduire chez vous :

  [
    {
        "id": "79",
        "name": null,
        "type": "if",
        "options": [],
        "order": "0",
        "subElements": [
            {
                "id": "151",
                "name": null,
                "scenarioElement_id": "79",
                "type": "if",
                "subtype": "condition",
                "options": {
                    "collapse": "0",
                    "enable": "1",
                    "allowRepeatCondition": "0"
                },
                "order": "0",
                "expressions": [
                    {
                        "id": "236",
                        "scenarioSubElement_id": "151",
                        "type": "condition",
                        "subtype": null,
                        "expression": "#[Lumi\u00e8re][Ouverture porte de garage][Ouverture]# == 1",
                        "options": [],
                        "order": "0"
                    }
                ]
            },
            {
                "id": "152",
                "name": null,
                "scenarioElement_id": "79",
                "type": "then",
                "subtype": "action",
                "options": [],
                "order": "1",
                "expressions": [
                    {
                        "id": "240",
                        "scenarioSubElement_id": "152",
                        "type": "action",
                        "subtype": null,
                        "expression": "variable",
                        "options": {
                            "enable": "1",
                            "background": "0",
                            "name": "compteur_porte_garage",
                            "value": "stateDuration(#[Lumi\u00e8re][Ouverture porte de garage][Ouverture]#)"
                        },
                        "order": "0"
                    },
                    {
                        "id": "242",
                        "scenarioSubElement_id": "152",
                        "type": "element",
                        "subtype": null,
                        "expression": "81",
                        "options": [],
                        "order": "1",
                        "element": {
                            "id": "81",
                            "name": null,
                            "type": "if",
                            "options": [],
                            "order": "0",
                            "subElements": [
                                {
                                    "id": "156",
                                    "name": null,
                                    "scenarioElement_id": "81",
                                    "type": "if",
                                    "subtype": "condition",
                                    "options": {
                                        "collapse": "0",
                                        "enable": "1",
                                        "allowRepeatCondition": "0"
                                    },
                                    "order": "0",
                                    "expressions": [
                                        {
                                            "id": "241",
                                            "scenarioSubElement_id": "156",
                                            "type": "condition",
                                            "subtype": null,
                                            "expression": "variable(compteur_porte_garage) > 1800 AND #heure# > 20",
                                            "options": [],
                                            "order": "0"
                                        }
                                    ]
                                },
                                {
                                    "id": "157",
                                    "name": null,
                                    "scenarioElement_id": "81",
                                    "type": "then",
                                    "subtype": "action",
                                    "options": [],
                                    "order": "1",
                                    "expressions": [
                                        {
                                            "id": "243",
                                            "scenarioSubElement_id": "157",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "#[Aucun][Email Jeedom][Nicko Email]#",
                                            "options": {
                                                "enable": "1",
                                                "background": "0",
                                                "title": "Porte de garage ouverte",
                                                "message": "ATTENTION,\n\nLa porte de garage est rest\u00e9 ouverte."
                                            },
                                            "order": "0"
                                        },
                                        {
                                            "id": "244",
                                            "scenarioSubElement_id": "157",
                                            "type": "action",
                                            "subtype": null,
                                            "expression": "#[Aucun][Email Jeedom][XXXX Email]#",
                                            "options": {
                                                "enable": "1",
                                                "background": "0",
                                                "title": "Porte de garage ouverte",
                                                "message": "ATTENTION,\n\nLa porte de garage est rest\u00e9 ouverte."
                                            },
                                            "order": "1"
                                        },
                                        {
                                            "id": "246",
                                            "scenarioSubElement_id": "157",
                                            "type": "element",
                                            "subtype": null,
                                            "expression": "82",
                                            "options": [],
                                            "order": "2",
                                            "element": {
                                                "id": "82",
                                                "name": null,
                                                "type": "in",
                                                "options": [],
                                                "order": "0",
                                                "subElements": [
                                                    {
                                                        "id": "159",
                                                        "name": null,
                                                        "scenarioElement_id": "82",
                                                        "type": "in",
                                                        "subtype": "condition",
                                                        "options": {
                                                            "collapse": "0",
                                                            "enable": "1"
                                                        },
                                                        "order": "0",
                                                        "expressions": [
                                                            {
                                                                "id": "245",
                                                                "scenarioSubElement_id": "159",
                                                                "type": "condition",
                                                                "subtype": null,
                                                                "expression": "5",
                                                                "options": [],
                                                                "order": "0"
                                                            }
                                                        ]
                                                    },
                                                    {
                                                        "id": "160",
                                                        "name": null,
                                                        "scenarioElement_id": "82",
                                                        "type": "do",
                                                        "subtype": "action",
                                                        "options": [],
                                                        "order": "1",
                                                        "expressions": [
                                                            {
                                                                "id": "247",
                                                                "scenarioSubElement_id": "160",
                                                                "type": "action",
                                                                "subtype": null,
                                                                "expression": "scenario",
                                                                "options": {
                                                                    "enable": "1",
                                                                    "background": "0",
                                                                    "scenario_id": "39",
                                                                    "action": "start",
                                                                    "tags": ""
                                                                },
                                                                "order": "0"
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                },
                                {
                                    "id": "158",
                                    "name": null,
                                    "scenarioElement_id": "81",
                                    "type": "else",
                                    "subtype": "action",
                                    "options": [],
                                    "order": "2",
                                    "expressions": []
                                }
                            ]
                        }
                    }
                ]
            },
            {
                "id": "155",
                "name": null,
                "scenarioElement_id": "79",
                "type": "else",
                "subtype": "action",
                "options": [],
                "order": "2",
                "expressions": [
                    {
                        "id": "248",
                        "scenarioSubElement_id": "155",
                        "type": "action",
                        "subtype": null,
                        "expression": "stop",
                        "options": {
                            "enable": "1",
                            "background": "0"
                        },
                        "order": "0"
                    }
                ]
            }
        ]
    }
]

Si vous souhaitez d’autres exemples de ce genre, n’hésitez pas à nous en faire part.

A bientôt, l’équipe DomoGo.

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *