Comparer données texte TEMPO

Bonjour, je souhaite désactiver certains équipements en fonction de la couleur du jour TEMPO.
J’ai entré les commandes suivantes dans NOTIFICATIONS de l’EDV à destination d’une Sortie Virtuelle (N°100) de l’IPX V4:

  • « Envoi si Couleur Demain Bleu » /api/xdevices.json?key=___&SetVO=100
  • « Envoi si Couleur Demain Blanc » /api/xdevices.json?key=___&ClearVO=100
  • « Envoi si Couleur Demain Rouge » /api/xdevices.json?key=___&ClearVO=100
    afin de n’activer les équipements (par un relais) que si VO#100 est « ON » dans un scénario, mais le fonctionnement n’est pas fiable.
    Si vous y voyez une erreur ou une explication, merci pour vos retours.

J’ai pensé alors tester la valeur « <T1_PTEC>HPJB</T1_PTEC> » récupérée de l’EDV avec java script dans IPX V4 du genre si « datasources[« ECODEVICE »][« response »][« T1_PTEC »] » est égale à HPJB, alors active une VO … . Pensez vous que ce soit possible, et si oui, quelle serait la ligne de commande java?
Merci à vous
Cordialement
Pat

Bo jour
Quels scénarios avez vous créés sur EDRT2 ?

En théorie c’est faisable en utilisant uniquement la commande ON pour les 2 scènes

voici la structure générale des 2 scènes

évènement : téléinfo(Blanc)
action : ON
résultat : Push (…setVO=100)

évènement : téléinfo(Bleu) OU téléinfo(Rouge)
action : ON
résultat : Push (…ClearVO=100)

cdt

Bonsoir, j’aurais du préciser, c’est le EDV 1ère génération.
EDV :

  • « Envoi si Couleur Demain Bleu » /api/xdevices.json?key=___&SetVO=100
  • « Envoi si Couleur Demain Blanc » /api/xdevices.json?key=___&ClearVO=100
  • « Envoi si Couleur Demain Rouge » /api/xdevices.json?key=___&ClearVO=100
    V4 :
    Le scénario est
    [Plage Horaire] [ET] [SV]
    ON/OFF
    Relais

(SV = Sortie Virtuelle N°100)

La commande sous http fonctionne correctement, j’ai fait un essai avec la VO 102 :
image

Mais je pense qu’il manque une commande d’envoi, je constate que l’EDV 1ere génération n’envoie pas

  • systématiquement - cette notification Set ou Clear dès qu’il y a changement de couleur. C’est pour cela que je pense à une alternative …

Cordialement
Pat

Une précision sur mon commentaire « le fonctionnement n’est pas fiable » .
En fait je veux parler d’utiliser LA COULEUR DU LENDEMAIN.

Je me rends compte que je reçois l’information « Envoi si Couleur Demain Bleu » tous les jours - par l’intermédiaire de la SV #100 qui passe à « ON »-, par exemple le 2, 3 et 4 Décembre, alors que ces jours ont été Blanc/Blanc et Rouge.
Je n’arrive donc pas à empêcher le fonctionnement d’appareils ces jours BLANC ou ROUGE, car j’ai systématiquement une info BLEU ces mêmes jours.

D’où mon idée de tester une valeur TEXTE - celle qui correspond sur L’EDV 1ère génération à T1_PTEC - indiquant la couleur du jour et la période Heure Pleine ou Heure creuse comme ci dessous

  • « HPJB » Heure Pleines Jour BLEU
  • « HCJB » Heure Creuses Jour BLEU
  • « HPJW » Heure Pleines Jour BLANC
  • « HCJW » Heure Creuses Jour BLANC
  • « HPJR » Heure Pleines Jour ROUGE
  • « HCJR » Heure Creuses Jour ROUGE

du genre si T1_PTEC == HPJB alors active une SV … C’est là que j’ai besoin d’aide.
Merci à vous
Cordialement
Pat

Bonjour,
suite à ma demande d’activation de relais en fonction de la couleur du jour TEMPO sur ECODEVICE modèle 1, j’ai pu grâce aux nombreux exemples JSON - Merci à vous tous qui publier ces exemples, en particulier @fgtoul, et @PatLeHibou - adapter le script suivant:
edf_tempo.zip (741 Octets)

Je suis assez satisfait car j’active bien des SV en fonction de la couleur TEMPO du jour, ce qui me permet de gérer (entre autre) la filtration piscine en fonction du coût de l’électricité.

Ma question :
Je suis sous Firefox 82.0.2 (64 bits), et j’ai souvent les deux fenêtres d’erreur suivantes :

  • 1
    command failed.
    Connection to relayboard was lost.
    Bouton « OK » -----------> si j’appuie sur « OK »
    command failed.
    Connection to relayboard was lost.
    [case à cocher] Empêcher cette page d’ouvrir des dialogues supplémentaires
    Bouton « OK » -----------> si j’appuie sur « OK »
    idem
    -----------> si je coche la case puis « OK »
    retour à la normale ( IPX800_V4/index1.htm) … puis ça beugue au bout d’un moment, je suis obligé de couper/remettre l’alim sur l’IPX et rentrer à nouveau le script.

  • 2
    command failed.
    Connection to relayboard was lost.
    [case à cocher] Autoriser les dialogues de 192.xxx.x.xx (c’est l’IP de l’IPX800_V4) à vous déplacer vers leur onglet
    -----------> si je coche la case puis « OK »
    retour à la normale ( IPX800_V4/index1.htm) … puis ça beugue au bout d’un moment, je suis obligé de couper/remettre l’alim sur l’IP et rentrer à nouveau le script.

Avez vous une idée sur l’origine de ces messages ?
Ce message ne viendrait-il pas de la comm entre l’IPX et l’EDV, et dans ce cas, il faudrait que je limite cette interrogation sur la couleur du jour à quelques fois par jour, et pas continuellement, ce qui altérerait ma bande passante?

Merci pour votre support
Cordialement
Patrick

1 « J'aime »

Bonjour,

ce type de message peut apparaître si les demandes sont trop rapprochées.
Votre script est basé sur une source de données. Quel taux de rafraichissement avez vous paramétré ?
essayez en allongeant l’intervalle.

cdt

Oui j’avais mis 5s. Donc je suis passé à 100s. C’est assez gênant car je récupère des données importantes, régulièrement.
N’est il pas possible de réduire la fréquence de rafraichissement dans le script plutôt que dans la source de données?

Merci en tout, ça semble ne plus beuguer.

J’ai plusieurs remarques.

  • si vous récupérez des données fréquemment avec cette datasource, vous devez utiliser ce script sur un autre dashboard ou bien créer une deuxième datasource pour lui avec un délai différent. Ce script émet des commandes et nécessite plus de ressources sur ecodevice.
  • si j’ai bien compris, ce script pilote des SV pour le pilotage on/off d’un relais par scénario.
    Cela revient à dire que votre relais ne sera fonctionnel que si le widget est affiché en permanence sur une tablette ou un pc qui ne se met jamais en veille.

C’est clair merci @fgtoul. Je vais créer une autre source de données dédiée à ce script.
Concernant la connexion, c’est effectivement le cas, ce PC est actif 7/24.
Je me forme sur une box Raspberry afin de réduire cette conso.

Merci encore
Patrick

1 « J'aime »

Bonsoir et bonne et heureuse année 2021 à tous.
Je reviens sur le phénomène « Connection to relayboard was lost. ». Je l’ai de manière erratique, mais je me demandais si cela ne vient pas de la commande « newAJAXCommand » qui active un relais et une SV pendant plusieurs heures?
Je m’explique:
en fonction d’une variable (Couleur EDF TEMPO) dont la période est de 24H, j’applique une action qui active une sortie relais durant cette période.
Si la raison pour laquelle j’ai ce message d’erreur « Connection to relayboard was lost » est due à la perte de la communication de la commande "NewAjax…"
Quelles alternatives permettraient de s’affranchir de ce maintien du relais?
Je pense qu’en envoyant la commande « NewAjax » pendant quelques secondes permettrait d’éviter ces messages.

Mes questions :
Qu’en pensez vous?
Quelle serait la commande à inserer dans le JavaScript?

Merci
Cordialement
Patrick

Bonjour @Pat
je suppose que vous avez ce message d’erreur sur le PC, qui consulte 7/24 les dashboards de l’Ipx800.
Le message d’erreur n’a rien à voir avec un maintien de relais ou de SV, c’est juste une perte de réseau entre votre IPX et votre navigateur web (mise en veille, Timeout, …)

Si vous rafraichissez la page du navigateur, tout repart normalement ?

Si c’est le cas, essayez d’encapsuler les dashboard de votre ipx800 dans une page web qui se rafraichira toutes les heures (ou plus car il suffit de modifier la valeur 3600).

  • Téléchargez ce fichier test-iframe.zip (329 Octets)
    ou collez ce code dans un nouveau fichier texte :
<html>
<meta http-equiv="refresh" content="3600">
<body  style="margin: 0; height: 100%; overflow: hidden">
<iframe src="http://IP_IPX/user/index2.htm" width=100% height=100%>no iframe</iframe>
</body>
</html>
  • ouvrez le fichier avec Notepad
  • Ajustez l’adresse IP de l’IPX et enregistrez avec l’extension html
  • Appelez ce fichier avec votre navigateur.

Attention : solution non testée, vérifiez que toutes les fonctionnalités du dashboard fonctionnent (datasources, …)

cdt

Bonjour @fgtoul,
oui c’est sur le PC
oui après ESC, le message disparait, sans faire de rafraichissement
J’arrive à charger ce fichier html, mais quel est sa finalité?

Pour revenir à ma remarque sur NewAjaxCommmand, je pensais que cette commande établit un lien
permanent, et donc, en cas de perte de réseau, il me semblait normal d’avoir un warning signifiant que la liaison avec la carte IPX était perdue. C’est pourquoi je voulais créer une commande ponctuelle (genre impulsion bouton poussoir) qui active le relais en permanent car en mode « ON/OFF » dans le scénario.

Cordialement
Patrick

La page html fait un rafraîchissement automatique à intervalle régulier et devrait donc empêcher le serveur de l’ipx800 de mettre fin à la session du PC (session timeout)

OK, je vais laisser les deux pages, pour comparer.
Merci
Patrick

1 « J'aime »