Driver Z-Wave

Pour parler de tous les Problèmes/Bugs, Questions, Informations ... en rapport avec les drivers existants : Plcbus, X10, 1-Wire, Rfxcom, Zibase...

Modérateur: HoMIDoM

Re: Driver Z-Wave

Messagede jptools » 25 Mai 2016, 10:41

Bonjour,

J’ai vu passer une modif du Driver ZWave.

J’ai une autre à vous proposer : comme j’ai installé le Smart meter de Qubino qui me renvoi avec
le label « Energy » et l’instance = 1 la valeur en kWh et kVAh.

En regardant la config, la seule solution pour différencier ces deux valeurs c’est d’utiliser l’Index de la valeur retournée par le composant.

Pour la Valeur en kWh
Label : Energy
Instance : 1
Index : 0

Pour la Valeur en kVAh
Label : Energy
Instance : 1
Index : 4

Comme le Driver ne prend pas en compte l'index,je vous propose la modif suivante permettant de différencier les deux données :

Dans Private Sub traiteValeur(ByVal………. ……

De rajouter : Dim m_index As Integer

m_index = m_notification.GetValueID.GetIndex()

Dans la boucle :
' Recherche du composant en fonction de l'adresse1
For Each LocalDevice As Object In m_devices
-
-
-
De modifier la ligne suivante :

If (IsNothing(LocalDevice.adresse2) Or (LocalDevice.adresse2 = m_valueLabel) Or (LocalDevice.adresse2 = m_valueLabel & ":" & m_instance)) Then


En

If (IsNothing(LocalDevice.adresse2) Or (LocalDevice.adresse2 = m_valueLabel) Or (LocalDevice.adresse2 = m_valueLabel & ":" & m_instance) Or (LocalDevice.adresse2 = m_valueLabel & ":" & m_instance & ":" & m_index)) Then

Mon code complet se trouve à l’adresse suivante : https://github.com/jptools/Homidom-Jptools

Avec les modifs pour l’écriture vers un composant en utilisant le Label : Instance et l’index.

Cordialement
Jean-Pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede NĂ©o32 » 25 Mai 2016, 20:32

Bonsoir jptools,

Je propose ta modification a dev du driver :D
HoMIDoM- Le système complet et gratuit de domotique pour la maison
Avatar de l’utilisateur
NĂ©o32
Dieu de domotique
 
Messages: 680
Inscription: 07 Jan 2013, 08:09
Localisation: Charleroi (Belgique)

Re: Driver Z-Wave

Messagede jptools » 02 Juin 2016, 19:57

Bonjour,

Je viens de tester la dernière mise à jour du driver Zwave . Il fonctionne bien avec le système sympathique pour remplir l'adresse 1
d'un composant.

Par contre, j'ai des messages d'erreurs lors du démarrage du drivers :

02/06/2016 19:20:35 ERREUR DRIVER Z-Wave GET_Config, L'argument 'Length' doit être supérieur ou égal à zéro.
02/06/2016 19:20:35 ERREUR DRIVER Z-Wave LectureNoeudConfigXml, fichier C:\...\HoMIDoM\drivers\zwave\zwcfg_0x184e0f0.xml introuvable
02/06/2016 19:20:35 DEBUG DRIVER Z-Wave _libelleadr1, 2 # SCSC17 Thermostat|4 # ASR-ZW Thermostat Receiver|5 # Alarm Sound|7 # ZS6301 CO Detector|8 # Z Thermostat 014G0013|9 # HRT4-ZW Thermostat Transmitter|11 # ASR-ZW Thermostat Receiver|12 # FGK101 Door Opening Sensor|13 # FGWPE Wall Plug|14
02/06/2016 19:20:35 ERREUR DRIVER Z-Wave LectureNoeudConfigXml, fichier C:\...\HoMIDoM\drivers\zwave\zwcfg_0x184e0f0.xml introuvable
02/06/2016 19:20:35 DEBUG DRIVER Z-Wave _libelleadr1, 2 # SCSC17 Thermostat|4 # ASR-ZW Thermostat Receiver|5 # Alarm Sound|7 # ZS6301 CO Detector|8 # Z Thermostat 014G0013|9 # HRT4-ZW Thermostat Transmitter|11 # ASR-ZW Thermostat Receiver|12 # FGK101 Door Opening Sensor|13 # FGWPE Wall Plug|14

Le serveur fonctionne sous Windows 10.

Si quelqu'un a une idée ???

Cordialement
Jean-pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jptools » 02 Juin 2016, 20:19

Re bonjour,

j'ai oublié d'écrire dans mon précédent message que les messages d'erreur n'apparaissent que si le paramètre GetConfig est égale à 1 lors du démarrage.
Sinon les messages n'apparaissent pas.

Cordialement
Jean-Pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jphomi » 02 Juin 2016, 20:25

C'est normal car si getconfig est a true, on va récupérer les config. C'est pour garder une compatibilité totale avec des anciennes configurations.
Installation : Homidom sur serveur MSI DC111 sous Win10,Homiwpf sous Win8.1, Imperihome,
Jeedom pour test, phidgets SBC ( temp, pression, E/S )
Protocole ZWave (gestion chauffage fil pilote, eclairage, RGBW, eau chaude, suivi conso )
IPX800 (irrigation, Ă©clairage, temp)
Station météo NetAtmo ( temp, hum, pluvio, anémomètre )
Wattlet ( commande relai )
jphomi
P'tit Guru de domotique
 
Messages: 59
Inscription: 09 FĂ©v 2015, 10:56
Localisation: Aveyron (12)

Re: Driver Z-Wave

Messagede jphomi » 02 Juin 2016, 20:31

Salut,

Je vois dans ton log que le fichier C:\...\HoMIDoM\drivers\zwave\zwcfg_0x184e0f0.xml est introuvable.

C'est peut être du à la commande de la ligne 924 m_manager.WriteConfig(m_homeId) que je fais pour reécrire le fichier cité et avoir la dernière config.
Chez moi je n'ai pas de soucis mais ton fichier est peut ĂŞtre plus gros.
Pourrais tu mettre cette ligne en commentaire, recompiler le driver et me dire si tu as toujours ce problème ?
Si c'est bon, je mettrais la modif en ligne.

Pas hasard, saurais tu s'il y a un évènement associé à l'écriture de ce fichier ce qui me permettrait de faire un refresh de la config sans avoir à redémarrer le driver.

Merci d'avance
A bientĂ´t
JP
Installation : Homidom sur serveur MSI DC111 sous Win10,Homiwpf sous Win8.1, Imperihome,
Jeedom pour test, phidgets SBC ( temp, pression, E/S )
Protocole ZWave (gestion chauffage fil pilote, eclairage, RGBW, eau chaude, suivi conso )
IPX800 (irrigation, Ă©clairage, temp)
Station météo NetAtmo ( temp, hum, pluvio, anémomètre )
Wattlet ( commande relai )
jphomi
P'tit Guru de domotique
 
Messages: 59
Inscription: 09 FĂ©v 2015, 10:56
Localisation: Aveyron (12)

Re: Driver Z-Wave

Messagede jptools » 04 Juin 2016, 13:58

Bonjour JP,

J'ai testé le drivers Zwave, finalement ce n'était pas la ligne m_manager.WriteConfig(m_homeId) qui était en cause,

Tout simplement le nom du fichier zwcfg_0x......, il lui manquait un zéro après le 0x. Après avoir insérer le zéro manquant, tout est rentré dans l'ordre, plus de message d'erreurs. De plus la listBox de d'adresse 2 est apparu avec les options.

La modif est la suivante :
dans Function Get_Config() As Boolean

Dim ficcfg As String = My.Application.Info.DirectoryPath & "\drivers\zwave\zwcfg_0x0" & Convert.ToString(m_homeId, 16).ToString & ".xml"

Bon travail, c'est beaucoup plus simple d'utilisation que de devoir consulter le fichier zwcfg_0x0... pour configurer un composant.

J'ai vu un autre petit problème, lorsque l'on relance plusieurs fois le démarrage du drivers, les modules dans la listbox de l'adresse 1 se multiplies
il manque surement une vidange lors de l'arrĂŞt du driver.

Pour répondre a ta question concernant l' évènement associé à l'écriture du fichier zwcfg_0x0.... je n'ai pas de réponse.

Par contre j'avais entre temps modifié le source du drivers pour prendre en compte l'index pour l'écriture vers un composant.
Pour cela j'ai modifié les fonctions Private Function GetValeur(ByVal node As Node, ByVal valueLabel As String,
Optional ByVal ValueInstance As Byte = 0, Optional ByVal ValueIndex As Byte = 0) As ZWValueID

