Envoi en HTTP

Mon problème

Bonjour , je suis débutant et éprouve quelques difficultés a créer des automatiques
Renseigner votre problème
je souhaite envoyer d un capeur Z-Wave brancher sur un interupteur une URL en HTTP pour allumer la lumière de ma camera extérieur Netatmo
j ai écrit un automatisme sans résultât : pourriez vous m aider?
voila mon script :

Ma configuration


[center]- alias: Commutateur Z-Wave sur On - Envoyer un message HTTP
trigger:

Bj

y’a des petite erreur , faire attention au guillemet "
PS, quand tu met un code sert de </>
Capture d'écran 2024-01-10 223216

Essai

- alias: Commutateur Z-Wave sur On - Envoyer un message HTTP
  trigger:
    platform: state
    entity_id: switch.spot_exterieur
    to: 'on'
  action:
    service: http.post
    data:
      url: 'http://192.168.1.33/xxxxxxxxxxxxxxxxxxxx/command/floodlight_set_config'
      headers:
        Content-Type: 'application/json'
      json:
        config:
          mode: 'auto'

- alias: Commutateur Z-Wave sur Off - Envoyer un message HTTP
  trigger:
    platform: state
    entity_id: switch.spot_exterieur
    to: 'off'
  action:
    service: http.post
    data:
      url: 'http://192.168.1.33/xxxxxxxxxxxxxxxx/command/floodlight_set_config'
      headers:
        Content-Type: 'application/json'
      json:
        config:
          mode: 'off'

tu as essayé avec

rest_command:
  example_request:
    url: "http://example.com/"

regarde la pour t’aider

j ai tenté ça mais sans succes :

  alias: Commutateur Z-Wave sur On - Envoyer un message HTTP
  trigger:
    platform: state
    entity_id: switch.spot_exterieur
    to: 'on'
  action:
   rest_command:
     example_request:
     data:
      url: 'http://192.168.1.33/3317714feb660dfcd553f53fda9ef486/command/floodlight_set_config'
      headers:
         Content-Type: application/json
      json:
         config:
          mode: 'auto'

j ai comme message : L’automatisation n’est pas disponible
Actions: Unable to determine action @ data[0]

Tu es sur de ta fin ligne la avec « floodlight_set_config »
la logique serait plutot command/switch.spot_exterieur

quand je lance : http://192.168.1.33/xxxxxxxxxxxxxxxxxxxx/command/floodlight_set_config?config={« mode »:« auto »} sur google il change l etat du spot NETATEMO

Salut

Tu ne peux pas mettre « rest_command » dans une automatisation.

Essaie de mettre ça dans ton fichier config.yaml:

rest_command:
  example_request:
    url: 'http://192.168.1.33/3317714feb660dfcd553f53fda9ef486/command/floodlight_set_config'

Et ton automatisation doit ressembler à ça:

alias: Commutateur Z-Wave sur On - Envoyer un message HTTP
trigger:
  - platform: state
    entity_id: switch.spot_exterieur
    to: "on"
action:
  - service: rest_command.example_request
    data: {}
mode: single

merci
et quoi mettre dans data?
pour que mon adresse HTTP soit complet il faut ajouter :
config={« mode »:« auto »}

Regarde dans la documentation : RESTful Command - Home Assistant

si ca peut rendre service a ceux qui n ont pas la main sur la camera extérieure netatemo voila la methode pour creer des switchs pour eteindre et allumer le spot exterieur et pour eteindre et allumer la camera :
il faut mettre dans configuration.yalm :

# Configuration de l'intégration REST Command
rest_command:
   set_floodlight_config:
    url: "http://192.168.x.x/xxxxxxxxxxxxxxxxx/command/floodlight_set_config?config={\"mode\":\"{{ mode }}\"}" 
   change_status:
    url: "http://192.168.x.xx/xxxxxxxxxxxxxxxx/command/changestatus?status={{ status }}"
    method: POST
    payload: '{"status": "{{ status }}"}'
    content_type: "application/json"

puis choisir des switch non utilisé et creer les automatismes :

alias: Activation du spot extérieur
description: ""
trigger:
 - platform: state
   entity_id: switch.spot_exterieur
   to: "on"
action:
 - service: rest_command.set_floodlight_config
   data:
     mode: auto

faire un autre pour off
puis refaire deux autres automatismes pour la camera :

alias: Activer la caméra Netatmo
trigger:
  - platform: state
    entity_id: switch.sm2_2
    to: "on"
action:
  - service: rest_command.change_status
    data:
      status: "on"
mode: single

le jeton est reccuperable sur le site netatmo connect : Netatmo Connect | Security API Documentation
il faut creer un jeton pour la camera exterieur ( un peu de recherche a faire …)

pour faire suite a mon propos et récupérer le jeton :
allez sur : Netatmo Connect | Security API Documentation
allez dans documentation ; home+security
allez dans GET/homedata
lancez Tri it out
recuperer dans Home l ID :

homes:[
{
id:"5xxxxxxxxxxxxxxxxxxxx3"
name:"Your House"

allez dans GET/homestatus et entrez l ID puis try it out
puis vous reccuperer le jeton dans l URL apres avoir fait Execute/homestatus :

alim_status:2
vpn_url:"https://prodvpn-eu-5.netatmo.net/10.255.228.11/72xxxxxxxxxxxxxxxxx6f6940/MTYXXXXXXXXDMDoe_XXXXXXXXXbKIYYg,,"

il ne vous reste plus qu a noter le jeton : 72xxxxxxxxxxxxxxxxx6f6940 et de le mettre dans configuration.yalm