Aller au contenu

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


mikael2235

Messages recommandés

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).

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 308
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites


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
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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).

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

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.