et Public Sub Write(ByVal Objet As Object, ByVal Commande As String, Optional ByVal Parametre1 As Object = Nothing, Optional ByVal Parametre2 As Object = Nothing) Implements HoMIDom.HoMIDom.IDriver.Write

pour rechercher et Ă©crire vers le composant avec le label, l'instance et l'index s'il existe dans l'adresse 2.

Je mettrai le code sur l'adresse suivante : https://github.com/jptools/Homidom-Jptools

Cordialement
Jean-pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jphomi » 05 Juin 2016, 22:49

Salut,

J'ai intégré tes demandes, driver en debug :
- fichier xml. J'avais pas eu ce problème car mon id du contrôleur commençait par une lettre. Je force à 8 caract en rajoutant un zéro.
- J'ai corrigé le bug de refresh de liste. Je sauve tte les 10 min la config. Cela permettra d'avoir des combobox à jour en cas d'ajout de device. J'avais regardé, openzwave sauve la config que quand on ferme le driver.
- J'ai incorporé ta modif sur les index mais je n'ai modifié que la fonction getvaleur. Cela évite de trop toucher le source et d'oublier un bout dans une évolution.

Voila, si tu peux tester chez toi, pour moi cela a l'air d'ĂŞtre bon.

A bientĂ´t
JP
Installation : Homidom sur serveur MSI DC111 sous Win10,Homiwpf sous Win8.1, Imperihome,
Jeedom pour test, phidgets SBC ( temp, pression, E/S )
Protocole ZWave (gestion chauffage fil pilote, eclairage, RGBW, eau chaude, suivi conso )
IPX800 (irrigation, Ă©clairage, temp)
Station météo NetAtmo ( temp, hum, pluvio, anémomètre )
Wattlet ( commande relai )
jphomi
P'tit Guru de domotique
 
