Forum eedomus
http://forum.eedomus.fr/

script pour allumer une lampe via macrodroid
http://forum.eedomus.fr/viewtopic.php?f=50&t=12439
Page 1 sur 1
Auteur:  krystyan [ 29 Nov 2024 10:51 ]
Sujet du message:  script pour allumer une lampe via macrodroid

Bonjour
J'ai installé un portier vidéo Hikvision dont je suis très satisfait.
Je souhaiterai lors d'un appel que le spot au dessus du portier s'allume.
Lors d'un appel du portier une notification est envoyée sur Hikconnect
Je peux via une tâche dans macrodroid déclencher avec cette notification une action de type URL comme par exemple : http://192.168.1.100/script/?exec=allumer_lampe.php

J'ai demandé à Gemini de m'écrire un script et voici la réponse:

PHP
<?php
// Remplacer par l'adresse IP réelle de votre box eedomus
$url = "http://192.168.1.100/script/";

// Remplacer par l'identifiant réel de votre lampe
$id_lampe = "123";

// La commande à envoyer (à adapter en fonction de votre configuration)
$commande = "action=set&id=$id_lampe&value=1";

// Envoi de la requête HTTP
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $commande);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

// Affichage du résultat (pour débogage)
echo $result;

Malheureusement les commandes curl ne sont pas reconnues par Eedomus.

Pensez vous que cela soit possible et que dois je corriger dans le script ?
Merci pour votre aide
Auteur:  opa95 [ 29 Nov 2024 17:33 ]
Sujet du message:  Re: script pour allumer une lampe via macrodroid

Bonjour krystian
krystyan a écrit:Bonjour
J'ai installé un portier vidéo Hikvision dont je suis très satisfait.
Je souhaiterai lors d'un appel que le spot au dessus du portier s'allume.
Lors d'un appel du portier une notification est envoyée sur Hikconnect
Je peux via une tâche dans macrodroid déclencher avec cette notification une action de type URL comme par exemple : http://192.168.1.100/script/?exec=allumer_lampe.php

J'ai demandé à Gemini de m'écrire un script et voici la réponse:

PHP
<?php
// Remplacer par l'adresse IP réelle de votre box eedomus
$url = "http://192.168.1.100/script/";

// Remplacer par l'identifiant réel de votre lampe
$id_lampe = "123";

// La commande à envoyer (à adapter en fonction de votre configuration)
$commande = "action=set&id=$id_lampe&value=1";

// Envoi de la requête HTTP
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $commande);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

// Affichage du résultat (pour débogage)
echo $result;

Malheureusement les commandes curl ne sont pas reconnues par Eedomus.

Pensez vous que cela soit possible et que dois je corriger dans le script ?
Merci pour votre aide


Normalement, tu associe un actionneur http à ton spot avec 2 valeurs 0 (extinction) et 1 (allumage).
Tu fais 2 règles une pour allumer et une pour éteindre en fonction de l'état de ton portier.

Si tu veux faire un script, il faudra utiliser la fonction setValue($spot_id /*Code API*/, $value) avec $value = 0 ou 1 et fournir à ton script le code API du spot (dans V1 par exemple) et la valeur (0 ou 1) dans V2. :)
Auteur:  krystyan [ 29 Nov 2024 18:12 ]
Sujet du message:  Re: script pour allumer une lampe via macrodroid

krystyan a écrit:
Merci pour ta réponse
Je sais créer des actionneurs HTTP par contre je suis totalement ignorant en PHP et je suis incapable d'écrire le script, et Gemini, l'IA de Google utilise des commandes inconnues d'Eedomus.
Si tu peux m'en dire un peu plus je t'en remercie par avance.
Auteur:  opa95 [ 30 Nov 2024 11:20 ]
Sujet du message:  Re: script pour allumer une lampe via macrodroid

Bonjour krystyan
krystyan a écrit:Merci pour ta réponse
Je sais créer des actionneurs HTTP par contre je suis totalement ignorant en PHP et je suis incapable d'écrire le script, et Gemini, l'IA de Google utilise des commandes inconnues d'Eedomus.
Si tu peux m'en dire un peu plus je t'en remercie par avance.

Je ne connais pas le fonctionnement de macrodroid : est-il capable d'envoyer une commande de ce type :
http://192.168.x.y/api/set?api_user=xxxxxx&api_secret=yyyyyyyy&action=periph.value&periph_id=zzzzz&value=1 (local)
ou
https://api.eedomus.com/set?api_user=xxxxxx&api_secret=yyyyyyyyyyy&action=periph.value&periph_id=zzzzzzzzz&value=1 (cloud)
Si oui, une fois créé ton actionneur, tu cliques sur la clef devant le code de l'actionneur et tu coches les bonnes valeurs :)
Auteur:  krystyan [ 30 Nov 2024 11:28 ]
Sujet du message:  Re: script pour allumer une lampe via macrodroid

Merci pour ta réponse
Effectivement en utilisant l'API locale je peux envoyer via macrodroid une commande HTTP directement sur le device qui commande mon spot.
Je n'ai même pas eu besoin de créer un actionneur HTTP
Page 1 sur 1 Le fuseau horaire est UTC+1 heure