Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[pKNyX] Passerelle Helios EasyControls vers KNX (via Modbus)
#1
Hello,

À force de râler auprès d'Helios, à propos de ma VMC KWL EC-370 Pro mal fichue, ils ont finalement décidé de me la changer. Plutôt que de rester sur le même modèle avec la nouvelle régulation EasyControls, je suis même passé sur une 500 W, plus grosse, mais pas certifiées passiv'haus ; le rendement est donc moins bon (les chiffres sont les mêmes, mais ils ne le calculent pas de la même façon ; en gros, pour une même valeur, c'est 10% de moins), mais comme elle est surdimensionnée, les ventilos consomment moins dans ma plage d'utilisation. Elle est, du coup, aussi moins bruyante Smile

Bref, tout ça pour dire que maintenant, le paramétrage peut se faire via l'interface web. Mais elle dispose également d'un serveur Modbus TCP en standard ! Du coup, j'ai commencé à regarder pour faire une passerelle KNX en utilisant pKNyX.

Pour le moment, mon souci c'est de dialoguer avec ce foutu serveur Modbus. Déjà, leur façon d'utiliser ce protocole est vraiment zarbi : plutôt que d'utiliser le standard Modbus, en mettant chaque variable dans un registre (coils, holding registers, etc...), ils ont implémenté une boîte aux lettres ascii ! Pfff... En gros, pour lire une variable, il faut :

- commencer par écrire son numéro sous forme ascii en l'envoyant via la fonction Modbus 'write multiple registers', avec pour adresse de départ 1, et où chaque caractère ascii est groupé par deux (puisqu'il s'agit de registres 16 bits) ;
- puis lire le registre en faisant une lecture des n premiers holding registers, et on décode la chaîne ascii de manière inverse.

Pour l'instant, je n'arrive qu'à lire : si je lis les 10 premiers holding registers, j'obtiens toujours :

[30256, 12336, 12336, 15691, 22348, 8261, 17184, 13616, 12375, 8268]

ce qui, une fois décodé, donne :

v00000=KWL EC 500W L

En gros, la variable courante est v00000, et elle vaut "KWL EC 500W L".

Maintenant, si j'essaye d'écrire le nom d'une autre variable, la v00104 (température aire extérieur) par exemple, j'obtiens toujours une erreur de type valeure illégale.

J'utilise pour communiquer le package python pymodbus. J'ai essayé également avec python-tk, une autre implémentation, et j'ai la même erreur. Et je ne pige pas d'où ça vient. D'après le code (et la norme Modbus), ce genre d'erreur sort si on essaye d'envoyer trop de valeurs (one ne peut adresser que 123 registres consécutifs), ou si le nombre d'octets envoyés n'est pas le double du nombre de registres. J'ai vérifié dans le code python, on passe une liste, et le nombre d'octets est al taille de la liste x2, donc pas de souci.

Du coup, je me demande si ce n'est pas la VMC qui répond ça, plutôt que la librairie d'envoie.

J'aimerais savoir si quelqu'un a par hasard des infos sur le sujet... Comme c'est tout nouveau, y'a peu de chance, mais j'espère que ce fil sera référencé par Google, et que d'autres futurs utilisateurs tomberont dessus... En attendant, je poursuis mes tests.
Répondre
#2
Bon, je pense avoir trouvé une piste. Dans les exemples donnés, où ils utilisent modpoll.exe, ils ajoutent l'option -0, qui signifie (traduit de l'allemand par google) :

"La première référence est au point 0 (définition de l'adresse de PDU) au lieu de 1"

J'ai donc l'impression qu'il faut truander l'adresse de base directement dans la trame PDU ; encore une idée brillante ! Bref, j'ai posé la question sur le site de pymodbus pour savoir comment faire ça avec cette lib.

À suivre !
Répondre
#3
Salut,

Ca risque de m'interesser !

C'est la mode de mettre du modbus dans les VMC !

Je viens de poser la mienne : la nouvelle DOMEO d'unelvent qui est la premiere à embarquer aussi une interface modbus.

j'ai regardé vite fait pour une passerelle modbus / knx, c'est quand meme pas donner !
Je pense que je vais regarder si il n'y a pas moyen de communiquer avec un raspberry

Répondre
#4
Helios utilise Modbus depuis un moment, déjà. Mais sur les versions précédentes, c'était une utilisation classique, avec une variable par registre.

La tienne utilise le Modbus comment ? T'as de la doc ? Avec pKNyX, c'est très simple à faire ; je peux commencer à bosser un peu dessus, si tu veux, pour te donner une idée.
Répondre
#5
salut,

Pour tout de dire, je n'ai rien vu niveau doc à part ça :
• Communiquant : Protocole Modbus.
• Peut être intégré dans le système domotique de la maison. Equipée du protocole Modbus : Communication universelle via passerelles vers tous les autres protocoles (KNX, X20, MyHome...)

Autant dire, rien.

Mais bon, etant encore en cours d'aménagement, je n'ai pas encore vraiment le temps de me pencher dessus, je resserve ça pour les longues soirées d'hiver Smile
Répondre
#6
Ok ! Je n'ai rien trouvé sur leur site (sont radins en doc) ; le jour où tu t'y mets, faudra leur casser les bonbons pour avoir toutes les infos Wink
Répondre
#7
Bonjour,

Après de longue réflexion sur le choix de la vmc, je pense investir dans une DOMEO d'unelvent …
Est ce que quelqu'un aurait plus d'info sur la communication de cette machine?
Répondre
#8
Le fil initial parle d'Helios et de la régulation EasyControls... Ce serait mieux de commencer un nouveau fil pour parler d'une autre VMC...
Répondre
#9
j'ouvre un nouveau fil, j'ai eu de l'info sur les parametres modbus pour la vmc domeo
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)