Messages: 59
Inscription: 09 FĂ©v 2015, 10:56
Localisation: Aveyron (12)

Re: Driver Z-Wave

Messagede jptools » 06 Juin 2016, 18:44

Bonjour JP,

J'ai testé ta mise à jour, j'ai toujours le problème du nom de fichier (il manque toujours le zéro après 0x).
La fonction PadLeft est utilisée sur toute la chaine : "C:\Program Files\HoMIDoM\Drivers\Zwave\zwcfg_0x184e0f0.xml"
au lieu que sur la conversion Convert.ToString(m_homeId, 16).ToString.

A part cela, tout fonctionne avec l'ancien ou avec le nouveau mode de config si le fichier est trouvé.

- J'ai remarqué sur le code à la ligne 1841 tu utilise :
' Ne traite pas les notifications COMMAND_CLASS_CONFIGURATION & COMMAND_CLASS_VERSION
If (m_valueID.GetCommandClassId() = 132 Or m_valueID.GetCommandClassId() = 134) Then Exit Sub

Il ne faudrait pas plutĂ´t remplacer le 132 par du 112 qui est le bon code pour COMMAND_CLASS_CONFIGURATION ?
le code 132 est pour COMMAND_CLASS_WAKE_UP utile pour déterminer l'intervalle du réveil d'un module.

