Récupération données IPX800 V4 sur NAS Synology

Bonjour,

Nouveau dans votre univers, je viens d’installer une carte IPX800 V4. Je l’ai testée avec des compteurs électriques de passage SGS 45A (sur ma production photovoltaïques) , la sonde lumière/température/Humidité (SHT X3) et finalement testé les sorties relais sur des télérupteurs qui commandent l’éclairage dans ma maison. Tout cela était assez simple et fonctionne très bien.
J’ai pu tester des scénarios et l’envoi de mail sur messagerie GMail. Ça fonctionne parfaitement. J’ai également accès à mon IPX depuis l’extérieur avec l’utilisation d’un Dyn DNS.

Je souhaite maintenant aller un peu plus loin et enregistrer mes données (afin de pouvoir faire des statistiques sur ma production énergétique).
Sur mon réseau domestique j’ai également un NAS Synology.
Étant novice en la matière, quelqu’un pourrait il m’aider et me dire comment procéder pour envoyer les informations sur mon NAS (je suppose qu’il s’agit des notifications push sur l’IPX) et surtout comment récupérer ces infos sur le NAS (que faut il installer, …).
Il est probable que ce sujet ait déjà été traité, mais je n’ai pas encore trouvé où …

Merci pour votre aide !

Laurent.

Bonjour,

Effectivement, il faut faire un push.
Je ne connait pas les NAS, par contre vous pouvez utiliser le serveur « Notifix.fr » mis à dispo. pour ce produit.
Il suffit de s’inscrire sur ce site et vous pouvez y enregistrer 12 capteurs et les informations de vos 2 compteurs électriques.

Cordialement.

Bonjour TRABAX,

J’ai bien reçu ton MP, mais impossible d’y répondre. Je réponds alors ici.
Message :
Par contre pourriez vous m’aider pour l’accès à distance de l’IPX800 en Dydns.
Actuellement j’utilise No-ip, avec un nom de host+adresse ip de l’équipement. Je ne souhaite pas utiliser le port.
J’ai une Box SFR avec une adresse non fixe.
J’ai configurer l’équipement et le service dydns, cela ne fonctionne pas.
Je ne suis pas chez SFR et n’utilise pas non plus no-ip.
Dans mon cas, J’ai configuré ma box (Proximus en Belgique) pour qu’elle envoie mon adresse ip sur le serveur Dyn DNS. Je n’ai par contre pas configuré mon IPX800V4.
Ensuite, toujours sur ma box, j’effectue un mappage de port qui envoie ma requête externe (monnom.dyndns.org:85 par exemple) vers l’adresse fixe de mon IPX800V4 (192.168.1.150, port 80 par exemple). J’ai pour cela défini une adresse fixe (192.168.1.150 par exemple) sur mon IPX. L’adresse choisie ne faisant pas partie du range d’adresses attribuées automatiquement par le serveur DHCP de ma box.
Voilà, j’espère que j’ai pu t’aider …
Laurent

Bonjour LaurentC,

J’ai également un NAS, et j’ai fait quelques tests.
Il y a 2 solutions:

soit tu effectue un Push vers le Nas, avec un lien du style:
192.168…/recup_info.php?commande=SetR&response=5
tu n’as ensuite plus qu’a créé le fichier php qui enregistrera tout ca dans une bdd (pas encore testé).

Oubien tu crée un fichier qui va lire puis mettre a jour une base de donnée
(cron: tu planifie l’éxécution d’un fichier toutes les x minutes).

Voilà a quoi peut ressembler un fichier permettant de lire le fichier xml de l’ipx, lire l’état des 8 premiers
relais, puis de l’enregistrer dans une base de données:
(biensur il ne fonctionnera pas « tel quel », mais avec de toutes petites modifs, tu
devrai pouvoir l’adapter, il faut connaitre un peu le php et créer une bdd.
Pour le moment je ne fais que des tests, ce fichier n’est pas définitif):

<?
// ADRESSE IPX
$IPXIP = "http://192.168.1.90";

// nombres de relais utilisé
$nombre_relais = 7; // attention la numerotation des relais commence a 0 

// SERVEUR SQL
$sql_serveur="localhost";

// LOGIN SQL
$sql_user="domotique";

// MOT DE PASSE SQL
$sql_passwd="password";

// NOM DE LA BASE DE DONNEES
$bdd="domotique";

$xml = simplexml_load_file("$IPXIP/user/status.xml");
$conn = mysqli_connect($sql_serveur, $sql_user, $sql_passwd, $bdd);
if (!$conn) { die("Connection failed: " . mysqli_connect_error());}
$i = 0;
while($i<$nombre_relais)
			{
			$led = "led$i"; // Attention la numerotation des relais commence a 0
			$xml_led = (string)$xml->$led;
			$i++;
			$sql = "UPDATE relais SET relais='$xml_led' WHERE id='$i'";
			mysqli_query($conn, $sql);
			}
mysqli_close($conn);
?>

