Forum eedomus
https://forum.eedomus.com/

Requête pour contrôler ma PAC
https://forum.eedomus.com/viewtopic.php?f=15&t=1993
Page 1 sur 1
Auteur:  DomotiFred [ 19 Sep 2014 11:06 ]
Sujet du message:  Requête pour contrôler ma PAC

Bonjour,

Je dispose d'une PAC contrôlée par par une centrale sur IP (CAREL).
Cette super centrale permet de générer un fichier XML dans lequel je peux lui demander de choisir les variables que je souhaite superviser.
Bref, j'arrive à superviser ces variables en allant piocher à l'aide de l'eedomus mes valeurs grace à la commande XPath.
Mais je souhaiterais aussi automatiser certaines commandes sur la centrale de ma PAC en poussant des valeurs à l'aide d'un fichier de commande en html.

Hypothèse, je souhaite faire varier la variable nommée Integer 14 automatiquement à la valeur 1.
En respectant la norme d'écriture suivante :
SYNTAX
<%var(0, VariableType, VariableIndex, [MinValue], [MaxValue])%>
where:
 0 (zero): required; reserved for future extensions;
 VariableType: 1: Digital, 2: Analogue, 3: Integer;
 VariableIndex (1 to 207 for Carel protocol/5000 for ModBus Extended protocol): choose the variable;
[MinValue] (Int.: -32768 to 32767 step 1, An.: -3276.8 to 3276.7 step 0.1), optional when writing, no affect when reading: pCOWeb will not send the pCO a value less than MinValue;
[MaxValue] (Int.: -32768 to 32767 step 1, An.: -3276.8 to 3276.7 step 0.1), no affect when reading, optional when writing: pCOWeb will not send the pCO a value greater than MaxValue.

Jusqu'ici, j'ai essayé de débroussailler le chemin en créant un fichier comme celui-ci :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<!--tagparser="/pcotagfilt"-->
<head>
<meta content="text/html; charset=ISO-8859-15" http-equiv="content-type">
<title>pCOWeb Test Page</title>
</head>
<body bgcolor='#ffffff'>
<h1 style="text-align: center">pCOWeb test</h1>
<br>
<form method="SET">
Var 14: <input type="text" name="?script:var(0,3,14,1,1)" value="1">
<input type="submit" value="Submit">
</form>
Operation result: <%setres('Undefined','Ok','Timeout')%>
</body>
</html>

