VMC Double Flux Brink Flair 325

Bonjour,

Ca y’est, ma VMC DF est enfin dans Jeedom.

Pour info pour ceux qui chercheraient, j’utilise le modbus (via un dongle USB RS485) et des scripts python.

Bon courage à ceux qui voudrait se lancer, mais vous savez désormais que c’est faisable.

Les informations sont toutes issues des sondes installées par mon installateur directement dans la VMC.

++

Salut

Pourrais tu publier tes scripts? J’ai une VMC d’une autre marque mais je manque de base Python pour faire mew premiers scripts.

Merci

Antoine

Hello,

Voici un script de lecture :

#!/usr/bin/env python
# coding: utf-8

import serial
import sys

import minimalmodbus

instrument = minimalmodbus.Instrument('/dev/ttyUSB0',20,mode='rtu', close_port_after_each_call=False, debug=False)
instrument.debug = False
instrument.handle_local_echo = False # The serial device echos back every write,$
instrument.serial.baudrate = 9600
instrument.serial.timeout = 1
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.bytesize  = 8
value='ERROR'
value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
print (value)

Et un script d’écriture :

#!/usr/bin/env python
# coding: utf-8
import serial
import sys
import time
#port = serial.Serial('/dev/ttyAMA0', baudrate=115200, timeout=3.0)

#while True:
# rcv = port.read(10) # lit 10 caracteres

import minimalmodbus

if len( sys.argv ) == 1 :
        print "Veuillez choisir le mode (0 à 3)"
        sys.exit()

#print sys.argv[1]
instrument = minimalmodbus.Instrument('/dev/ttyUSB0',20,mode='rtu', close_port_after_each_call=False, debug=False)

instrument.debug = False
instrument.handle_local_echo = False # The serial device echos back every write,$
instrument.serial.baudrate = 9600
instrument.serial.timeout = 1
instrument.serial.parity = serial.PARITY_EVEN
instrument.serial.bytesize  = 8
value=''
#value = instrument.read_register(0x01,1,4,False)

#if sys.argv[1]== 'READ' :
#       value=instrument.read_register(int(sys.argv[2]), number_of_decimals=0, functioncode=4, signed=False)


#value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
#print "Ancienne valeur paramétrée : "+str(value)

instrument.write_register(8001, int(sys.argv[1]), number_of_decimals=0, functioncode=6, signed=False)
#value = instrument.read_holding_registers(0x00,4,unit=1)
#instrument.write_register(24, NEW_TEMPERATURE, 1)
time.sleep(2)
value=instrument.read_register(4022, number_of_decimals=0, functioncode=4, signed=False)
#print "Nouvelle valeur paramétrée : "+str(value)
print value


En espérant que cela pourra aider certaines personnes.

Ne pas oublier d’installer minimalmodbus avec pip2.

++

1 « J'aime »