Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Aide Calaos Installer
#1
Bonjour,

y a t il une aide pour le logiciel Calaos Installer?
Je cherche a envoyer une commande HTTP pour commander une lampe.
Cette commande pour allumer:
Quote:http://192.168.1.5:3480/data_request?id=...getValue=1
cette commande pour éteindre:
Quote:http://192.168.1.5:3480/data_request?id=...getValue=0
je ne comprend pas trop comment utiliser WEBIO ( web lumière).
Voir ci dessous
   
Reply
#2
Bonjour Etienne,

Dans le cas des sorties, les Web IO remplacent __##VALUE##__ par la chaine qui est renseignée dans valeur actif/inactif.

Dans ton cas, cela donnerai :
Code:
url : http://192.168.1.5:3480/data_request?id=lu_action&DeviceNum=3&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=__##VALUE##__
Calaos v2 sur Rpi et MeleA1000 | Eco Device | IPX800 | Karotz | 1Wire | Relais GPIO | Squeezebox
Reply
#3
salut,

merci pour cette réponse ça marche bien.pour la commande ok
pour savoir dans quelle état est l’élément il y a une commande

Code:
http://192.168.1.5:3480/data_request?id=variableget&DeviceNum=3&serviceId=urn:upnp-org:serviceId:SwitchPower1&Variable=Status

Qui retourne 1 pour allumer et 0 pour éteinte.

Command je peux utiliser cette commande et où pour avoir l'info sur l’élément lumière Webio que je viens de crée?

Pouvez vous me dire a quoi sert la variable chemin?

Qu'est qu'une:
Regle?
Condition?
Actions?
Dans le logiciel calaos installer
Reply
#4
Les WebIO ne supportent pas le retour d'etat pour le moment. Tu peux ouvrir un ticket sur github pour ajouter le support. Ca pose certain probleme d'ailleurs de pouvoir faire ca, si on comment a faire du polling pour recupérer l'etat de la lampe avec des api web ca va etre assez lent...

Le chemin c'est pour les autres WebIO qui doivent lire une valeur dans un fichier XML ou JSON. (par ex le WebInputTemp pour lire une temperature dans une requete HTTP)

Une regle c'est une liste de conditions qui sont evalués et si elles sont toute vrai, alors la liste d'action sera executé. C'est la base de calaos.
Si tu comprends l'anglais:
https://calaos.fr/blog/calaos-rules-system-1/
https://calaos.fr/blog/calaos-rules-system-2/
Raoul,
Calaos Core Dev.
Calaos git sur NUC NUC5PPYH | Wago 750-849 | DALI RGB | Sondes NTC sur 750-464 | Sondes 1Wire DS18B20 avec adaptateur USB DS9490R | Nodes MySensors avec gateway USB | Ecran tactile ELO avec adaptateur USB/RS232 | Squeezebox Duet et Radio | Logitech Harmony Ultimate | Ampli Pioneer VSX921
Reply
#5
salut,

merci pour cette réponse.
je ne suis pas essai caler en programmation pour modifier pour ouvrir un ticket.

Je vais regarder les lien en anglais pour mieux comprendre Calaos?
Reply
#6
salut,

avec un script je pense pouvoir arriver à faire ce que je veux.

comment on écrie une variable dans une variable interne visible sur calaos ?
Voila ce que j'ai écrie:
Code:
local Test1 = calaos:requestUrl("http://192.168.1.5:3480/data_request?id=variableget&DeviceNum=3&serviceId=urn:upnp-org:serviceId:SwitchPower1&Variable=Status")

calaos:setOutputValue("intern_1", Test1)
Calaos me donne ce message d'erreur:
Quote:Error Runtime error :
setOutputValue(): wrong value
Reply
#7
Non ca ne marche pas comme ca. Les scripts LUA ne peuvent pas bloquer le processeur et donc requestUrl ne peut pas revnoyer une valeur. Pour recuperer la valeur il faut passer par une WebIO qui va lire la valeur avec une intervalle assez courte et tu pourras lire cette valeur dans ton script
Raoul,
Calaos Core Dev.
Calaos git sur NUC NUC5PPYH | Wago 750-849 | DALI RGB | Sondes NTC sur 750-464 | Sondes 1Wire DS18B20 avec adaptateur USB DS9490R | Nodes MySensors avec gateway USB | Ecran tactile ELO avec adaptateur USB/RS232 | Squeezebox Duet et Radio | Logitech Harmony Ultimate | Ampli Pioneer VSX921
Reply
#8
(04-12-2015, 10:21 AM)raoulh Wrote: Non ca ne marche pas comme ca. Les scripts LUA ne peuvent pas bloquer le processeur et donc requestUrl ne peut pas revnoyer une valeur. Pour recuperer la valeur il faut passer par une WebIO qui va lire la valeur avec une intervalle assez courte et tu pourras lire cette valeur dans ton script

ok mais quel webio?
Code:
http://192.168.1.5:3480/data_request?id=variableget&DeviceNum=3&serviceId=urn:upnp-org:serviceId:SwitchPower1&Variable=Status
le retour de cette commande est un 1 ou un 0.
Je pense que je doit utiliser un interupteur mais quand je met url sa donne rien.

pour avoir les infos il existe une commande qui renvoi toutes les info sous forme XML
Code:
http://192.168.1.5:3480/data_request?id=status&output_format=xml&DeviceNum=3
le retour donne ca:
   
comment trouver le chemin de l'info:
Quote:<state id="168" service="urn:upnp-orgConfusederviceId:SwitchPower1" variable="Status" value="1"/>
Je cherche a savoir si value ="1" ou value="0".
Reply
#9
Bonjour Etienne,

Premièrement, je préfère prévenir que la lecture des fichiers XML comme ce que tu est en train de faire, n'est pas testé intensivement Smile

Les valeurs dans le XML sont lues en utilisant des requêtes XPATH.
Si tu crees une WEBIO qui retourne le XML, tu peux mettre dans "chemin" le XPATH.
Xpath est une norme, tu trouveras sur internet différents tutoriels.


J'ai découvert les xpath en écrivant la partie WebIO donc je ne suis pas très a l'aise avec.
Je fait bcp de test avec ce site la, qui me permet de tester mes requêtes XPATH en ligne: http://www.freeformatter.com/xpath-tester.html

Dans ton cas, une requête qui semble bien fonctionner est la suivante : string(/state[@id='168']/@value)
J'ai essayé uniquement avec le bout de xml que tu as copié, il faudrait tester avec le fichier complet. la requête sera peut être :
string(///state[@id='168']/@value) plutôt.

Il faut faire des tests, mais je suis curieux du résultat !

Pour ma part je l'utilise quotidiennement sur un format bcp plus simple avec une requête XPATH qui est la suivante : //T1_PTEC pour un fichier XML qui est le suivant: https://enna.me/pastebin/?d6437e2f8f5757...lmmHzCfOJY=
Calaos v2 sur Rpi et MeleA1000 | Eco Device | IPX800 | Karotz | 1Wire | Relais GPIO | Squeezebox
Reply
#10
salut

Merci de ta réponse.
Voici le code utiliser car l'id change tous le temps
Quote://state[1]/@value

Je recherche a avoir une actualisation d'un bp en fonction d'une valeur de retour.
Actuellement j'arrive a commenter un interrupteur et a avoir un retour d’état dans une autre variable.

je voudrai donc faire un versification de changement d’état avec une tempo.
J'ai crée une variable de temps type timer avec 10s et démarrage automatique et relance après expiration mais sa na pas l'aire de fonctionner une idée?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)