Pilotage Box TV Orange

Je souhaiterai piloter différents appareils par des requêtes HTTP en commençant par la Box TV d’Orange.

Est-ce que c’est possible avec Gladys?

Oui, tu peux faire des requêtes HTTP dans Gladys!
Deux possibilités :

Tu peux appeler:

gladys.utils.request(options);

Il se comporte exactement comme le module node request, tu peux donc faire n’importe quel requêtes GET, POST, PUT, PATCH, etc…

Exemple :

gladys.utils.request('http://google.fr')
.then((response) => {

})
.catch((err) => { 

});

Merci pour ta réponse, je vais creuser tout ça.

Je t’avoue que je ne suis pas encore très à l’aise et je me pose plein de questions (comment on appelle un scénario/un script? Qu’est ce que les requêtes GET/POST/PUT/PATCH? Je le met où mon device là dedans?)

Mon but:

  • Créer mes propres prises pilotées en WiFi
  • Les commander par Gladys
  • Passer aux capteurs, interrupteurs, …

Je préfère la solution “script” qui me permet de rester en local.
Du coup je me demande s’il est possible de lier un script à un Device, j’entends par là exécuter un script lorsque je souhaite commander un device.
Je pose cette question car je n’ai pas l’impression qu’il soit possible de faire exécuter directement un script par Gladys.

Ou est-ce qu’il faut forcément passer par un module?

En fait dans Gladys sur le dashboard tu as deux onglets :

  1. Script
  2. Scénario

On peut difficililement faire plus dur :smiley:

Tu as installé Gladys ?

Pour les requêtes GET/POST/PUT/PATCH => https://openclassrooms.com/courses/les-requetes-http

Pour commander un device tu peux depuis un scénario, tu fais “quand la valeur change” => déclencher ce script. C’est possible si !

Alors, j’ai besoin d’un coup de main.

J’ai un script “BoxTV_On” qui fonctionne (testé en cliquant sur “Exécuter le script”).
Ce script est censé être appelé lorsqu’un device en particulier change de valeur mais, aujourd’hui, rien ne se passe.

Voilà ma configuration :

DEVICE
ID | Nom | Identifier | Protocol | Service | Pièce | Utilisateur |
2 | BoxTv_Power | Box Tv Power | wifi | script | Salon | Moi |

EDIT DU DEVICE
ID | Identifier | type | Catégorie | tag | Unité | min | max | Capteur |
2 | box tv power | BoxTvPower | TV | box tv power | | 0 | 1 | Non |

SCENARIOS
Déclencheur | Template de la règle |
Nouvelle valeur deviceType | devicetype == 2 && value == 0
Nouvelle valeur deviceType | devicetype == 2 && value == 1

Quand le device 2 prend la valeur 0 ou la valeur 1, le scénario est censé être déclenché et appeler le script cité plus haut.
Je pense que je me suis loupé dans la définition du Device mais je ne sais pas où :neutral_face:

En fait il faut plutôt que tu créé un module pour ça! mettre comme service “script” ne fait juste que bugger le système à mon avis ^^

C’est très très simple de créer un module!

Prend exemple sur le module philips hue par exemple ( https://github.com/GladysProject/Gladys-hue )

En gros, ce qui t’intéresse ici c’est juste le fichier “lib/exec.js”, dedans tu as une fonction qui sera appelée lorsque tu appuie sur le bouton ( sous condition que ton device ait comme service le slug de ton module )

Pour tester ton module, tu as juste à placer ton module dans le dossier “api/hooks” du dossier gladys, avec comme nom de dossier le nom du service qui sera appelé

Plus d’informations sur la création de modules => https://developer.gladysproject.com/fr/documentation/how-to-develop-gladys-module

Merci, j’essaie ça :slight_smile:

1 Like

Bonjour voila je m’explique je viens d’installer le module du décodeur orange et cela fonctionne très bien.

Cependant je souhaite pourvoir la piloter par la voix ou en envoyer un message en faisant CTRL ESPACE depuis l’interface j’arrive à allumer éteindre et mettre en mute le décodeur mais je voudrais également faire le changement chaine la sélection d’un chaine et augmenter et baisser le volume.

avez vous un solution de ce qui faut configurer dans le périphérique ?