OpenRemote et pilotage IPX

Bonjour à tous,

Je viens de découvrir le projet OpenRemote et comme il permet de piloter - entres autres - des appareils en http, telnet ou TCP et de récuperer des infos d’etat en http ou xml, je me disais que cela pourrait vous interesser.
J’ai, par exemple, commencé à créer des ecrans pour mon iPad afin de piloter l’IPX sans avoir besoin de modifier le site de l’IPX.
Bref, je trouve le concept génial et très facile à prendre en main (pas de dev.), et pour finir : cerise sur le gateau, il est installable sur un NAS synology (sans bidouille, via le gestionnaire de package)! :slight_smile:

Voila,
Je tacherais de vous envoyer des screenshot quand ca sera terminé…

Du nouveau concernant l’utilisation d’OpenRemote avec l’IPX ?

Pas essayé en tcp, mais en http, ca fonctionne plutot bien.
Pas testé les lectures d’infos de l’ipx non plus.
Mais je posterais quand j’aurais avancé. Promis.

Bonsoir,
As tu regardė notre projet Site Multicarte. Piloter plusieurs IPX800 depuis un serveur, il répond peut être à ta question.

Oui bien sûr, j’ai d’ailleurs participé à plusieurs topics en cours. Mais j’avoue que j’ai été décontenancé par la lourdeur du code (multitude de scripts php) et par les ressources processeur demandées par l’enregistrement quasi permanent en base mySQL. Sur le coup je n’ai pas trouvé de vrai « bug » à l’application puis finalement, en creusant un peu, je n’ai jamais réussi à faire fonctionner les scénarios, de même que je n’ai jamais réussi à afficher un quelconque graphique, alors que les classes prévues (jpgraph) étaient bien installées et reconnues par l’application.
Du coup, en voulant exploiter moi-même toutes les infos contenues dans la base de données, j’ai découvert qu’il était très difficile de faire des totaux horaires ou quotidiens (par requêtes mySQL) car le seul horodatage des enregistrements est un timestamp unix illisible en l’état : il est donc impossible de faire des « WHERE jour=dimanche » par exemple, alors même que cette info est disponible dans le status XML de l’IPX.
Bref, je sais que vous travaillez dur sur cette appli et que vous l’améliorez régulièrement, mais honnêtement j’ai été découragé et j’ai préféré écrire moi-même quelques scripts PHP propres à mes besoins. D’ailleurs une donnée d’entrée est très importante pour moi, il s’agit de la couleur du jour Tempo EDF, et ça votre appli ne le gère pas du tout en soft. Et comme je n’ai toujours pas de solution pour la récupérer de manière hard (avec 2 ou 3 entrées numériques de l’IPX par exemple) je suis obligé de la traiter en PHP.

Salut

Normalement les problèmes de perf MYSQL sont résolu (voir Serveur Multicartes IPX800 / Documentation / Comment sont mises à jour les données Mysql)

Pour JPGraph, pourrais-tu nous donner plus d’info pour que l’on identifie et corrige le pB et l’identifie (au moins pour les autres). Passe par https://sourceforge.net/p/multicardipx800/tickets/new/

Pour le problème du dimanche : « WHERE DAYOFWEEK(FROM_UNIXTIME(time)) = 1 » (plus d’aide sur http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html)

Pour les scenarios, il y a des exemples ici : Serveur Multicartes IPX800 / Documentation / Exemple de scenario
Si tu nous décris ce que tu souhaites faire, nous nous ferons un plaisir de te proposer un code de scenario correspondant (dans la mesure du possible).

Pour ce qui est du jour code couleur Tempo Edf, tu peux déclarer une variable dans l’application. Si tu m’envoies ton code php qui le récupère, je le mets à jour pour le proposer en module à intégrer facilement dans l’application.

A+
Thomas

Bonjour Thomas,

Pour JPGraph, j’avais un écran blanc, aucune courbe, tout simplement. Visiblement j’étais le seul dans le cas donc je n’ai pas souhaité vous embêter avec ça. Je voulais également un affichage type calendrier, ce qui n’est pas possible avec votre appli (enfin il me semble).

Pour le dimanche, merci pour la syntaxe, mais cela dépasse carrément mes compétences en requête SQL. Le dimanche, c’était un exemple, je fais également des extractions par heure dans la journée, par date, par année, bref j’ai pas envie de chercher chaque syntaxe correspondant à ce que je veux faire. Puis en accédant directement à la base par phpmyadmin, les enregistrements sont illisibles du fait même du timestamp : par exemple, comment vérifier qu’ils se font bien toutes les x minutes ou toutes les x secondes, qu’il n’y en a pas un ou plusieurs qui ont été raté du fait d’un plantage du NAS ou autre raison ??

