NAS - Linknx/MYSQL - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8) +--- Sujet : NAS - Linknx/MYSQL (/showthread.php?tid=1178) Pages :
1
2
|
NAS - Linknx/MYSQL - Chrystof - 13/04/2010 Bonjour, J'utilise depuis un moment MYSQL (Sur un QNAP TS-119) pour mettre mes logs des températures, luminosité, vent,etc... Chaque 5 minutes, un script enregistre directement dans MYSQL la dernière donnée que EIBD à dans son cache. Cela fonctionne très bien et je suis à plus de 100'000 enregistrement. J'aimerai maintenant réaliser un log de tout les événements, et je ne peux pas utiliser le même système, car si je prend les log d'ouverture pour une porte, celle là peut être ouverte et fermée plusieurs fois en 5 minutes. Il me faut donc un système qui enregistre directement l'information dans MYSQL. Quelqu'un à t'il un script ou une idée qui permet de réaliser cela ?! Merci de votre aide. Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - marc.assin - 13/04/2010 On 13 avr, 13:05, Chrystof <i...@accessnight.ch> wrote: > Quelqu'un à t'il un script ou une idée qui permet de réaliser cela ?! Un script, non; une idée, p'têt bien ... Perso, j'emploie un système infiniment moins sophistiqué, pour les log Sur le fond du problème: N'oublies pas que KNX est "event driven" et donc, dans mon cas, j'enregistre uniquement les changements d'état, çàd que je pourrais très bien avoir 3 changements d'état endéans la minute (et les enregistrer comme tels) et au coup d'aprés 2 changements sur le semaine. Il me semble que ton approche est plustôt du genre "poll", interrogation à intervalles fixes. J'emploie cette approche pour l'enregistrement des températures (où le changement d'état n'a pas de sens) -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 13/04/2010 > J'emploie cette approche pour > l'enregistrement des températures (où le changement d'état n'a pas de > sens) J'utilise également ceci pour mes températures (toutes le 2 minutes) et en regardant les données je me suis rendu compte que souvent plusieurs mesures à la suite sont identique et je pensais donc uniquement attendre un changement de température pour la sauvegarder dans le but d'économiser un peu d'espace dans la base de donnée. Pourquoi penses tu que l'enregistrement des températures n'a pas de sens dans ce cas? -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 13/04/2010 Peux-tu partager ton script qui cherche directement la valeur dans eibd, car moi j'utilise en plus Linknx. Si je peux économiser une couche logiciel pour mes stats ce serait cool. On 13 avr, 13:05, Chrystof <i...@accessnight.ch> wrote: > Bonjour, > > J'utilise depuis un moment MYSQL (Sur un QNAP TS-119) pour mettre mes > logs des températures, luminosité, vent,etc... Chaque 5 minutes, un > script enregistre directement dans MYSQL la dernière donnée que EIBD à > dans son cache. Cela fonctionne très bien et je suis à plus de 100'000 > enregistrement. > > J'aimerai maintenant réaliser un log de tout les événements, et je ne > peux pas utiliser le même système, car si je prend les log d'ouverture > pour une porte, celle là peut être ouverte et fermée plusieurs fois en > 5 minutes. Il me faut donc un système qui enregistre directement > l'information dans MYSQL. > > Quelqu'un à t'il un script ou une idée qui permet de réaliser cela ?! > > Merci de votre aide. > > Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - Yannick JUPIN - 13/04/2010 Dans le fichier d' config XML de linknx il est possible de specifier tes paramètres mysql qui logguera les changements d' état J ai pas encore teste mais a priori c est une fonctionnalité operationelle Cordialement, Yannick Le 13 avr. 2010 à 13:05, Chrystof <info@accessnight.ch> a écrit : > Bonjour, > > J'utilise depuis un moment MYSQL (Sur un QNAP TS-119) pour mettre mes > logs des températures, luminosité, vent,etc... Chaque 5 minutes, un > script enregistre directement dans MYSQL la dernière donnée que EIBD > à > dans son cache. Cela fonctionne très bien et je suis à plus de 100'0 > 00 > enregistrement. > > J'aimerai maintenant réaliser un log de tout les événements, et je > ne > peux pas utiliser le même système, car si je prend les log d'ouvertu > re > pour une porte, celle là peut être ouverte et fermée plusieurs > fois en > 5 minutes. Il me faut donc un système qui enregistre directement > l'information dans MYSQL. > > Quelqu'un à t'il un script ou une idée qui permet de réaliser cela > ?! > > Merci de votre aide. > > Chrystof > > > > -- > To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - Chrisophe Bruchez - 13/04/2010 > Dans le fichier d' config XML de linknx il est possible de specifier tes paramètres mysql qui logguera les changements d' état > J ai pas encore teste mais a priori c est une fonctionnalité operationelle Non, cela ne fonctionne malheureusement pas. Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - marc.assin - 13/04/2010 @kraven >Pourquoi penses tu que l'enregistrement des températures n'a pas de sens dans ce cas? Bof, une idée comme çà, rien de bien précis en fait, si ce n'est que si tu veux faire un diagramme de l'évolution des températures dans le temps, c'est mieux d'avoir une échelle linéaire, non ? En fait tout dépend de ton application (perso, j'enregistre les températures extérieures toutes les heures dans un buffer circulaire de 500 entry. Par contre, si tu veux monitorer la régulation en tepérature (d'un four par exemple), çà a tout son sens d'enregistrer les variations tels qu'elles se produisent. @kraven >Peux-tu partager ton script Nan ! je le garde pour moi tout seul :-) (en fait, je n'ai pas de script :-)) c'est une fonction inclus dans l'usine à gaz) Je voulais attirer ton attention sur le fait du "event driven" par opposition au polling. Il y a peut-être lieu de creuser un peu dans cette direction, cfr le post de Yannick ) -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - Yannick JUPIN - 13/04/2010 Dommage je comptais l utiliser prochainement C est un bug ??? Peut être serat-il corrige dans une future version Cordialement, Yannick Le 13 avr. 2010 à 13:48, "Chrisophe Bruchez" <info@accessnight.ch> a écrit : > >> Dans le fichier d' config XML de linknx il est possible de >> specifier tes paramètres mysql qui logguera les changements d' é >> tat >> J ai pas encore teste mais a priori c est une fonctionnalité opera >> tionelle > > Non, cela ne fonctionne malheureusement pas. > > Chrystof > > > > -- > To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 13/04/2010 > Bof, une idée comme çà, rien de bien précis en fait, si ce n'est que > si tu veux faire un diagramme de l'évolution des températures dans le > temps, c'est mieux d'avoir une échelle linéaire, non ? Effectivement, mais je pensais pondre un petit algorithme pas trop compliqué pour justement que ce soit linéaire à l'affichage. > @kraven>Peux-tu partager ton script > > Nan ! je le garde pour moi tout seul :-) > > (en fait, je n'ai pas de script :-)) c'est une fonction inclus dans > l'usine à gaz) J'hésite de plus en plus à investir dans cette usine à gaz pour ne plus avoir à bidouiller ce genre de fonction mais j'attendai la sortie de Lifedomus pour comparer et me décider. -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 13/04/2010 Bonjour, Le support de mysql directement dans linknx fonctionne mais je ne l'inclus pas dans les binaires que je compile car cela obligerait tous ceux qui veulent l'utiliser à installer mysql. Je l'ai tenté dans le passé et j'ai reçu en retour pas mal de problèmes et d'incompatibilités donc j'ai laissé tomber. On en a déjà discuté ici: http://groups.google.com/group/domotique-eib/browse_thread/thread/692dfbd2a945c099/6c467d94a2d048fd?#6c467d94a2d048fd J'aimerais trouver une autre solution qui n'imposerait pas de dépendances à des librairies extérieures, voir même qui ne serait pas spécifique à MySQL. Pourquoi pas à base de script (php, perl, python, ... peu importe. Le tout est de décider ce que le script doit recevoir de la part de linknx. Et c'est là que ça se complique. Certains diront sans aucune hésitation "les adresses de groupe et les valeurs", mais j'y vois 2 inconvénients. Premièrement, les adresses de groupe sont des concepts relatifs aux couches inférieures du protocole KNX (couche de liaison je pense). L'interface avec la couche applicative se fait via des objets de communications, pas des adresses de groupe. Et dans certains cas, la valeur reçue sur une adresse de groupe prise séparément n'a aucun sens, seul la combinaison des informations reçues sur plusieures addresses de groupe qui à du sens (adresse de commande, adresse de status feedback, adresses de commandes globales du style "all off") La seconde raison, qui est un peu une conséquence de la première, c'est qu'au moment où linknx décode la valeur binaire, il ne sais déjà plus par quelle adresse de groupe elle est arrivée, il sait juste à quel objet de communication elle est associée. Donc linknx pourrait fournir pour chaque "événement" l'ID de l'objet concerné et la nouvelle valeur. Mais que doit il se passer si une valeur est reçue sur le bus et que l'objet dans linknx a déjà cette même valeur? L'événement doit il être transmis au script de logging ou pas? A première vue, je pense que dans le cas d'objet "stateless" il devrait être transmis mais pas dans le cas des objets normaux. Un autre aspect est de savoir si on veut recevoir les eévénements pour tous les objets ou seulement pour certains objets (sélectionnables par config). Jean-François On 13 avr, 14:22, kraven <ohl.christo...@gmail.com> wrote: > > Bof, une idée comme çà, rien de bien précis en fait, si ce n'est que > > si tu veux faire un diagramme de l'évolution des températures dans le > > temps, c'est mieux d'avoir une échelle linéaire, non ? > > Effectivement, mais je pensais pondre un petit algorithme pas trop > compliqué pour justement que ce soit linéaire à l'affichage. > > > @kraven>Peux-tu partager ton script > > > Nan ! je le garde pour moi tout seul :-) > > > (en fait, je n'ai pas de script :-)) c'est une fonction inclus dans > > l'usine à gaz) > > J'hésite de plus en plus à investir dans cette usine à gaz pour ne > plus avoir à bidouiller ce genre de fonction mais j'attendai la sortie > de Lifedomus pour comparer et me décider. -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 13/04/2010 On 13 avr, 14:22, kraven <ohl.christo...@gmail.com> wrote: > > Bof, une idée comme çà, rien de bien précis en fait, si ce n'est que > > si tu veux faire un diagramme de l'évolution des températures dans le > > temps, c'est mieux d'avoir une échelle linéaire, non ? > > Effectivement, mais je pensais pondre un petit algorithme pas trop > compliqué pour justement que ce soit linéaire à l'affichage. J'utilise pour l'instant un outil qui trace les graphiques à partir des logs de eibd (similaire à ce que donne vbusmonitor) Donc j'ai uniquement les valeurs en cas de modification. La librairie graphique que j'utilise permet de tracer les courbes à partir d'une liste de point (heure, valeur) mais il existe (au moins) 2 manières différentes de faire. Soit on relie simplement les points par des lignes (interpolation linéaire), soit on considère que la valeur reste constante (ligne horizontale partant vers la droite jusqu'à l'heure du point suivant puis verticale pour atteindre la nouvelle valeur). Pour des températures réelles, l'interpolation donne mieux car la courbe semble plus lisse, plus naturelle, mais pour la consigne ça donne assez mal. Par exemple si ton thermostat reste pendant 8H sur "protection gel" ( = 6°) puis qu'il passe sur confort ( = 21° ), avec l'interpolation linéaire tu vas avoir une belle oblique qui ne correspond à rien en pratique. A moins que tu ne configure ton thermostat pour qu'il envoie la valeur de consigne à intervalle régulier sur le bus, mais je ne voit pas trop l'intérêt. Et même si c'est le cas, il faut encore que le système qui va écrire dans la DB ne "filtre" pas ces valeurs sous prétexte qu'elles sont identiques Jean-François -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 > J'utilise pour l'instant un outil qui trace les graphiques à partir > des logs de eibd (similaire à ce que donne vbusmonitor) Je vais regarder du coté de vbusmonitor. > Donc j'ai uniquement les valeurs en cas de modification. > La librairie graphique que j'utilise permet de tracer les courbes à > partir d'une liste de point (heure, valeur) mais il existe (au moins) > 2 manières différentes de faire. Elle a un petit nom ta bibliothèque graphique? Moi j'utilise XML/SWF Charts mais j'ai rien trouvé dedans qui lui permette de gérer le temps. > Soit on relie simplement les points par des lignes (interpolation > linéaire), soit on considère que la valeur reste constante (ligne > horizontale partant vers la droite jusqu'à l'heure du point suivant > puis verticale pour atteindre la nouvelle valeur). > Pour des températures réelles, l'interpolation donne mieux car la > courbe semble plus lisse, plus naturelle, mais pour la consigne ça > donne assez mal. Par exemple si ton thermostat reste pendant 8H sur > "protection gel" ( = 6°) puis qu'il passe sur confort ( = 21° ), avec > l'interpolation linéaire tu vas avoir une belle oblique qui ne > correspond à rien en pratique. Est-il possible avec ta bibliothèque graphique d'avoir une courbe de chaque sur le même graph? Ce serait pratique pour afficher la température réelle plus la consigne sur le même graph. -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - Laurent Breuillard - 14/04/2010 Sur mon réseau j'utilise RRDTool pour les graphique. http://www.google.fr/search?q=rrd+tool&ie=UTF-8&oe=UTF-8&hl=fr&client=safari Laurent Breuillard -- Envoyé de mon iPhone Le 14 avr. 2010 à 07:53, kraven <ohl.christophe@gmail.com> a écrit : >> J'utilise pour l'instant un outil qui trace les graphiques à partir >> des logs de eibd (similaire à ce que donne vbusmonitor) > > Je vais regarder du coté de vbusmonitor. > >> Donc j'ai uniquement les valeurs en cas de modification. >> La librairie graphique que j'utilise permet de tracer les courbes à >> partir d'une liste de point (heure, valeur) mais il existe (au moins) >> 2 manières différentes de faire. > > Elle a un petit nom ta bibliothèque graphique? Moi j'utilise XML/SWF > Charts mais j'ai rien trouvé dedans qui lui permette de gérer le > temps. > >> Soit on relie simplement les points par des lignes (interpolation >> linéaire), soit on considère que la valeur reste constante (ligne >> horizontale partant vers la droite jusqu'à l'heure du point suivant >> puis verticale pour atteindre la nouvelle valeur). >> Pour des températures réelles, l'interpolation donne mieux car la >> courbe semble plus lisse, plus naturelle, mais pour la consigne ça >> donne assez mal. Par exemple si ton thermostat reste pendant 8H sur >> "protection gel" ( = 6°) puis qu'il passe sur confort ( = 21° ), a >> vec >> l'interpolation linéaire tu vas avoir une belle oblique qui ne >> correspond à rien en pratique. > > Est-il possible avec ta bibliothèque graphique d'avoir une courbe de > chaque sur le même graph? Ce serait pratique pour afficher la > température réelle plus la consigne sur le même graph. > > > > -- > To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 > Sur mon réseau j'utilise RRDTool pour les graphique Merci et je pense que c'est de cet outil que parlait Jef2000 car il y a un article sur son site le concernant. -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 14/04/2010 J'utilise JPGraph en PHP ( http://www.aditus.nu/jpgraph/ ) Un exemple ici: http://www.bricozone.be/fr/showpost.php?p=247695&postcount=12 La courbe en rouge utilise l'interpolation et les autres utilisent des "step" > > Sur mon réseau j'utilise RRDTool pour les graphique > > Merci et je pense que c'est de cet outil que parlait Jef2000 car il y > a un article sur son site le concernant. RRDTool est utilisé par certains utilisateurs de linknx mais pas par moi. Ce qui me donne une bonne occasion de rappeler que tout un chacun est encouragé à enrichir le Wiki de ses expériences personnelles. NAS - Linknx/MYSQL - Chrystof - 14/04/2010 Bonjour, quelqu'un à t'il une solution pour enregistrer les activité sur le bus en direct ?!? Merci Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 > quelqu'un à t'il une solution pour enregistrer les activité sur le bus > en direct ?!? Je viens de faire un teste avec la fonction log de linknx et c'est pas mal. Par contre pas moyen de compiler log4cpp sur ma Debian. Quelqu'un la déjà fait? -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 14/04/2010 > Par contre pas moyen de compiler log4cpp sur ma Debian. Quelqu'un la > déjà fait? Non, pas sur Debian mais je ne vois pas pourquoi ce ne serait pas possible. C'est quoi le message d'erreur? -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 14/04/2010 C'est de ça qu'on parle non? Que veux tu dire par 'en direct'. Sans faire de polling? ou bien sans passer par une application intermédiaire? Et quelles activités? Toutes? ou seulement celles qui t'intéressent? On Apr 14, 10:39 am, Chrystof <i...@accessnight.ch> wrote: > Bonjour, > > quelqu'un à t'il une solution pour enregistrer les activité sur le bus > en direct ?!? > > Merci > > Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 > C'est quoi le message d'erreur? BasicLayout.cpp:37: error: expected constructor, destructor, or type conversion before '<' token Merci -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - jef2000 - 14/04/2010 Ajoutes ceci dans le fichier BasicLayout.cpp (a la suite des autres directives #include): #include <memory> Le problème est déjà corrigé depuis presqu'un an mais pas de nouvelle release depuis. http://log4cpp.cvs.sourceforge.net/viewvc/log4cpp/log4cpp/src/BasicLayout.cpp?revision=1.16&view=markup On Apr 14, 12:57 pm, kraven <ohl.christo...@gmail.com> wrote: > > C'est quoi le message d'erreur? > > BasicLayout.cpp:37: error: expected constructor, destructor, or type > conversion before '<' token > > Merci -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 Un grand merci ça marche Il faut également modifier le fichier PatternLayout.cpp Remplacer #include <cmath> par #include <cstdlib> Et également ajouter LDFLAGS=-lpthread comme paremetre du configure de log4cpp. A+ On 14 avr, 13:16, jef2000 <jef2...@ouaye.net> wrote: > Ajoutes ceci dans le fichier BasicLayout.cpp (a la suite des autres > directives #include): > #include <memory> > > Le problème est déjà corrigé depuis presqu'un an mais pas de nouvelle > release depuis.http://log4cpp.cvs.sourceforge.net/viewvc/log4cpp/log4cpp/src/BasicLa... > > On Apr 14, 12:57 pm, kraven <ohl.christo...@gmail.com> wrote: > > > > > > C'est quoi le message d'erreur? > > > BasicLayout.cpp:37: error: expected constructor, destructor, or type > > conversion before '<' token > > > Merci -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - Chrisophe Bruchez - 14/04/2010 > C'est de ça qu'on parle non?Que veux tu dire par 'en direct'. Sans > faire de polling? ou bien sans passer par une application > intermédiaire? Et quelles activités? Toutes? ou seulement celles qui > t'intéressent? J'ai des détecteur d'ouverture sur toutes mes portes, et je voudrais avoir un visuel des heures d'ouvertures et fermetures des portes. Pour cela, je dois enregistrer dans MYSQL chaque mouvement. Merci. Chrystof -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 Sans vouloir abuser maintenant que j'ai tout installé, j'ai fait un petit fichier de config (ci dessous) mais le fichier linknx.log ne crée pas? <?xml version="1.0" ?> <config> <objects> <object log="true" type="1.001" id="ampoule1" gad="0/0/1"><listener gad="1/0/0" />ampoule1 platine</object> <object log="true" id="Temperature_Salon" gad="3/0/1" type="9.xxx" flags="cwu">Temperature du salon</object> </objects> <services> <knxconnection url="ip:127.0.0.1" /> <xmlserver type="inet" port="1028"/> <logging output="/home/christophe/linknx.log" format="%d %5p > %c %x - %m%n" level="DEBUG"/> </services> </config> On 14 avr, 13:39, kraven <ohl.christo...@gmail.com> wrote: > Un grand merci ça marche > > Il faut également modifier le fichier PatternLayout.cpp > Remplacer #include <cmath> par #include <cstdlib> > > Et également ajouter LDFLAGS=-lpthread comme paremetre du configure de > log4cpp. > > A+ > > On 14 avr, 13:16, jef2000 <jef2...@ouaye.net> wrote: > > > > > Ajoutes ceci dans le fichier BasicLayout.cpp (a la suite des autres > > directives #include): > > #include <memory> > > > Le problème est déjà corrigé depuis presqu'un an mais pas de nouvelle > > release depuis.http://log4cpp.cvs.sourceforge.net/viewvc/log4cpp/log4cpp/src/BasicLa... > > > On Apr 14, 12:57 pm, kraven <ohl.christo...@gmail.com> wrote: > > > > > C'est quoi le message d'erreur? > > > > BasicLayout.cpp:37: error: expected constructor, destructor, or type > > > conversion before '<' token > > > > Merci -- To unsubscribe, reply using "remove me" as the subject. NAS - Linknx/MYSQL - kraven - 14/04/2010 > J'ai des détecteur d'ouverture sur toutes mes portes, et je voudrais avoir > un visuel des heures d'ouvertures et fermetures des portes. > > Pour cela, je dois enregistrer dans MYSQL chaque mouvement. Avec les log de linknx tu obtiens un fichier avec ce contenu. 2010-4-14 10:45:28 > off 2010-4-14 10:45:53 > on 2010-4-14 10:46:54 > off 2010-4-14 11:0:56 > on 2010-4-14 11:0:58 > off 2010-4-14 11:2:21 > on Ca doit être exploitable pout tes besoins. -- To unsubscribe, reply using "remove me" as the subject. |