- Au niveau des lignes 1067 faudrait-il pas ajouter NodeTemp.CommandClass.Contains(CommandClass. COMMAND_CLASS_WAKE_UP _V2) Or
NodeTemp.CommandClass.Contains(CommandClass. COMMAND_CLASS_WAKE_UP ) Or

Pour permettre de modifier la valeur WAKE_UP d'un module (intervalle du réveil) ?.


Et le dernier point, au niveau de la ligne 1965
' Traitement particulier pour les temperatures
If UCase(LocalDevice.type) = "TEMPERATURE" Or UCase(LocalDevice.type) = "CONSIGNETEMPERATURE" Then

Il ne faudrait pas remplacer CONSIGNETEMPERATURE par TEMPERATURECONSIGNE qui est le type du composant ?

En tout cas tu as fait du très bon travail, c'est un vrai plaisir de configurer un module.

Je vais continuer mes testes et voir comment le driver réagit lorsque l'on ajoute un module.

Bonne soirée
Jean-Pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jptools » 20 Juin 2016, 18:49

Bonjour,

_NomFileConfigZWave = Convert.ToString(m_homeId, 16).ToString
'rajoute des 0 si nécessaire devant l'id du controleur pour avoir une chaine de 8 de long
_NomFileConfigZWave = _NomFileConfigZWave.PadLeft(8, "0")
_NomFileConfigZWave = My.Application.Info.DirectoryPath & "\drivers\zwave\zwcfg_0x" & _NomFileConfigZWave & ".xml"
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jptools » 20 Juin 2016, 18:55

Bonjour,

J'ai modifié les lignes suivantes pour résoudre mon problème du zéro après le 0x du nom du fichier config (zwcfg_0x0184e0f0.xml)

_NomFileConfigZWave = Convert.ToString(m_homeId, 16).ToString
'rajoute des 0 si nécessaire devant l'id du controleur pour avoir une chaine de 8 de long
_NomFileConfigZWave = _NomFileConfigZWave.PadLeft(8, "0")
_NomFileConfigZWave = My.Application.Info.DirectoryPath & "\drivers\zwave\zwcfg_0x" & _NomFileConfigZWave & ".xml"

Les erreurs : fichiers introuvable ont disparus après la correction.

Sinon la config est bien sauvegardée touts les 10 minutes.

Bonne soirée

Jean-Pierre
jptools
P'tit Guru de domotique
 
Messages: 69
Inscription: 05 FĂ©v 2015, 19:46

Re: Driver Z-Wave

Messagede jphomi » 21 Juin 2016, 10:20

Salut,

J'ai fait les modifs judicieuses que tu signales mais pas mis le driver en ligne, je le laisse tourner. Tu trouveras ma version de dev ici : https://github.com/jphomi/JP-Homidom

Concernant le paramétrage de nouveau device, il y a un bug dans l'affichage de l'admin des adresse2. J'y suis dessus.

A bientĂ´t
JP
Installation : Homidom sur serveur MSI DC111 sous Win10,Homiwpf sous Win8.1, Imperihome,
Jeedom pour test, phidgets SBC ( temp, pression, E/S )
Protocole ZWave (gestion chauffage fil pilote, eclairage, RGBW, eau chaude, suivi conso )
IPX800 (irrigation, Ă©clairage, temp)
Station météo NetAtmo ( temp, hum, pluvio, anémomètre )
Wattlet ( commande relai )
jphomi
P'tit Guru de domotique
 
Messages: 59
Inscription: 09 FĂ©v 2015, 10:56
Localisation: Aveyron (12)

PrécédenteSuivante

Retourner vers Drivers

Qui est en ligne

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

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