Données HS vers base Mysql

Solution à base d'un PC et du logiciel Homeseer. Vous trouverez ici les tutos, les discussions sur les plugs-in et les scripts à base de VBasic, ASP, VBScript, etc

Données HS vers base Mysql

Messagede GEPETOS » 30 Déc 2011, 22:00

Je suis perdu dans le forum et je n'y comprends plus rien concernant l'export de données homeseer vers une base Mysql. Je n'arrive pas à paramétrer SQLyog et je ne sais pas s'il doit me servir impérativement car je sais créer des bases de données et des tables Mysql.

Qui peux m'aider simplement pour l'exemple ci dessous ?

Je voudrai que la température du salon code ^4 qui est donnée par un digimax soit transmise dans ma base de données Mysql à chaque fois qu'elle change. Pour la suite, je voudrai créer un graphique mais ce sera la prochaine étape.
J'ai une base de données que j'ai créé à partir de SFR.FR
Serveur 10.111.145.45:3306
mot de pass : xxxxxxx
Base de données: homeseer
Table : température

Il faut certainement un php ?
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede GEPETOS » 31 Déc 2011, 13:21

Les dieux de la domotique sont ils au ski ?
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede domotics » 01 Jan 2012, 10:40

Tu en demandes bcp en une question ...

Si tu as créé ta base, tu n'as plus besoin de sqlyog.
Est ce que tu utilises le framework domotics ?

ou est ce que tu ecris tout ?
Cdt
Domotics
Domotics
Mon Skype : mr.domotics - Contactez moi pour une démo, des réponses à vos questions, ...
Mon Installation : Eedomus, Zwave, Oregon, Sonos, EnOcean, Chacon, Raspberry Pi, IPX800, WES, RFXTRX, Nas Synology et Cams IP
Mon Conseil : La domotique doit toujours rester simple et demander un minimum de maintenance; Pensez aux autres utilisateurs de la maison ...

Domotics propose ses services via sa société de conseils http://www.id2domotique.com et sa boutique http://laboutiquededomotique.com
Avatar de l’utilisateur
domotics
Administrateur
 
Messages: 5001
Inscription: 15 Aoû 2003, 14:38
Localisation: Toulouse

Re: Données HS vers base Mysql

Messagede GEPETOS » 01 Jan 2012, 10:53

Oui, j'utilise framework domotics

Je veux simplement envoyer ma donnée température dans la table de ma base de données à chaque fois que la valeur change.

Bonne année à toi ainsi qu'a ta famille
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede domotics » 01 Jan 2012, 11:42

Dans le framework, il ya cette fonction :
Code: Tout sélectionner
Sub saveDeviceChangeWithAuthor(astrDevice,astrAuthor)
Dim aobjConn            ' Connection to the database
Dim astrConnectionString   ' Connection String
Dim astrDatabase         ' Path + File to find the database
Dim astrSQL               ' Query to be executed
Dim aevtLast            ' Last event trigered
Dim acodeLast            ' Last code changed
Dim aDateTime            ' Current Date and Time

'on error resume next
If (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "" ) and (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "ALONE" ) Then
   if (hs.DeviceExists(astrDevice)<>-1) then
      Set aobjConn = CreateObject("ADODB.Connection")
      aobjConn.Open(G_CONNECTION_STRING)
      aDateTime = Now()

      astrSQL = "INSERT INTO EVENTS (STRING, DEVICE, STATUS, VALUE, DATE, NOTES) VALUES ("
      astrSQL = astrSQL & "'" & replace(hs.DeviceString(aStrDevice),"'","''") & "',"
      astrSQL = astrSQL & "'" & astrDevice & "',"
      astrSQL = astrSQL & "'" & hs.DeviceStatus(astrDevice) & "',"
'-- Modification suite … la conversion de VALUE en integer      
'      astrSQL = astrSQL & "'" & hs.DeviceValue(astrDevice) & "',"
    astrSQL = astrSQL &  hs.DeviceValue(astrDevice) & ","
'-- Fin de la modification   
      astrSQL = astrSQL & "'" & Year(aDateTime) &"/"& Month(aDateTime) &"/"& Day(aDateTime)
      astrSQL = astrSQL & " " & Hour(aDateTime) &":"& Minute(aDateTime) &":"& Second(aDateTime) & "',"
      astrSQL = astrSQL & "'" & replace(astrAuthor,"'","''") & "')"

      aobjConn.Execute astrSQL

      aobjConn.Close
      Set aobjConn = Nothing
   End   if
