Hello,
J'ai avancé sur mon package python pour s'interfacer avec le modbus à la noix des nouvelles régulations vmc Helios (EasyControls) :
https://github.com/fma38/PeasYcontrols
Voici un exemple qui utilise ce package dans pKNyX, pour lire les sondes de température, et les balancer sur le bus KNX :
J'ai avancé sur mon package python pour s'interfacer avec le modbus à la noix des nouvelles régulations vmc Helios (EasyControls) :
https://github.com/fma38/PeasYcontrols
Voici un exemple qui utilise ce package dans pKNyX, pour lire les sondes de température, et les balancer sur le bus KNX :
Code :
# -*- coding: utf-8 -*-
from peasycontrols.modbusEC import ModbusEasyControls
from pknyx.api import FunctionalBlock
from pknyx.api import schedule
import settings
class VmcFB(FunctionalBlock):
DP_01 = dict(name="temp_outside_air", access="output", dptId="9.001", default=19.)
DP_02 = dict(name="temp_supply_air", access="output", dptId="9.001", default=19.)
DP_03 = dict(name="temp_outgoing_air", access="output", dptId="9.001", default=19.)
DP_04 = dict(name="temp_extract_air", access="output", dptId="9.001", default=19.)
GO_01 = dict(dp="temp_outside_air", flags="CRT", priority="low")
GO_02 = dict(dp="temp_supply_air", flags="CRT", priority="low")
GO_03 = dict(dp="temp_outgoing_air", flags="CRT", priority="low")
GO_04 = dict(dp="temp_extract_air", flags="CRT", priority="low")
DESC = "Vmc FB"
def init(self):
self._modbusEC = ModbusEasyControls(settings.HOSTNAME, settings.UNIT)
@schedule.every(minutes=5)
def updateTemperature(self):
self.dp["temp_outside_air"].value = self._modbusEC.readVariable("v00104")
self.dp["temp_supply_air"].value = self._modbusEC.readVariable("v00105")
self.dp["temp_outgoing_air"].value = self._modbusEC.readVariable("v00106")
self.dp["temp_extract_air"].value = self._modbusEC.readVariable("v00107")