Tout est OK, mais je ne sais pas comment forcer automatiquement l'action "Submit" proposée à l'écran (voir capture jointe). Il doit y avoir une commande que je ne connais pas dans le script :-(

Merci d'avance si vous pouvez m'orienter.

Fred.

Pièces jointes:
Action PAC.jpg
Action PAC.jpg (78.24 Kio) Consulté 10259 fois
Auteur:  raphael_malin [ 19 Sep 2014 12:55 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Tentes avec la console de développement de lire son code en utilisant F12
Voila ce que je trouve, mais j'y connais rien la dedans.
Sans titre.png
Sans titre.png (125.53 Kio) Consulté 10245 fois
Auteur:  Madoma73 [ 19 Sep 2014 16:45 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Form method=SET ?
Soit c'est très spécifique, soit il y a une erreur et c'est Get
Auteur:  DomotiFred [ 19 Sep 2014 16:52 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Salut Pierre,

Effectivement c'est GET.
En fait, je me tape depuis ce matin la doc, mais j'ai tellement de lacunes en développement que j'ai du mal à trouver par où commencer.
Bref, je voudrais balancer la valeur 1 pour la variable "interger 14" dans ma PAC, et le script proposé en exemple me permet d'afficher la variable, d'y associer la valeur que je veux et ensuite de lui envoyer en appuyant sur "Submit". Voir copie d'écran ci-dessus.
Bref, en retravaillant le script, j'arrive à intégrer la valeur "1", mais j'ai toujours obligation d'appuyer sur "Submit" alors que je voudrais que ce soit automatique.
Une idée ?
Merci.
Auteur:  DomotiFred [ 20 Sep 2014 11:03 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Bonjour,

Toujours aucune idée pour automatiser ce script et me passer du formulaire html ?
Merci.
Auteur:  Madoma73 [ 20 Sep 2014 12:44 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Normalement pour la partie GET, tu ajoutes simplement ?script:var(0,3,14,1,1) à la fin de ton adresse.
Pour la partie POST, normalement c'est un peu plus compliqué, mais tu peux tenter le même genre, ça dépend comment c'est codé.
Auteur:  Kaotech [ 20 Sep 2014 12:55 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Peut être qu'avec firebug sur firefox comme sur le screen ci dessous, tu pourrais voir la requête qui est envoyé lorsque tu cliques sur submit.

Image
Auteur:  DomotiFred [ 20 Sep 2014 17:40 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Merci Kaotech :-)

Je viens de trouver grâce à ce plugin Firebug la commande qui passe.
Dans mon cas, sur ma pompe à chaleur attaquable à l'@IP 192.168.1.9, pour faire changer la valeur "integer 14" à "1" automatiquement avec une commande html, il faut rentrer la commande suivante :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C14%2C1%2C1%29=1

Il ne reste plus qu'à créer un actionneur dans l'eedomus avec les 4 valeurs correspondant aux 4 états possibles de ma PAC DIMPLEX, à savoir pour :
0 : Mode Eté
http://192.168.1.9/http/?%3Fscript%3Ava ... 0%2C0%29=0

1 : Mode Auto
http://192.168.1.9/http/?%3Fscript%3Ava ... 1%2C1%29=1

2 : Mode Vacances
http://192.168.1.9/http/?%3Fscript%3Ava ... 2%2C2%29=2

3 : Mode Fête
http://192.168.1.9/http/?%3Fscript%3Ava ... 3%2C3%29=3

Update :
C'est fait et ça marche impec :-)
Auteur:  DomotiFred [ 24 Sep 2014 14:57 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Bonjour,

Autre info, sachant que ma PAC est gérée par une centrale type CAREL, ça peut intéresser d'autres personnes qui auraient des contrôles de clim ou de PAC utilisant cette centrale.

On peut aussi envoyer des infos grâce aux commandes suivantes :

Ecriture d'une variable avec une commande HTTP GET:

http://192.168.1.9/config/pw_contact.ht ... 2,27,0,100)=13.7

Mais on peut aussi écrire une ou plusieurs variables en même temps grâce à un script CGI du type : “query.cgi? + VAR_TYPE|INDEX|VALUE|”

http://192.168.1.9/config/query.cgi?var ... I|11|12345

Fred.
Auteur:  YEB [ 15 Fév 2019 13:51 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Salut DomotiFred

Merci pour ton retour sur les interactions entre eddomus et pCOweb.. je m'en suis servi pour remonter également les valeurs de mes PAC. Ça fonctionne bien !

Par contre concernant la mise à jour de valeur D,I ou A directement depuis eedomus ..je sèche un peu.

Si j'ai bien compris, il est question de créer un fichier html (formaté comme dans la doc pCOweb), de le poser sur le serveur eedomus puis de faire des actionneurs qui vont utiliser ce ficher html pour faire la mise à jour des valeurs ?

Merci pour ton retour..
Auteur:  DomotiFred [ 15 Fév 2019 14:08 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Bonjour,

Tu veux pouvoir envoyer des valeurs depuis l'eedomus directement vers le PCOWeb, c'est ça ?

Si c'est le cas, voici quelques exemples (l'IP 192.168.1.9 étant celle de la carte LAN du PCOWeb) :

Mode Eté :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C14%2C0%2C0%29=0

Mode Auto :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C14%2C1%2C1%29=1

Mode Vacances :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C14%2C2%2C2%29=2

Mode Fête :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C14%2C3%2C3%29=3

Temp Bascul AUto à 16°C :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C13%2C16%2C16%29=16

ECS à 47°C :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C46%2C47%2C47%29=47

Mode fonctionnement Manuel :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C1%2C108%2C0%2C0%29=0

Position Courbe Chauffage à 0 :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C35%2C19%2C19%29=19
ou
http://192.168.1.9/http/??script:var(0,3,35,19,19=)19

Position Courbe Chauffage à 1 :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C35%2C20%2C20%29=20

Position Courbe Chauffage à 2 :
http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C35%2C21%2C21%29=21

Position ECS à 14H05 :
http://192.168.1.9/http/??script:var(0,3,67,14,14)=14
ou http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C67%2C14%2C14%29=14
et
http://192.168.1.9/http/??script:var(0,3,68,5,5)=05
ou http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C68%2C5%2C5%29=5

Position ECS à 16H00 :
http://192.168.1.9/http/??script:var(0,3,67,16,16)=16
ou http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C67%2C16%2C16%29=16
et
http://192.168.1.9/http/??script:var(0,3,68,0,0)=0
ou http://192.168.1.9/http/?%3Fscript%3Avar%280%2C3%2C68%2C0%2C0%29=0

Merci de bien vérifier toutes ces lignes de commandes avant de les utiliser avec la box (une faute de frappe pouvant toujours survenir et une version différente de firmware de ton Carel pouvant modifier le résultat).

Fred.
Auteur:  YEB [ 15 Fév 2019 14:23 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Yes c'est ça, pour l'instant je ne fait que lire à intervalle régulier une 15zn de valeur via des capteurs http.
Je souhaite pouvoir modifier comme tu le fait des valeurs sur le pCOweb via un actionneur http mais je sèche un peu sur la procédure.
Auteur:  DomotiFred [ 15 Fév 2019 14:25 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

Alors regarde juste au dessus de ton post ;-)
Auteur:  YEB [ 15 Fév 2019 14:36 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

J'avais compris le principe d'une requête vers le pCOweb via une url, mais je capte pas tout.

Si je prends un exemple :
Je souhaite donner la valeur 29 à l'entrée |Analog|481

Sur ton url suivante .. ou se situe situeraient les variables |Analog|481|29 ?
http://192.168.1.9/http/??script&#058;var(0,3,68,0,0)=0
ou http://192.168.1.9/http/?%3Fscript%3Ava ... 0%2C0%29=0

C'est plus clair sur cette autre exemple que tu donne :
http://192.168.1.9/config/query.cgi?var ... I|11|12345
Donc si je traduit cela me fait : http://192.168.1.9/config/query.cgi?var|A|481|29

Faut que je test.. l'autre question : tu n'a donc pas de script spécifique sur l'eedomus.. tu ne fait qu'une requête comme pour le capteur http ?
Auteur:  DomotiFred [ 16 Fév 2019 12:47 ]
Sujet du message:  Re: Requête pour contrôler ma PAC

YEB a écrit: tu n'a donc pas de script spécifique sur l'eedomus.. tu ne fait qu'une requête comme pour le capteur http ?


Pas de script spécifique.
Je créé un actionneur qui a plusieurs valeurs
Page 1 sur 1 Le fuseau horaire est UTC+1 heure