Aller au contenu

http pour modifier une variable HC2 ?


chris2div

Messages recommandés

Hello, 

 

je souhaite informer sur une tablette via ImperiHome que c'est le jour de sortir les poubelles .

 

J'ai pensé a ceci via GEA :

 

1. Tous les lundi à 16h30, on met la variable vPoubelleVerte a 1


2. Tous les lundi, de 16h30 à 22h00, si la variable vPoubelleVerte contient 1, on déclenche le bouton 3 du peripherique Viruel vd_ImperiHome.
Ce bouton 3 envoie une requête HTTP pour afficher une page spécifique sur la tablette ImperiHome. Cette page contient l'image d'une poubelle verte, et affiche un joli message.
On pourrait même le faire parler via le TTS d'ImperiHome ;)

 

3. Pour stopper l'affichage de la page, un clic sur un widget d'ImperiHome mettra la variable vPoubelleVerte à 0 dans la HC2, via une requête HTTP.

Ce qui stoppera la relance de l'affichage de la page Poubelle Verte

 

 MAIS... 

 

1. cette ligne ne fonctionne pas. La variable vPoubelleVerte a été initialisée à 0 dans le panneau des variables.
GEA.add(
    {"Days", "Saturday"}, 
    1*60, 
    "", 
    {
      {"Time", "13:00", "14:35"},
      {"Function", function() fibaro:setGlobal("vPoubelleVerte", "1")  end }
    }
)

-> Message au lancement de GEA : [DEBUG] 13:59:08: line 1843: attempt to concatenate local 'name' (a nil value)

J'ai posté une demande dans le post Support GEA. 

Merci à 971jmd qui a trouvé la solution ! :74:

 

 

 

2. Cette ligne fonctionne bien, en désactivant la ligne 1, et en gérant la variable via le panneau. Mais c'est pas le but :-)

GEA.add(
    {"Global", "vPoubelleVerte", "1"}, 
    30, 
    "",
    {
        {"Repeat"},
        {"Days", "Saturday"}, 
        {"Time", "13:00", "14:35"}, 
        {"Function", function() fibaro:call(id["vd_Imperihome"], "pressButton", "3")  end }
    }
)
 
 
 3. Impossible de mettre 0 dans la variable vPoubelleVerte via HTTP comme ceci
 http://admin:admin@192.168.0.18/api/globalVariables/vPoubelleVerte -d'{"value":"0"}'
 
 

 

Avez-vous une idée pour mettre à jour cette satanée variable en http ?

Pas vraiment envie de passer par un php hébergée sur un raspberry. Je sais déjà pas faire alors ... 

 

Merciiiii beaucoup,

 

Bon week-end,

Chris

 

Modifié par chris2div
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Depuis imperihome, as tu active le serveur API HTTP ? il est desactivé par défaut.

 

Sinon, tu cliques sur un bouton d'un VD qui remet à zero ta variable depuis Imperihome :

http://<LOGIN>:<PASS>@<IP>/api/callAction?deviceID=<ID>&name=pressButton&arg1=<BUTTON ID>

 

Je n'ai pas imperihome sur mon tel, je ne peux pas regarder tout de suite.

 

la commande que tu passes pour moi est pour récuperer les infos du json

 

Ce ne serait pas comme ca plutot, enfin peut-etre.

 

Modification / création de variables
curl -X PUT -d '{"name": "Test", "value": "122"}' http://admin:admin@192.16...globalVariables

 

Lien vers le commentaire
Partager sur d’autres sites

Salut pepite,

 

oui bien sur le serveur http de imperihome est bien activé. Je déclenche aussi du TTS via la HC2, ça fonctionne très bien.

 

Le problème de ca / 

http://<LOGIN>:<PASS>@<IP>/api/callAction?deviceID=<ID>&name=pressButton&arg1=<BUTTON ID>

c'est que le login est désormais une adresse mail. 

 

Snif

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut, 

 

Seul le compte admin est en adresse mail. 

Tu peux appuyer sur le bouton d'un device avec n'importe quel compte utilisateur. 

As tu testé ? Je pense que cela fonctionne même avec le compte admin en adresse mail

Lien vers le commentaire
Partager sur d’autres sites

youhou ! ça fonctionne très bien !

 

J'ai créé un user pour ma tablette, avec les droits d’accès sur un vd et un bouton qui met à jour la variable.

L'url fonctionne très bien depuis la tablette !

 

MERCI BEAUCOUP !

 

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...