Pour les scénarios, je crois que vous avez résolu le problème dans une version récente, il faudrait que je réessaye. Mais une fois de plus, je ne vais pas vous solliciter à chaque fois que j’aurai une idée de scénario qui ne se « code » pas facilement dans votre appli. Autant que je fasse mon bout de code php directement dans mon script.
Exempe concret : je souhaite décaler mon déclenchement chauffe-eau le lendemain à 6h00 si la couleur du jour est plus chère que la couleur du lendemain, mais pas si le chauffe-eau a déjà été forcé aujourd’hui plus de 3 heures, auquel cas on décale carrément à la nuit du lendemain (22h), par contre on décale pas si la couleur de la veille était plus chère parce que y’a déjà eu décalage… :slight_smile:)

Idem pour la couleur du jour Tempo : j’ai beaucoup de mal à bien comprendre l’architecture de tous les scripts php que vous avez codés dans votre appli. Du coup impossible de glisser des variables supplémentaires, impossible de savoir où et comment les déclarer, impossible de savoir dans quel script les utiliser et de quelle manière… Et là non plus je ne vais pas vous solliciter à chaque fois que j’aurai une idée comme la couleur du jour Tempo.
Pour le code php qui la récupère, c’est ici : TEMPO : donner la couleur du jour à l'IPX il est bien évidemment adaptable pour avoir la couleur du lendemain, également annoncée par EDF sur son site au même endroit. Vous pouvez bien sûr l’intégrer dans votre appli.

En résumé, je ne sais pas si je vais réinstaller votre appli sur mon NAS, car il est maintenant « en production » pour plusieurs choses, notamment 2 sites web publiques que je n’ai absolument pas envie de rendre inaccessibles du fait d’un plantage ou d’une mauvaise manip de ma part. Du coup pas facile de bidouiller et de tester les graphiques, les scénarios et tout ça.

En tout cas merci encore pour votre aide. :slight_smile:

Pour ce qui est du graph de type calendrier, peux-tu me faire un tiquet plus détaillé en demande d’amélioration sur https://sourceforge.net/p/multicardipx800/tickets/new/ avec par exemple une copie d’écran car je pense que ça peut intéresser d’autres personnes.

Pour avoir la date/heure au format humain, il faut faire un SELECT FROM_UNIXTIME(time) FROM …
J’ai créé une page spécifique dans l’aide qui pourra servir à d’autres.
https://sourceforge.net/p/multicardipx800/wiki/Comment%20avoir%20l’information%20de%20date%20dans%20les%20tables%20%3F/

C’est compliqué, mais c’est faisable.
Il faut raisonner comme suit :
J’ai besoin des informations suivantes en variable :
Nb heure de fonctionnement du chauffe eau.
Heure de démarrage du chauffe eau.
Couleur du jour.
Couleur du lendemain.
Couleur de la veille.
A 6h00 :
si « Couleur du jour » > « Couleur du lendemain »
SI « Nb heure » < 3
DemarreChauffeeau;
Sinon
ArrêtChauffeeau;
fin
A 22h :

En fait, l’appli intégre maintenant des variables personnalisables. Il faut donc y accéder en incluant quelques scripts de l’application. Je n’avais pas vu ce cas. Je vais donc faire une doc pour expliquer comment le faire.

Tu peux si tu veux l’installer sur un site Web hébergé chez ton provider.

Dans tous les cas, tes remarques, demandes d’amélioration, demande d’aide ne nous embête pas. Celà permet d’améliorer le projet. L’objectif est de faire quelque chose de simple d’utilisation. Si quelque chose est trop compliqué (nous ne le voyons pas toujours « la tête dans le guidon »), mais nous pouvons l’améliorer pour le rendre plus simple ou le documenter.

Effectivement je n’avais même pas pensé à l’installer sur un serveur externe (en plus j’en ai un chez … ça tient en 3 lettres). C’est parce qu’à l’époque vous aviez encore l’enregistrement en base mySQL quasi-permanent. :wink:
J’essaierai donc de réinstaller votre dernière release prochainement, et vous tiendrai au courant des soucis rencontrés et d’éventuels besoins en variables supplémentaires non gérées par l’IPX.
Merci encore.