Demande d'aide utiliser une variable générale dans JS d'un équipement
#1
bonjour ,

je cherche comment on peut utiliser une variable (déclarée dans les automatismes) public {ma_var}, dans le javascript d'un équipement.

- que ce soit dans la partie commande/action ou dans le parser JS

pour la partie commande/action, j'ai trouvé une astuce consistant à
- ajouter dans l' action une variable {temp}
- créer un automate qui va appeler cette action, alors {temp} est considéré comme paramètre et on peut via l'automate lui donner la valeur de la variable public {ma_var} qu'on veut utiliser , avec des restrictions sur le type de véhiculé.

donc limité ==> si vous avez une autre solution plus directe , je suis preneur


maintenant je voudrais utiliser ma variable {my_var} dans la partie parser JS
l'astuce que j'ai trouvé consiste à déclarer une variable dans l'équipement {my_var_equip} et créer un automate qui va mettre la valeur de cette variable dans {my_var}

pareil c'est pas naturel et avec des pb de conversions , puisque {my_var_equip} ne peut être que string, double , list


idem si des solutions je suis preneur

merci
Répondre
#2
(01-20-2020, 03:06 AM)sud-domotique-expert a écrit : bonjour ,

je cherche comment on peut utiliser une variable (déclarée dans les automatismes) public {ma_var}, dans le javascript d'un équipement.

- que ce soit dans la partie commande/action ou dans le parser JS

pour la partie commande/action, j'ai trouvé une astuce consistant à
- ajouter dans l' action une variable {temp}
- créer un automate qui va appeler cette action, alors {temp} est considéré comme paramètre et on peut via l'automate lui donner la valeur de la variable public {ma_var} qu'on veut utiliser , avec des restrictions sur le type de véhiculé.

donc limité ==> si vous avez une autre solution plus directe , je suis preneur


maintenant je voudrais utiliser ma variable {my_var} dans la partie parser JS
l'astuce que j'ai trouvé consiste à déclarer une variable dans l'équipement {my_var_equip} et créer un automate qui va mettre la valeur de cette variable dans {my_var}

pareil c'est pas naturel et avec des pb de conversions , puisque {my_var_equip} ne peut être que string, double , list


idem si des solutions je suis preneur

merci

Bonjour JL, est ce que je peut utiliser cette methode pour transmettre une variable de l'équipement en modifiant cette approche.

Actuellement, j'ai dans un équipement, la commande JS suivante :

//V11, Temperature consigne piscine
command="/_GyuHdgjhK5mi76vzvr9eW8ye2xxxxxx/update/V11?value={PiscineConsChaud}"


PiscineConsChaud étant une variable de l'équipement.
Répondre
#3
j'ai pas forcément compris ce que tu veux faire ?
tu veux envoyer une commande à ton équipement pour lui donner un ordre sur la température de piscine à adopter ?
/_GyuHdgjhK5mi76vzvr9eW8ye2xxxxxx/update/V11?value={PiscineConsChaud}


cette donnée {PiscineConsChaud} est stockée ou ? tu la récupères comment ?

si c'est comme la température d'un thermostat qui a une consigne et un relevé.

dans ce cas quand tu récupères la valeur de la consigne actuelle, tu vas la stocker dans une variable de ton équipement
j'exploites le retour de le commande "echo" du programme qui gère mon thermostat et je récupères les données en JS

Nest_temperature = trame.substring(trame.indexOf("current_temperature:")+20,trame.indexOf("current_temperature;"));
setTmp = trame.substring(trame.indexOf("settmp:")+7,trame.indexOf("settmp;"));

puis j'affiches la consigne dans un "component steeper", celle de l'équipement dans le retour d'états du steeper, dans ce même steeper tu dis que les actions possibles (la régulation de la consigne)  se fait sur une variable globale numérique


   

dans mon exemple :  setTmp est la variable de la consigne de l'équipement
et Nest_set_temp_num est la variable globale

dans l'équipement tu as une commande set_température :  /ton_programme?setTmp={temp_setTmp}

tu créés un automate , qui va se déclencher "à chaque changement" de la variable globale (ici - Nest_set_temp_num)
qui va appeler la commande set_température

la commande utilise la variable temporaire temp_setTmp qui permet de faire le transfert (dans l'automate) de la valeur chargée avec Nest_set_temp_char à la commande, et exécute la commande  "set_température"

 note au milieu je suis obligé de convertir la variable Nest_set_temp_num (numérique) en Nest_set_temp_char (string)
et comme mon steeper est avec décimale je transforme la , en . parce que mon équipement n'accepte pas le . comme séparateur décimale.

   
Répondre
#4
Merci JL t'es explication mon permis de solutionné le problème.
l'utilisation d'une variable Global, permet de transféré le la variable dans la trame.

Quelque imprime ecran 

Declencheur

[Image: 3nfv.png]

automate

[Image: 70c3.png]
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Demande d'aide Commutateur virtuel non visible dans l'appli solo82 5 7,531 05-25-2020, 08:44 PM
Dernier message: mtddamien
  création d'un équipement via écoute universelle sud-domotique-expert 11 13,203 05-21-2020, 12:48 PM
Dernier message: Al_Bla
  Equipement ECOUTE HTTP Universel jdrenne 8 8,525 03-10-2020, 07:15 PM
Dernier message: jdrenne
  Demande d'aide Historique sur équipement générique Benjamin04 2 4,865 12-05-2017, 04:28 PM
Dernier message: Benjamin04
  AMÉLIORATION Création équipement Sirène Hsd 0 2,703 06-22-2016, 12:09 PM
Dernier message: Hsd
  Equipement générique non visible dans DS PITP2 11 17,109 08-31-2015, 11:52 AM
Dernier message: PITP2
  Intégration d'une variable ou valeur sonde dans une commande http ngm47 3 6,967 08-27-2014, 05:36 PM
Dernier message: Julien
  Equipement generique capteur 889laurent 1 4,367 06-12-2014, 09:16 AM
Dernier message: 889laurent
  Equipement universel 889laurent 0 3,057 06-12-2014, 09:08 AM
Dernier message: 889laurent
  Problème de liste déroulante type de variable coyotus 2 5,482 02-17-2014, 06:40 PM
Dernier message: coyotus



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)