End if
End Sub


Tu peux la renommer et la modifier pour passer ton module ...

Pour la config, si ton framework loggue déjà en base, ca fonctionnera.

Sinon, il faut revenir aux posts sur la configuration du framework . Et notamment framework_domotics.inc
Il te faut modifier ces lignes et redémarrer Homeseer
Code: Tout sélectionner
Const G_SERVER                          = "server"
Const G_DB_NAME                           = "base"
Const G_DB_USER                         = "user"
Const G_DB_PASSWD                       = "password"


SQLYog peut 'être utile pour aller voir les valeurs dans le base de données. C'est plus sympa de naviguer avec sqlyog plutot que de faire en ligne de commande

a+
Domotics
Domotics
Mon Skype : mr.domotics - Contactez moi pour une démo, des réponses à vos questions, ...
Mon Installation : Eedomus, Zwave, Oregon, Sonos, EnOcean, Chacon, Raspberry Pi, IPX800, WES, RFXTRX, Nas Synology et Cams IP
Mon Conseil : La domotique doit toujours rester simple et demander un minimum de maintenance; Pensez aux autres utilisateurs de la maison ...

Domotics propose ses services via sa société de conseils http://www.id2domotique.com et sa boutique http://laboutiquededomotique.com
Avatar de l’utilisateur
domotics
Administrateur
 
Messages: 5001
Inscription: 15 Aoû 2003, 14:38
Localisation: Toulouse

Re: Données HS vers base Mysql

Messagede GEPETOS » 01 Jan 2012, 12:38

C'est cette valeur (18,8) que je voudrai envoyer dans ma base de donnée
18,8°C Météo Véranda Température ^18 THGR810 Today 12:31:42

Je ne suis pas un expert en PHP
Peux tu me dire ce qu'il faut modifier dans le framework
Je présume que ce sont uniquement les lignes ci-dessous à modifier ?

If (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "" ) and (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "ALONE" ) Then
if (hs.DeviceExists(astrDevice)<>-1)

A+
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede domotics » 01 Jan 2012, 12:49

il faut remplacer astrdevice par ton module "^18"
Cdt
Domotics
Domotics
Mon Skype : mr.domotics - Contactez moi pour une démo, des réponses à vos questions, ...
Mon Installation : Eedomus, Zwave, Oregon, Sonos, EnOcean, Chacon, Raspberry Pi, IPX800, WES, RFXTRX, Nas Synology et Cams IP
Mon Conseil : La domotique doit toujours rester simple et demander un minimum de maintenance; Pensez aux autres utilisateurs de la maison ...

Domotics propose ses services via sa société de conseils http://www.id2domotique.com et sa boutique http://laboutiquededomotique.com
Avatar de l’utilisateur
domotics
Administrateur
 
Messages: 5001
Inscription: 15 Aoû 2003, 14:38
Localisation: Toulouse

Re: Données HS vers base Mysql

Messagede GEPETOS » 01 Jan 2012, 13:27

J'ai remplacé astrdevice par "^18" dans le fichier framework_sql en ayant au préalable copier et renomé le fichier d'origine framework_sql_old

Sub saveDeviceChange("^18")
SaveDeviceChangeWithAuthor astrDevice, G_DEFAULT_AUTHOR
End Sub

Sub saveDeviceChangeWithAuthor("^18",astrAuthor)
Dim aobjConn ' Connection to the database
Dim astrConnectionString ' Connection String
Dim astrDatabase ' Path + File to find the database
Dim astrSQL ' Query to be executed
Dim aevtLast ' Last event trigered
Dim acodeLast ' Last code changed
Dim aDateTime ' Current Date and Time

'on error resume next
If (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "" ) and (hs.GetVar(G_FOLDER_NAME & "_MODE") <> "ALONE" ) Then
if (hs.DeviceExists("^18" )<>-1) then
Set aobjConn = CreateObject("ADODB.Connection")
aobjConn.Open(G_CONNECTION_STRING)
aDateTime = Now()

