Recevoir des données d'IFTTT

Bonjour à tous,

Je suis un débutant sous HA, je viens de l’univers Jeedom et j’ai du mal à retrouver des choses qui doivent surement être simple. Le premier automatisme que j’essaie de mettre en place c’est de récupérer des indicateurs (température, ph, etc…) de ma piscine pour ensuite :

  • Dans un premier temps afficher les informations sur le dashboard
  • Dans un second temps afficher des courbes dans grafana
  • Enfin procéder à l’automatisation de l’allumage de la filtration de la piscine

Mon problème

Mon module de relevé est compatible IFTTT. J’ai donc réussi à créer un applet dans IFTTT qui fait une requête POST avec les données en JSON vers HA. Seulement maintenant, je suis bloqué… Où/Comment puis récupérer ses informations dans HA et les stocker ?

Merci d’avance pour vos réponses et désolé si cette question est surement triviale !!!

Ma configuration


System Health

version core-2021.2.3
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.94
arch x86_64
timezone Europe/Paris
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Hass.io
host_os Home Assistant OS 5.11
update_channel stable
supervisor_version supervisor-2021.02.11
docker_version 19.03.13
disk_total 30.8 GB
disk_used 4.5 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Grafana (6.1.2), UniFi Controller (0.20.2), Node-RED (8.1.1), Visual Studio Code (3.1.0)
Lovelace
dashboards 1
resources 0
mode auto-gen

A quoi ressemble ton json IFTTT vers HA ?

Il te faut suivre la procédure de récupération de la documentation.

Voila un exemple de donnée JSON :

{
    "temperature": "11.2",
    "ph": "6.7",
    "orp": "514",
    "salinity": "1.7",
    "conductivity": "2316"
}

J’avais bien commencé par le lien mais je ne sais pas où écrire cette configuration :

automation:
- id: this_is_the_automation_id
  alias: "The optional automation alias"
  trigger:
  - event_data:
      action: call_service
    event_type: ifttt_webhook_received
    platform: event
  condition: []
  action:
  - data:
      entity_id: '{{ trigger.event.data.entity_id }}'
    service: '{{ trigger.event.data.service }}'
  • Comment dois je configurer le « this_is_the_automation_id » ?
  • A quoi correspond « trigger.event.data.entity_id » et « trigger.event.data.service » ?

J’ai réussi avec l’automatisation suivante :

- id: '1613767252364'
  alias: Blue Connect Data Update
  trigger:
  - platform: event
    event_type: ifttt_webhook_received
  condition:
  - condition: device
    type: is_on
    device_id: 3370703652f6154bc43a9909898e8178
    entity_id: switch.piscine_filtration
    domain: switch
    for:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  action:
  - service: input_number.set_value
    data:
      value: '{{trigger.event.data.temperature | float}}'
    entity_id: input_number.pool_temperature
  - service: input_number.set_value
    data:
      value: '{{trigger.event.data.ph | float}}'
    entity_id: input_number.pool_ph
  - service: input_number.set_value
    data:
      value: '{{trigger.event.data.orp | float}}'
    entity_id: input_number.pool_orp
  - service: input_number.set_value
    data:
      value: '{{trigger.event.data.salinity | float}}'
    entity_id: input_number.pool_salinity
  - service: input_number.set_value
    data:
      value: '{{trigger.event.data.conductivity | float}}'
    entity_id: input_number.pool_conductivity
  mode: single

:+1:

Si tu peux ajouter une clé définissant l’entité/domaine/appareil concerné, tu pourrais réduire les déclenchements de l’automatisation :

Comme ceci :

{
    "device": "piscine",
    "temperature": "11.2",
    "ph": "6.7",
    "orp": "514",
    "salinity": "1.7",
    "conductivity": "2316"
}

et du coup au niveau du déclencheur de l’automatisation :

trigger:
- event_data:
    device: piscine
  event_type: ifttt_webhook_received
  platform: event
condition:
  - condition: device
    type: is_on
[...]

C’est juste pour approfondir la compréhension :wink:

1 « J'aime »

Merci beaucoup pour le complément, je vais le mettre en place de suite. Je découvre HA et j’ai énormément de chose à apprendre :slight_smile: