nico68
Membres confirmés-
Compteur de contenus
22 -
Inscription
-
Dernière visite
Profile Information
-
Sexe :
Homme
-
Ville :
Colmar
-
Box
Autre
Visiteurs récents du profil
1 114 visualisations du profil
nico68's Achievements
-
Merci En fait, j'ai raisonné à l'inverse. J'ai lu l'adresse 26 en fonctionnement normal (c'est-à-dire sans la demande ECS). La chaudière me renvoie la valeur 8. Puis j'ai appuyé sur la touche "Robinet" de la commande à distance (même comportement si j'appui sur celui de la chaudière), là je lis la valeur 88 sur l'adresse 26. J'ai ensuite comparé ces valeurs avec le tableau que le support DDth m'avait envoyé l'an passé. La différence entre l'adresse 8 et 88 est uniquement le changement de la valeur du bit15 qui est insignifiant d'après la doc. Bref çà fonctionne comme çà, je ne cherche donc pas plus loin. Je reposte la dernière version du fichier d'adresses modbus diematic Isystem (v0[1].5). _ModBus_Parameter_Addresses_v0[1].5_Isystem.xls
-
Bonjour, J'ai finalement trouvé comme un grand. Pour activer la dérogation ECS (équivalent à l'appui sur la touche robinet), il suffit d'écrire la valeur hexa 88 sur l'adresse 26. Pour repasser en automatique (annuler la dérogation ECS), il suffit d'écrire la valeur hexa 8 sur l'adresse 26.
-
Bonjour, Quel mot utiliser pour forcer le ballon ECS (je cherche en fait l'équivalent de la touche "robinet") ?
-
Bonjour, Merci Domip. En m'inspirant de votre script, j'ai finalement trouvé quelque chose de fonctionnel de mon côté. C'est certainement optimisable mais çà a le mérite de fonctionner : ## Lecture temperature exterieure registre 7 avec calcul valeur negative ## temp_ext = instrument.read_register(7, 1) # Registernumber, number of decimals print '==========================' print 'Temperature exterieure : ' print temp_ext temp_extn = - (temp_ext - 3276.8) print 'variable temp_extn' print temp_extn # Ecriture Domoticz si temperature positive payload2 = {'type': 'command', 'param': 'udevice', 'idx': '1', 'svalue': temp_ext} # Ecriture Domoticz si temperature negative payload1 = {'type': 'command', 'param': 'udevice', 'idx': '1', 'svalue': temp_extn} if temp_ext > 3200: p1 = requests.put("http://127.0.0.1:8080/json.htm", params=payload1) print p1 if temp_ext < 3200: p2 = requests.put("http://127.0.0.1:8080/json.htm", params=payload2) print p2 En fait, je lis la valeur du registre et j'y soustrais 3276,8 (7FFF en hexa) lorsque la valeur lue est supérieure à 3200. Script testé la nuit dernière, la valeur écrite sur Domoticz correspond bien à la valeur indiquée sur la chaudière, donc çà fonctionne.
-
Bonjour, Les températures négatives sont arrivées. J'ai un souci lors de la lecture de la température extérieure. J'utilise le script : temp_ext = instrument.read_register(7, 1) J'ai en retour la valeur 3277,6 pour une température réelle (relevée sur l'afficheur de la chaudière) de -0,8 ° et 3277,4 pour -0,6° En cherchant un peu, il y aurait une histoire de complément à 2 : https://pypi.python.org/pypi/MinimalModbus/0.4 Negative numbers (INT16 = short) Some manufacturers allow negative values for some registers. Instead of an allowed integer range 0-65535, a range -32768 to 32767 is allowed. This is implemented as any received value in the upper range (32768-65535) is interpreted as negative value (in the range -32768 to -1). This is two’s complement and is described at http://en.wikipedia.org/wiki/Two%27s_complement. Help functions to calculate the two’s complement value (and back) are provided in MinimalModbus. Quelqu'un aurait-il solutionné ce problème ? Merci d'avance
-
Bonjour, L'installation d'une DDBox est sans intérêt lorsqu'on a réussi àdialoguer en local avec la chaudière via une interface RS485 (c'est mon cas après plusieurs heures de casse-tête). Le gros avantage (est pas des moindre) est que l'interface ne dépende pas d'un serveur distant et donc internet (comme c'est le cas avec DD) pour fonctionner. Pour l'acquit des défauts, je recherche justement une autre solution que l'appui physique sur le bouton "trompette", histoire de pouvoir acquitter un défaut àdistance, sans être devant la chaudière, j'avais donc pensé àl'interface modbus. Cordialement
-
Bonjour, je cherche un moyen d'acquitter un défaut sur la chaudière AGC25 (l'équivalent de la touche "trompette" de l'afficheur Diematic). Via la liaison modbus bien sur. Quelqu'un aurait-il une idée? Merci
-
Bonjour, Je rencontrai également la même chose, ça disparaît en jouant sur le paramètre instrument.serial.timeout de la liaison série. Le souci apparaît notamment lorque tu lances le script manuellement. Si comme moi tu lances automatiquement le script via une tâche cron (crontab -e), tu ne devrais plus avoir le souci. J'ai également trouver la documentation d'un automate DIT qui évoque ce sujet (voir dernière page) : https://www.google.fr/url?q=http://help.wit-easy.eu/fr/robohelp/Documentations/Documentations%2520e%40sy/MANUEL_EASY_Ressource%2520site%2520Modbus.pdf&sa=U&ved=0ahUKEwjA5_DLg8HOAhWHVRoKHS0FCdQQFggeMAE&sig2=UgIuGw-b0Hf-juUMryRDsA&usg=AFQjCNGPYtbpXPcr4GXPc9f4bmZFjUOB2Q Cordialement
-
Bonjour, Et une étape supplémentaire de franchie, j'arrive maintenant à interroger ma chaudière AGC25 depuis un Raspberry Pi via le protocole modbus. Côté matériel, j'utilise le convertisseur USB-COM485-PLUS-1 raccordé en USB sur le Raspberry et sur le connecteur miniDIn de la chaudière. Côté logiciel, j'ai déployé la librairie minimalmodbus qui fonctionne sous python: http://minimalmodbus.readthedocs.io/en/master/readme.html J'ai ensuite adapté un petit script qui permet de lire certains mots (modbus) de la chaudière et de les injecter directement sur Domoticz : #!/usr/bin/env python import minimalmodbus import requests import sys import time minimalmodbus.CLOSE_PORT_AFTER_EACH_CALL = True instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 10) # port name, slave address (in decimal) instrument.serial.baudrate = 9600 instrument.serial.bytesize = 8 instrument.serial.parity = minimalmodbus.serial.PARITY_NONE instrument.serial.stopbits = 1 instrument.serial.timeout = 1 # seconds (0.05 par defaut) instrument.debug = False # True or False instrument.mode = minimalmodbus.MODE_RTU ## Lecture temperature chaudiere registre 75 ## temp_chaud = instrument.read_register(75, 1) # Registernumber, number of decimals print '==========================' print 'Temperature chaudiere : ' print temp_chaud payload3 = {'type': 'command', 'param': 'udevice', 'idx': '3', 'svalue': temp_chaud} p3 = requests.put("http://127.0.0.1:8080/json.htm", params=payload3) print p3 time.sleep(5) ## Lecture temperature exterieure registre 7 ## temp_ext = instrument.read_register(7, 1) # Registernumber, number of decimals print '==========================' print 'Temperature exterieure : ' print temp_ext payload1 = {'type': 'command', 'param': 'udevice', 'idx': '1', 'svalue': temp_ext} p1 = requests.put("http://127.0.0.1:8080/json.htm", params=payload1) print p1 time.sleep(5) J'ai également déniché un tableau qui me paraît complet sur l'adressage des mots disponibles sur la Diematic : ModBus_Parameter_Addresses_v0.2_IsystemModifWITLakanal.rar Prochaine étape : pouvoir écrire sur la chaudière pour changer par exemple les températures de consignes
-
Ca y est, je discute enfin avec ma chaudière (DD Modulens G / AGC 25 / version logicielle V3.8) !!! Liaison OK avec le convertisseur préconisé par filou59 : USB-COM485-PLUS-1 (référence Farnell 181-7177). Côté liaison modbus : DB9 <---> miniDIN 1 3 2 4 5 chassis (optionnel mais conseillé) Côté modscan, çà ressemble à : "Température extérieure" : 8,8 ° "Température sonde ambiance" : 21,1 ° La suite, ce sera de mettre au point les scripts qui vont bien pour intégrer les donner sur un raspberry. Si certains ont des idées, je suis preneur.
-
Bonsoir, J'ai donc continué dans les essais toujours avec le même convertisseur. J'ai tenté les adresses de 0 à 20, idem en inversant les fils A et B : souci identique. J'essaierai avec le convertisseur USB-COM485-PLUS-1. En cherchant sur le net, je suis tombé sur une doc polonaise datant de 2015 : http://www.dedietrich.pl/content/download/10446/249519/file/DDBMSC Instrukcja montażu i obsÅ‚ugi.pdf Traduction rapide (merci google) : Traduction DDBMSC.pdf En gros, l'adresse de la chaudière serait 255 (çà me fait penser à une adresse de broadcast...) ou bien 10, il faut définir un délai d'attente minimum de 6 secondes, les adresses 'mots) seraient au format 4xxxx Je tenterai donc la chose. La suite au prochain numéro.
-
On a donc les mêmes problématiques : beaucoup d'idées et le temps qui manque... De mon côté, j'utilise domoticz sur Raspberry, l'interface est sympa et assez complète. Station méteo : sondes Oregon Scientific avec adaptateur RFXTRX433E sur Raspberry Un peu de sondes Zwave également (détecteur inondation), des sondes 1wire (DS18B20) et une carte interface PiFace pour gérer entrées / sorties.
-
Tu peux nous en dire plus sur ton automate. Tu fais quoi avec ? As-tu des exemples de scripts ?
-
Je ferai l'essai en changeant l'adresse. Je suis tombé sur un autre document DD qui nous donne encore des infos complémentaires sur la mise en cascade de chaudières via le connecteur modbus et le protocole OpenTherm (OT) : AD 286 - AD 287 (M).pdf Qu'entends-tu par "PS : Au fait tu n'as changé les reglages pour mise en cascade etc ?" Je n'ai pas touché au paramétrage de la chaudière. Peut-être que la liaison modbus est uniquement active lorsque la mise en cascade est validée mais dans ce cas, cela serait précisé sur la doc DDbox (or je n'ai rien vu).
-
Merci pour la référence, je vais essayer avec çà : http://fr.farnell.com/ftdi/usb-com485-plus-1/mod-usb-fs-to-rs485-1-port-ft232r/dp/1817177 T'inquiète pas pour le capot de protection, je trouverai quelque chose. Peux-tu me donner le brochage que tu as utilisé (côté DB9 et côté mini DIN) ? Quand j'inverse les deux fils, sur modscan c'est pareil, j'ai juste la led RX présente près du connecteur miniDIN de la chaudière qui reste allumée en rouge fixe (elle s'éteint d'ailleurs dès que je débranche la prise miniDIN). Côté version iSystem, il s'agit de la 3.8, je suis donc dans les pré-requis DD.