Attention a notifix : vous utilisez un serveur externe (avec un Nas c’est dommage): vous devenez
dépendant de la ligne adsl, du serveur ou est hébergé notifix, des éventuelles mise a jour de notifix…

Si ca peut servir a quelqu’un :slight_smile:

2 J'aimes

bonjour LaurentC,

Je vous ai répondu en mp.marc :wink:

Bonjour Thierry15, merci pour ces informations, je viens d’acquérir un NAS Synology, mais j’ai besoin de détails plus « triviaux » …:sweat:
Concernant la première solution
°Delay 2
°Serveur: IP du NAS Port 80 Login user:pass Enable cochée
°Path /recup_info.php?commande=SetR&response=5
° Time interval 10
_Je ne vois aucun fichier se créer sur mon serveur…
Concernant la seconde solution:

  1. Ce script est’il du php, je ne vois pas les bornes <?php ... ?>
  2. Je souhaite récupérer le statut.xml seulement (sans l’envoyer directement dans une BDD), puis-je utiliser votre script en éliminant tout ce qui se rapporte à la BDD?
  3. L’accès de mon IPX800 V3 est protégé par user/mdp, comment l’appréhender dans ce script?

Cordialement
Patrick

Bonjour

@Pat
ce post était intitulé IPX V4. :wink:

pour une IPX V3 sur Synology, vous pouvez installer le paquet Serveur multicartes IPX800.
Ce paquet créera la base automatiquement. Il peut même paramétrer les push sur l’ipx.
*

  • Pour l’installer, Il faut ajouter la source de paquets suivante dans les paramètres du gestionnaire de paquets :
    http://www.cphub.net

voici une capture des sources d’un Syno. Vous y verrez CpHub :

2 J'aimes

Bonjour @fgtoul et merci pour ce cadeau de Noël. Je suis en cours d’installation.

Oui il s’agit de l’IPX800 V3, dès que mon installation fonctionne j’irai créer un post sous l’intitulé « Récupération de données IPX800 V3 sur NAS Synology ».
Merci encore
Cordialement
Patrick

1 J'aime

Bonjour Pat,
A la base cet extrait (en php: <? = <?php ), est bien prévu pour la v4.
Il est adaptable pour la v3 simplement en remplacent:

« $IPXIP/user/status.xml »

par

« $IPXIP/status.xml »

(n’ayant pas la v3, je ne peux pas le tester).

L’extrait cité plus haut se contente de lire l’état des relais de l’ipx, il est donc loin d’être suffisant
pour avoir un quelconque intêret. Il faut ensuite traiter les infos, générer des graphiques…

Si vous souhaitez un système tout prêt, alors la solution de @fgtoul est sans doute plus adaptée.

Cdt

Bonjour @fgtoul, je me suis lancé donc dans cette voie.
Je n’arrive pas cependant à dépasser le chargement de /synilogy_ip/multicardipx800/install.php: voici les messages d’erreur:

  • « Warning: session_name(): session.name cannot be a numeric or empty ‹  › in /volume1/web/multicardipx800/install.php on line 7 »
    il faut peut être créer une session_name?

  • Le dossier config n’est pas accessible en écriture./Le dossier trace n’est pas accessible en écriture./Le dossier captures n’est pas accessible en écriture.
    Pourtant sous putty je vois « drwxrwxrwx+ » sur ces répertoires en étant admin?

Cordialement
Patrick

Merci @Thierry15, je vais tenter ce « multicardipx800 ».
Je vais tester votre solution, mais je pense être bloqué par login/mot-de-passe que j’impose sur l’accès IPX.
Cordialement
Patrick

Bonjour,
de mémoire, ayant installé ce paquet il y a plusieurs années sur un autre DSM:
Il faut installer au préalable PhpMyAdmin
Lancer PhpMyAdmin pour faire l’initialisation.Il faut se connecter en Root.
Le mot de passe est le même que Admin

Station Web doit être installé et actif.
Maria DB installé et actif.

Si vos soucis persistent, il faut voir sur leur forum, ou bien vous pouvez notifier les développeurs sur ce forum ("@"guenneguez_t ) ce que je ne fais pas.
cdt

Bonjour,

Pour ma part, j’ai mis en place une api sur mon Synology ( ficher php) qui permet de faire des insert en base de données.
ensuite j’utilise l’astuce du clignotement d’un relais (ou d’une sortie virtuelle).
Ce clignotement est ensuite utilisé dans une scène pour faire des push vers l’api de mon synology. Ainsi je récupère à interval de temps régulier toutes les valeurs que j’ai besoin dans ma base de données.

Bonjour,
Pour la premiere solution: Push vers le Nas

Auriez vous des instructions plus précises sur ce qu’il y a lieu de faire?

Sur l’ipx: je suppose que l on entre l’ip locale du nas 192.168…
Quel port doit on utilizer? 80 est celui de mon IPX…
Login?
enable?
Push 1: est ce la que l’on doit mettre: /recup_info.php?commande=SetR&response=5
Push 2?
Ou met on toutes les combine de minute l’IPX envoie l’info au Nas?

