Aller au contenu

Lancement Xpl-Hub, Xpl-Rfxcom-Rx, Xpl-Logger

Featured Replies

Posté(e)

Après, si tu n'as que 40 enregistrements, c'est peut être normal avec une sonde. Vu qu'on n'enregistre que lorsque la valeur change, si tu n'as qu'une sonde de température et que la température est totalement fixe pendant 1h, tu n'auras qu'un seul enregistrement sur cette période.

Pour savoir s'il y a vraiment un problème, tu peux regarder la colonne "timestamp_detection" dans la table capteurs, colonne qui logge la dernière détection du capteur (qu'il y ait enregistrement de valeur (de température/vent...) ou non). Cela permet de constater depuis quand un capteur ne diffuse plus d'informations.

donc ça veut dire que quand je rédemarre mon syno, je dois quand même taper

./S99xpldaemon start[/CODE]

pour faire démarrer le script

Oui, mais au prochain reboot, vu que c'est dans le /opt/etc/init.d, cela démarrera automatiquement (cf pages Wiki de Patrick).

  • Réponses 308
  • Vues 59.6 k
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Posté(e)
  • Auteur

J'ai regardé dans "timestamp_detection", mais la BDD n'a pas enregistré de connection, parce que il ne se lance pas au démarrage de mon syno.

dans le répertoire /opt/etc/init.d/ quand je fais


./S99xpldaemon start

Il met :

./S99xpldaemon: not found

alors qu'il est bien dans le repertoire. J'ai essayé en mettant une extension .sh mais ça ne change rien. Par contre quand je fais

Synology> sh S99xpldaemon start

Cela fonctionne, il me lance xpl-hub et xpl-mysql-logger.

Posté(e)

Bonjour à vous,

Je me lance dans le test, mais une question me turlupine, vaut-il mieux que je passe mon rfxcom en xPL ou que je le laisse en version lan ?

Avez-vous des avis sur cette question ?

Jean-François

Posté(e)
  • Auteur

Est-il executable ?

Encore une question con que je vais poser :

Comment savoir si il est éxecutable ?

Est-ce dans les propriétés R W X ? pour ce fichier tout est coché (9 cases)

Modifié par mikael2235

Posté(e)
ll /opt/etc/init.d/

drwxr-xr-x	2 root 	root      	4096 Sep 14 18:36 .

drwxr-xr-x	5 root 	root      	4096 Jan 11  2011 ..

lrwxrwxrwx	1 root 	root        	30 Aug 27 18:22 K70mysqld -> ../../share/mysql/mysql.server

lrwxrwxrwx	1 root 	root        	30 Aug 27 18:22 S70mysqld -> ../../share/mysql/mysql.server

-rwxrwxrwx	1 admin	users      	795 Sep 18 17:08 S99xpldaemon

Posté(e)

Pour voir s'il est exécutable tu vas dans le répertoire et tu tape

ll
et tu devrais avoir une réponse du genre
-rwxr-xr-x	1 root 	root      	1412 Jul 31 15:01 S99xpldaemon[/code]

Si tu as un "x" à la fin des propriétés c'est qu'ilest exécutable

Patrick

Posté(e)
  • Auteur


Synology> ll /opt/etc/init.d/

drwxr-xr-x	2 root 	root      	4096 Sep 18 17:09 .

drwxr-xr-x	4 root 	root      	4096 Sep 14 22:47 ..

lrwxrwxrwx	1 root 	root        	30 Sep 14 22:47 K70mysqld -> ../../share/mysql/mysql.server

lrwxrwxrwx	1 root 	root        	30 Sep 14 22:47 S70mysqld -> ../../share/mysql/mysql.server

-rwxrwxrwx   1 root 	root   		853 Sep 18 16:09 S99xpldaemon

Tu veux parler du dernier x ?

Modifié par mikael2235

Posté(e)
  • Auteur

Quel est la différence entre les répertoires suivants ?

- /opt/etc/init.d/

- /usr/syno/etc/rc.d/

J'ai bien le shebang au début de mon fichier.

Pour être sur, J'ai fait un

chmod 777 S99xpldaemon[/CODE]

Posté(e)

Les deux répertoires contiennent des fichiers de démarrage dans /usr/.. tu as les fichiers standards du firmware et dans /opt/... ceux qui viennent de la partie IPKG. Si tu veux que tes fichiers ne soient pas écrasés lors de la mise à jour du firmware il faudra les mettre dans /opt/etc/init.d

Patrick

Posté(e)
  • Auteur

J'ai ouvert un nouveau topic dans une catégorie plus adaptée.

Posté(e)

Bonsoir Messieurs,

J'essaye le script à DjMomo et il me retourne cette erreur eu lancement :

DS1010> xpl-mysql-logger -i eth0 -v &

DS1010> install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /opt/lib/perl5/5.10.0/i686-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/i686-linux /opt/lib/perl5/site_perl/5.10.0 /opt/lib/perl5/site_perl .) at (eval 9) line 3.

Perhaps the DBD::mysql perl module hasn't been fully installed,

or perhaps the capitalisation of 'mysql' isn't right.

Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.

at /opt/bin/xpl-mysql-logger line 48

Je n'vais pas cette erreur avec le script de Patrick, mais il n'inserais rien dans la BDD.

Auriez-vous une idée d'ou cela pourrais provenir ?

Merci

Jean-François

Posté(e)

Il semble apparemment que mysql soit mal installé (cf message d'erreur).

Voir le post (n°91 du présent topic) pour certainement solutionner le problème.

------------------------------------------------------------------------------------------------------

Sinon, il y a une optimisation du fichier (je l'ai pas remis dans le zip).

Remplacer (ligne 61) :

my @tab_releves = get_last_releves();
par
my @tab_releves = ();

Cela corrige un problème de surcharge CPU au lancement lorsque la base commence à avoir des données (plus de 1500 mesures).

Posté(e)

Bonjour

ça marche d'enfer ! Merci à vous pour toute cette aide précieuse.

Question subsidiaire, vous utilisez quoi pour grapher toutes ces données ?

Posté(e)

Perso, je teste amcharts pour l'instant. Faut voir si je trouve autre chose....

Posté(e)
  • Auteur

Je vais aussi tester amCharts, c'est ce que Patrick utilise et le design est plutôt sympa.

@DjMomo : J'ai réussi à faire tourner xpl-mysql-logger en tache de fond avec "screen", car autrement impossible avec la commande du tuto de Patrick.

Comment as-tu fait toi ?

J'ai encore une proposition d'amélioration pour l'histoire du capteur d'ouverture. Mais ça te fera peut-être trop de modif.

Je te poste ça d'ici 10 minutes.

Posté(e)

Alors chez moi le lancement fonctionne bien sur mon DS107+ et sur mon USBstation. As tu regardé ma remarque : avec quoi as tu édité ton fichier .S99xpldaemon ? y a-t-il des retour à la ligne à la windows dedans ou pas ?

Patrick

Posté(e)
  • Auteur

Pour faire suite à mon message d'hier (), il faut pour pouvoir visualiserle detail des messages pour les capteurs d'ouvertures (par exemple), lancer xpl-logger en rajoutant l'option --body (cf forum xpl-project).

Voilà ce que j'obtiens dans les messages maintenant :

- pour le pilotage de recepteur via une telecommande


192.168.0.2:41601 [xpl-trig/x10.basic: rfxcom-lan.0004a31bb697 -> * - on D16]

x10.basic

{

command=on

device=D16

}

- pour le capteur d'ouverture :

192.168.0.2:41601 [xpl-trig/ac.basic: rfxcom-lan.0004a31bb697 -> *]

ac.basic

{

address=0x00d62c8

unit=9

command=on

}

192.168.0.2:41601 [xpl-trig/ac.basic: rfxcom-lan.0004a31bb697 -> *]

ac.basic

{

address=0x00d62c8

unit=9

command=off

}

-pour le capteur météo (dans mon cas THN132N) :

192.168.0.2:41601 [xpl-trig/sensor.basic: rfxcom-lan.0004a31bb697 -> * - temp2 0x2f01[temp]=19.5]

sensor.basic

{

device=temp2 0x2f01

type=temp

current=19.5

units=c

}

192.168.0.2:41601 [xpl-trig/sensor.basic: rfxcom-lan.0004a31bb697 -> * - temp2 0x2f01[battery]=100]

sensor.basic

{

device=temp2 0x2f01

type=battery

current=100

}

DjMomo, je ne sais comment tu as fait pour enregistrer dans la BDD les différents paramètres des messages xpl.

Est-ce que ceci serait éventuellement compatible avec ton fichier xpl-mysql-logger ? (et sans te faire trop de travail)

Avec ce détail, je vois maintenant l'unité pour ma température.

Cette nuit à 02h00 du mat, j'ai eu un nouveau capteur de type weight1, avec une adresse 0x0 ?

Qu'est-ce que cela peut-être ?

Merci.

Alors chez moi le lancement fonctionne bien sur mon DS107+ et sur mon USBstation. As tu regardé ma remarque : avec quoi as tu édité ton fichier .S99xpldaemon ? y a-t-il des retour à la ligne à la windows dedans ou pas ?

Patrick

Salut Patrick,

Non, je ne pense pas, je fais ça dans Notepad++

Modifié par mikael2235

Posté(e)

y a-t-il des retour à la ligne à la windows dedans ou pas ?

Pour les faire sauter (les "^M"), tout simplement :

perl -pi.bak -e "s/\r\n/\n/" toto.txt

Un fichier toto.bak sera créé avant la modification du fichier original.wink.png

Mickael, le code de ta sonde météo est le même que celui de ton capteur d'ouverture, c'est pas normal.

Posté(e)
  • Auteur

J'ai édité mon précedent post, une erreur de copier/coller ! happy.png

Posté(e)
  • Auteur

Salut,

Pour générer les graphiques, Patrick a une valeur tous les 15 minutes.

Dans mon cas, cette nuit la température n'a pas changé depuis 04h40, donc je n'ai pas de valeurs depuis cette heure.

@DjMomo : Serait-il possible dans ton fichier xpl-mysql-logger, de lui indiquer un intervalle de temps pour enregistrer les datas dans BDD ? 1 data toutes les 10 ou 15 min comme Patrick, ce qui permettrait de réduire le nombre de données dans la BDD car en 1 journée hier je suis arrivée à 320.

Mikael

Posté(e)

Salut,

Je t'ai devancé, j'ai modifié mon fichier hier pour forcer l'enregistrement d'une valeur toutes les heures. Mais je l'ai pas posté.

Pour résumer, mon fichier enregistre une valeur lorsqu'elle change, ou alors à l'heure ronde HH:00.

Tu en déduis après lors de la création de ton graphique qu'à tel instant (si tu choisis toutes les 15 mn), si la valeur n'existe pas dans la table, c'est qu'elle vaut la valeur précédente de cette même table.

Posté(e)
  • Auteur

Ah ok parfait,

Tu en déduis après lors de la création de ton graphique qu'à tel instant (si tu choisis toutes les 15 mn), si la valeur n'existe pas dans la table, c'est qu'elle vaut la valeur précédente de cette même table.

Comment tu veux faire pour ça ? La requete dans la BDD prends les valeurs et le graphique est généré directement.

Posté(e)

En fait tu peux faire ca dans le script PHP qui extrait les valeurs de la base de donnée et qui génère les données pour le graphique amChart

Sinon voici quelques idées que j'ai mises en oeuvre dans mon cas. Je précise pour chaque capteur le temps minimum qu'il doit respecter entre deux captures (et pas de capture si données identiques bien sur) car certaines valeurs physiques changent lentement comme la température et la hauteur de pluie alors que d'autres changent vite comme le vent ou la consommation de courant. Cela permet de différentier les captures et ne pas encombrer la base de donnée. Ensuite pour faciliter le tracé des graphiques je force l'enregistrement de la première valeur de chaque capteur au début de chaque jour, quelle soit différente ou pas de la précédente

Ensuite je traite la comparaison de la valeur courante/précédente directement dans perl pour limiter les accès à la BDD

Patrick

Posté(e)

Pour le graphique amcharts, je génère un csv avec toutes les valeurs de la journée.

Le graphique vient lire le csv, et non directement la table.

C'est comme ca pour les graphiques amcharts. Tu lis un xml ou csv de données, pas directement une table.

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.