script pour allumer une lampe via macrodroid

Discussion et échanges de scripts pour la box eedomus

script pour allumer une lampe via macrodroid

Messagepar krystyan » 29 Nov 2024 10:51

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
krystyan
 
Messages : 454
Inscription : 28 Nov 2012

Re: script pour allumer une lampe via macrodroid

Messagepar opa95 » 29 Nov 2024 17:33

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. :)
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 870
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: script pour allumer une lampe via macrodroid

Messagepar krystyan » 29 Nov 2024 18:12

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.
Dernière édition par krystyan le 30 Nov 2024 11:28, édité 1 fois.
krystyan
 
Messages : 454
Inscription : 28 Nov 2012

Re: script pour allumer une lampe via macrodroid

Messagepar opa95 » 30 Nov 2024 11:20

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 :)
Dernière édition par opa95 le 30 Nov 2024 11:32, édité 1 fois.
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 870
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: script pour allumer une lampe via macrodroid

Messagepar krystyan » 30 Nov 2024 11:28

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
krystyan
 
Messages : 454
Inscription : 28 Nov 2012


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 16 invité(s)