-comment creer sur le nas un fichier PHP qui enregistre dans une base de donnee et ensuite comment la lire?
De quoi a t on besoin sur le Nas comme application (j ai un Synology) et comment la / les parametrer?

Par avance merci,
J

Bonsoir joderic,

A la lecture de vos interrogations il me semble utile de repositionner les architectures possibles. Je pense que cela devrait vous permettre de clarifier vos questions.

Push de l’IPX vers un serveur

Paramètres du push
Dans cette configuration, l’IPX envoie un signal vers un serveur (qui peut être hébergé sur un NAS). La nature de ce signal (POST, PUSH, UDP) et l’information attendue sont intégralement définis par le serveur. Il n’existe donc pas de réponse toute faite sur le port du serveur, le login / password, la forme de l’URL,… puisque toutes ces informations dépendent du serveur. A noter que si le développement d’un serveur sur un NAS n’est pas complexe il réclame cependant des compétences de développeur (surtout si le NAS est accessible depuis internet).

Fréquence du push
Les interrogations autour de la fréquence des push peuvent elles avoir des réponses génériques :

  • Si le push doit intervenir suite à un événement (fermeture d’un relai, entrée digitale branchée sur un contact sec, …) il n’y a aucune question à se poser : seul l’IPX peut initier le dialogue avec le serveur.

  • Si le push doit intervenir à intervalles réguliers et qu’on n’a pas la main sur le serveur (notifix.fr proposé par GCE par exemple), la mécanique de clignotant est une bonne solution. Si par contre le serveur est un développement personnel, le push ne me semble pas adapté et le pull me semble préférable.

Pull depuis le serveur NAS
Les techniques à mettre en oeuvre sont plus simples, même si elles réclament des connaissances informatiques. Par exemple :

  • un planificateur de tâches (CRON sous Synology)
  • un moyen d’exploiter les API de l’IPX (curl)
  • un script pour décrypter le résultat et intégrer les données dans la base de données.

Ces 2 derniers points peuvent être confondus, comme dans le cas du fragment de code PHP proposé par Thierry15.

Cordialement,

4 J'aimes

Merci Teebex pour la reponse.
A vrai dire je n’ai pas de connaissances informatique suffisante… N’y aurait il pas un tuto pas a pas pour pouvoir realizer cela (en partant de 0)?
Mon Nas est sur le meme reseau local que l’IPX et je pense que la solution Push me va tout a fait. (enregistrement des changements d’états dans une base de donnee lorsque ceux ci changent, + enregistrement des valeurs analogiques (lorsque qu il y a changement d’état de l’entree impulsion compteur electrique par exemple…). J’ai juste besoin d’un sorte de log que je puisse consulter pour comprendre ce qui c’est passé a tel ou tel moment et voir l’evolution des valeurs analogiques au cours du temps.

Par avance merci.
Cordialement,
J

PS: J’ai deja Notifix, c’est bien mais je n’arrive pas a avoir un graphe mensuel ou annuel par exemple pour les temperature (uniquement journalier pour chaque jour) et je suis limite quand au nombre de donnees que je peux enregistrer…

Bonsoir Joderic,

Je pense que le Web regorge d’exemples de serveurs d’API en PHP (langage accessible et présent dans les paquets DSM) et d’intégration de données dans une base MySQL (MariaDB, fork de MySQL, est dispo sous DSM également).
Pour interroger la base, il existe de nombreux clients libres, là aussi Google est notre ami (j’utilise Toad sous OSX).

Je ne développe pas en PHP, je n’ai donc pas de tuto à préconiser :unamused:.

Bon courage. C’est un bon projet pour découvrir le monde du développement. Il faut juste prévoir un bon budget temps.

Cordialement,

2 J'aimes

Bonjour Teebex,

C’est tout a fait exact, le problème c’est le temps !
je développe en PHP depuis des années mais malheureusement je n’ai pas
le temps de m’occuper de mes propres projets.

@joderic, bonjour
Il n’y a pas longtemps j’ai développé un script sympa: il se connecte à l’ipx (xml) régulièrement (cron), enregistre les données souhaitées dans un simple fichier, puis crée le graph correspondant qui peut être affiché sur l’interface de l’ipx.
Ca pourrai vous convenir ?

Je n’aurai malheureusement pas bcp de temps a vous consacrer… mais si ce que j’ai déjà fait peut aider :slight_smile:

Cdt

Bonjour Thierry,
J’étais à l’origine du post, n’ai toujours pas trouvé de solution à mon problème. Si tu as ce script sympa dont tu parles, ça m’intéresse !

Si je pouvais déjà juste consolider les infos à intervalle régulier dans un fichier Excel, ensuite analyser ces données n’est pas très compliqué …

Merci de ton aide !
Laurent.

Bonsoir,

je suis preneur également, sur un serveur QNAP

merci
:slight_smile: