[résolu] Question : Envoyer une variable vers la box

Discussion sur la box eedomus

[résolu] Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 01:04

Bonjour,

Je débute avec l'eedomus et je me lance dans des petites choses pour comprendre son fonctionnement.

J'ai donc crée un profil sous tasker qui, lorsque je reçois un SMS envoi vers le contenu vers la box. Ce profil est actif quand je suis chez moi, le but étant de pouvoir directement entendre mes SMS.

Dans tasker le message est contenu dans une variable appelée %SMSRB

Je n'arrive pas à comprendre comment la box "récupère" le contenu d'une variable.

J'ai bêtement essayé de la mettre dans l'api d'un http actionneur en finissant par value=%SMSRB (%SMSRB étant automatiquement remplacé par tasker par mon dernier message reçu, ce qui fonctionne d'habitude très bien) pensant que l'actionneur prendrait la valeur de ma variable mais cela ne fonctionne pas.

Le but étant de récupérer le message et ensuite de me le "faire lire" dans une notification vocale ce qui la ne pose pas de pb.

Là ou je bloque c'est pour qu'un actionneur prenne la valeur texte que je souhaite lui attribuer.

Une idée ?

Bien domotiquement,

Sam
Dernière édition par Sam le 04 Mars 2016 22:42, édité 1 fois.
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar popix » 21 Fév 2016 02:32

Je peux me tromper mais ce que tu souhaite faire n'est pas directement possible. Je n'ai pas d'eedomus + donc ne maitrise très bien la synthese vocale sur cette box mais voici le fonctionnement pour un etat eedomus de manière générale.

1) Tu es obligé de définir une liste FINIE des valeurs possible de ta variable
2) creer un ETAT eedomus , liste de valeur , et affecter les valeur brutes et desriptions.
Sur eeodmus +, dans ton cas , prendre "Faire parler votre box eedomus +" et affecter :
Valeur brute descriptif
1 message 1
2 message seocndaire
3 alerte volets
ETC...

3) tu récupéres l'api de cet ETAT dans les paramètres experts, en bas de la page de config de l'ETAT, disons par exemple 5555

4) Tu récupères tes identfiants api dans les options de la box (Configuration => Mon compte (le lien API est dans l'onglet Mon compte).)

4) depuis tasker tu fait un get http sur l'api eedomus :
https://api.eedomus.com/set?action=periph.value&periph_id=55555&value=3&api_user=XXXX&api_secret=XXXX

pour dire alertes volets

En espérant répondre à ta demande
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 11:02

Bonjour,

tu y réponds parfaitement et je t'en remercie. J'en étais arrivé à cette conclusion et était très surpris, je pensais qu'un truc avait du m'échapper. Du coup je m'étais dis qu'au cas où la solution résidait dans le fait de faire sur un serveur une page XML qui récupérerait ma variable de tasker et que je récupérerais via EEDOMUS via un capteur HTTP EEDOMUS (ce que j'utilise déjà pour m'annoncer les nouveaux deal hots sur dealabs où encore les dernières actualités et cela fonctionne très bien sur EEDOMUS). En revanche cela me semblait un peu l'artillerie lourde pour récupérer une simple variable d'un portable, je pensais qu'il y avait plus simple. Enfin cela reste possible mais plus long à mettre en oeuvre du coup.

Encore merci d'avoir pris le temps de me répondre.

Sam.
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar popix » 21 Fév 2016 13:21

c'est un gros problème notamment concernant un l’éclairage type rgbw (fibaro), il existe des miliers voire des millions de nuances de couleurs, comme je les programme à la main du coup je n'en mets qu'une dizaine qui seront controlable par API.
Mes rgbw sont laisser du coup en gestion directe par ma HCL
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Question : Envoyer une variable vers la box

Messagepar vva » 21 Fév 2016 19:04

Sam a écrit:J'ai bêtement essayé de la mettre dans l'api d'un http actionneur en finissant par value=%SMSRB (%SMSRB étant automatiquement remplacé par tasker par mon dernier message reçu, ce qui fonctionne d'habitude très bien) pensant que l'actionneur prendrait la valeur de ma variable mais cela ne fonctionne pas.

Bonjour tout le monde, ma réponse va être à contre courant de ce qui est écrit mais la syntaxe suivante fonctionne bien depuis tasker.

https://api.eedomus.com/set?action=peri ... 555&value=%SMSRB&api_user=XXXX&api_secret=XXXX

par contre, la variable %SMSRB ne doit pas contenir de caractère spéciale, ni ponctuation.
vva
 
Messages : 386
Inscription : 12 Juin 2013

Re: Question : Envoyer une variable vers la box

Messagepar vva » 21 Fév 2016 19:13

Ni d'espace :evil:
vva
 
Messages : 386
Inscription : 12 Juin 2013

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 19:36

Je test cela rapidement et je reviens vers toi, si cela fonctionne ca va être un gros gain de temps et surtout la possibilité de faire mumuse avec un tas de variable, c'est mon temps de sommeil qui va encore faire la tête :D

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 20:21

J'ai testé en envoyant un http get a partir de tasker à récéption d'un sms :

https://api.eedomus.com/set?action=peri ... XXX&value=%SMSRB&api_user=XXXXXX&api_secret=XXXXXXX

mais, au niveau EEDOMUS, il me dit ne pas connaître la valeur [test] pour ce périphérique (test étant mon texto)

{ "success": "0", "body": { "error_code": "6", "error_msg": "Unknown peripheral value [test]." } }

Une idée ? Cela fonctionne pour toi ?

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 20:31

En revanche je viens de tester non pas sur un actionneur mais sur un capteur qui lit les flux RSS d'un site de news. En reprenant l'API du capteur (SET) là ça fonctionne super bien !!!

En revanche, du coup, je ne sais pas quoi mettre dans l'URL de la requête sur la première page qui pour le coup me sert à rien mais est obligatoire à remplir.

En tout cas avec cette méthode ça marche mais quelque chose me dit que c'est pas très "propre" et qu'un puriste me tirerait les oreilles :D

Encore merci pour vos échanges et cela va peut être t'aider pour ton éclairage Popix, deux heureux pour le prix d'un !

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar vva » 21 Fév 2016 20:32

Comment est configuré ton périf? Normalement ça doit être un champ texte (ex périf état)
vva
 
Messages : 386
Inscription : 12 Juin 2013

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 21 Fév 2016 22:20

Oui dans mons capteur je suis bien en texte (sur un actionneur il n'y a pas l'option, enfin je ne crois pas ?) et ça fonctionne bien, même si du coup je ne sais pas quoi faire de l'URL de la requête dont je n'ai pas besoin.

De ton côté tu arrives à mettre le champs texte dans un actionneur ? Car c'est bien dans un actionneur que j'essayais de l'utiliser initialement vu que dans la doc il est écrit qu'un actionneur peut aussi faire fonction de capteur et que cela me paraissait plus simple :D

En tout cas merci de ton aide j'ai au moins quelques choses de fonctionnel même si je n'arrive toujours pas à mettre une variable dans un actionneur.

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar popix » 21 Fév 2016 23:26

Je pense qu'effectivement il peu y avoir une finesse à ce niveau là car les capteurs doivent pouvoir recevoir n'importe quel valeur (temperature, humidité , etc..) alros que les actionneurs doivent avoir un nombre d’état fini, c'est obligatoire. D'ou le blocage avec des periph tel que le fibaro RGBW

Tu seras obligé de traiter ton capteur http avec des règgles et du coup tu retombes sur ta problématique du cas par cas :
Si mon capteur prend telle valeur alors fais ca avec la box
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Question : Envoyer une variable vers la box

Messagepar vva » 22 Fév 2016 09:20

Sam a écrit:Oui dans mons capteur je suis bien en texte (sur un actionneur il n'y a pas l'option, enfin je ne crois pas ?) et ça fonctionne bien, même si du coup je ne sais pas quoi faire de l'URL de la requête dont je n'ai pas besoin.

De ton côté tu arrives à mettre le champs texte dans un actionneur ? Car c'est bien dans un actionneur que j'essayais de l'utiliser initialement vu que dans la doc il est écrit qu'un actionneur peut aussi faire fonction de capteur et que cela me paraissait plus simple :D

En tout cas merci de ton aide j'ai au moins quelques choses de fonctionnel même si je n'arrive toujours pas à mettre une variable dans un actionneur.

Sam

En fait j'utilise un périf générique de type état configuré en texte (capteur)
vva
 
Messages : 386
Inscription : 12 Juin 2013

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 22 Fév 2016 18:23

De retour du travail je découvre ton message, me précipite sur ma box, test et.....


:clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap:

Mille mercis !!! C'est exactement ce que je cherchais, je vais pouvoir m'amuser avec les variables à présent !!!

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar popix » 22 Fév 2016 18:46

tu me diras comment tu fais pour le relayer sur un actionneur genre synthèse vocale car pour moi ce n'est pas gérable..
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 22 Fév 2016 18:56

En fait je ne l'actionne pas sur une synthèse vocale mais crée une règle qui à pour critère réception de sms //mon état --> change de valeur et je coche la notification audio avec dans le contenu :

[LAST_VALUE PERIPH_ID=XXXXX]

Là ca fonctionne bien quand je fais un test avec une phrase en value mais pour mes texto pour l'instant il ne me lit que le premier mot mais la solution est bien là en tout cas ! (bon je vais aller préparer le repas pour les enfants car ça, ma box ne le fait pas encore :D )

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 22 Fév 2016 19:48

vva avait en effet précisé que la variable ne supportait pas les espaces ce qui est bien dommage quand il s'agit de texte "compréhensible". En revanche pour des variables lambda cela reste un bon combo tasker/EEdomus.

Pour les espaces ce qui est étrange, c'est que quand ont fait un test dans un navigateur en changeant manuellement %SMSRB par un texte avec des espaces, EEDOMUS le comprends tout à fait. Je ne comprends pas la subtilité.

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar vva » 22 Fév 2016 21:07

Disons que ton navigateur remplace les espaces par un %20 donc ta requête aboutit. La solution (enfin la mienne) : Il faut remplacer les espaces par un "_" via la fonction remplacer de tasker. Ensuite il faut faire un script php dans eedomus pour remplacer les "_" à réception de la valeur.
vva
 
Messages : 386
Inscription : 12 Juin 2013

Re: Question : Envoyer une variable vers la box

Messagepar Sam » 22 Fév 2016 22:12

Ok je comprends, c'est logique en fait. Pourrais je abuser et te demander ton script php, je ne maitrise pas trop le sujet ?

Sam
Sam
 
Messages : 29
Inscription : 21 Fév 2016

Re: Question : Envoyer une variable vers la box

Messagepar vva » 23 Fév 2016 12:56

En fait je n'utilise plus le script pour lire le contenu du mesage. La synthese vocale n'était pas assez audible avec les mots abrégés dans les sms :oops: . je me contente juste de dire qui est l'expéditeur du sms.

Exemple "tu as réçu un message de Sam"
vva
 
Messages : 386
Inscription : 12 Juin 2013

Suivant

Retour vers Box eedomus

Qui est en ligne ?

Utilisateurs parcourant ce forum : dommarion et 87 invité(s)