/ tech

Hue Motion sous Home Assistant

Philips a sorti récemment un détecteur de mouvement compatible avec son système Hue.

Les plus :

  • compatible avec le système Hue

  • différentes sondes intégrées (température, luminosité, mouvement)

Les moins :

  • le polling du Hue Bridge

  • configuration automatique sur une pièce obligatoire

En gros, quand on le pair avec le bridge il nous demande de choisir la pièce à contrôler.
Elle est obligatoire.

Pour moi ça sera mon escalier et ma porte d'entrée (groupe "Hall").

Bon c'est bien ça s'allume tout seul quand on passe devant et ça s'éteint après la durée configurée sur l'application Hue.

Mais on peut faire plus de chose.

pour commencer on se rend sur l'ip du bridge Hue :
http://[IP_BRIDGE_HUE]/debug/clip.html

on récupère les id des sensors sur le bridge (utilisez un user agréé sur le bridge, newdeveloper par exemple).

et faire un GET sur l'url suivante :
/api/newdeveloper/sensors/

vous obtenez quelque chose de cette forme :

ça liste tous les sensors déclarés sur le bridge vous devriez y voir ceux du hue motion.

on note les id de ses sensors et on va déclarer des sensors dans home assistant :

- platform: rest
  resource: http://[bridge IP]/api/[API-key]/sensors/[sensor id]
  value_template: '{{ value_json.state.lightlevel }}'
  unit_of_measurement: Lux
  name: 'Living Room Lux'
  
- platform: rest
  resource: http://[bridge IP]/api/[API-key]/sensors/[sensor id]
  value_template: '{{ value_json.state.temperature | float / 100 }}'
  unit_of_measurement: °C
  name: 'Living Room Temperature'

on devrait alors avoir ses sensors de température et de luminosité dans HA.

Pour le mouvement faut ruser :)
On va créer un vitual motion sensor car le motion sensor physique ne peut pas reporter à HA directement.

retour sur
http://[IP_BRIDGE_HUE]/debug/clip.html

et on fait un post sur l'url :
/api/newdeveloper/sensors

avec ce message body :

{   
    "name": "LivR.Presence",
    "type": "CLIPGenericStatus",
    "modelid": "PHA_STATE",
    "manufacturername": "Philips",
    "swversion": "1.0",
    "uniqueid": "LivR.Presence",
    "recycle": false
}

vous devriez avoir un retour sur la fenêtre en bas qui vous indique l'id du nouveau sensor virtuel créé, il faut le noter.

Ensuite on va faire en sorte que lors d'un mouvement le sensor virtuel se mette à jour et se remette par défaut au bout d'un certain temps.

Dans le cas suivant l'id du sensor physique est 8, celui du sensor virtuel est 17.

On fait un post sur l'url :
/api/newdeveloper/rules

avec ce message body :

{
    "name": "Wnk.Presence",
    "conditions": [
        {
            "address": "/sensors/8/state/presence",
            "operator": "eq",
            "value": "true"
        },
        {
            "address": "/sensors/8/state/presence",
            "operator": "dx"
        }
    ],
    "actions": [
        {
            "address": "/sensors/17/state",
            "method": "PUT",
            "body": {
                "status": 1
            }
        }
    ]
}

et pour l'extinction (reset du timer)
On fait un post sur l'url :
/api/newdeveloper/rules

avec ce message body :

{
    "name": "Wnk.Presence.Reset",
    "conditions": [
        {
            "address": "/sensors/8/state/presence",
            "operator": "eq",
            "value": "false"
        },
        {
            "address": "/sensors/8/state/presence",
            "operator": "ddx",
            "value": "PT00:05:00"
        }
    ],
    "actions": [
        {
            "address": "/sensors/17/state",
            "method": "PUT",
            "body": {
                "status": 0
            }
        }
    ]
}

Ne reste plus qu'à ajouter le sensor virtuel dans Home Assistant :

- platform: rest
  resource: http://[bridge IP]/api/[API-key]/sensors/[sensor id]
  value_template: '{{ value_json.state.status }}'
  name: 'Livingroom Motion'

Vous pouvez maintenant utiliser ce sensor sous home assistant.

Attention toutefois, je n'ai pas réussi a supprimer les actions définies sous l'application HUE.

En gros je l'utilise de cette manière :
Si je suis pas chez moi et que le virtual sensor passe de 0 à 1, je détecte une intrusion, je prend un screenshot via une webcam et l'envoi par telegram sur mon téléphone.

Bien sur le motion sensor est configuré sous HUE pour allumer les lumières du hall, à chaque passage, et éteindre le hall après une minute.

Merci à PuckStar via community.home-assistant.io

Hue Motion sous Home Assistant
Share this