astrSQL = "INSERT INTO EVENTS (STRING, DEVICE, STATUS, VALUE, DATE, NOTES) VALUES ("
astrSQL = astrSQL & "'" & replace(hs.DeviceString("^18" ),"'","''") & "',"
astrSQL = astrSQL & "'" & astrDevice & "',"
astrSQL = astrSQL & "'" & hs.DeviceStatus("^18" ) & "',"
'-- Modification suite … la conversion de VALUE en integer
' astrSQL = astrSQL & "'" & hs.DeviceValue("^18" ) & "',"
astrSQL = astrSQL & hs.DeviceValue(astrDevice) & ","
'-- Fin de la modification
astrSQL = astrSQL & "'" & Year(aDateTime) &"/"& Month(aDateTime) &"/"& Day(aDateTime)
astrSQL = astrSQL & " " & Hour(aDateTime) &":"& Minute(aDateTime) &":"& Second(aDateTime) & "',"
astrSQL = astrSQL & "'" & replace(astrAuthor,"'","''") & "')"

aobjConn.Execute astrSQL

aobjConn.Close
Set aobjConn = Nothing
End if
End if
End Sub

Suis je sur la bonne voie ?

a+
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede domotics » 01 Jan 2012, 13:39

Non, pas du tout.

Je vois que ca va être long comme ca. Je vais te faire un exemple

A+
Domotics
Domotics
Mon Skype : mr.domotics - Contactez moi pour une démo, des réponses à vos questions, ...
Mon Installation : Eedomus, Zwave, Oregon, Sonos, EnOcean, Chacon, Raspberry Pi, IPX800, WES, RFXTRX, Nas Synology et Cams IP
Mon Conseil : La domotique doit toujours rester simple et demander un minimum de maintenance; Pensez aux autres utilisateurs de la maison ...

Domotics propose ses services via sa société de conseils http://www.id2domotique.com et sa boutique http://laboutiquededomotique.com
Avatar de l’utilisateur
domotics
Administrateur
 
Messages: 5001
Inscription: 15 Aoû 2003, 14:38
Localisation: Toulouse

Re: Données HS vers base Mysql

Messagede GEPETOS » 01 Jan 2012, 18:14

OK
J'attends ton post impatiemment. Merci beaucoup pour ton aide. Vivement que je prenne le grade de dieux de la domotique pour à mon tour aider les autres !
j'espère bientôt publier sur ce forum le projet que je réalise maintenant depuis plusieurs années.

A+
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Re: Données HS vers base Mysql

Messagede domotics » 03 Jan 2012, 23:12

Demain, je publie un article qui devrait répondre à toutes tes attentes

http://www.touteladomotique.com/index.p ... &Itemid=14

Cdt

Domotics
Domotics
Mon Skype : mr.domotics - Contactez moi pour une démo, des réponses à vos questions, ...
Mon Installation : Eedomus, Zwave, Oregon, Sonos, EnOcean, Chacon, Raspberry Pi, IPX800, WES, RFXTRX, Nas Synology et Cams IP
Mon Conseil : La domotique doit toujours rester simple et demander un minimum de maintenance; Pensez aux autres utilisateurs de la maison ...

Domotics propose ses services via sa société de conseils http://www.id2domotique.com et sa boutique http://laboutiquededomotique.com
Avatar de l’utilisateur
domotics
Administrateur
 
Messages: 5001
Inscription: 15 Aoû 2003, 14:38
Localisation: Toulouse

Re: Données HS vers base Mysql

Messagede GEPETOS » 04 Jan 2012, 20:36

Merci beaucoup pour le tuto. Sans celui-ci, je n'y serait jamais arrivé seul!

Je suis presque au bout du processus, mais j'ai un message d'erreur lorsque je veux créer le PASSWORD:
mysql> SET PASSWORD FOR 'domotics'@'localhost' = PASSWORD<'domotics'>;

J'ai le message suivant:
ERROR 1064 <42000>: you have an error in your SQL syntax; check the manual that
corresponds to your MySQL server vesion for the right syntaxto use near '<' domotics'>' at line 1

J'ai une autre question: où se trouve cette base de données ?
Je pensais qu'elle serait sur mon serveur SFR ?
GEPETOS
P'tit Guru de domotique
 
Messages: 88
Inscription: 25 Jan 2007, 23:03
Localisation: 59

Suivante

Retourner vers Homeseer

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

Copyright © 2011 - Touteladomotique.com - Tous droits réservés
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique