Aller au contenu

Messages recommandés

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
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Posté(e)

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) (modifié)

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) (modifié)


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)

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)

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)

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) (modifié)

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)

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)

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…

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