Hi there! I’m working with Inheco CPAC units and was wondering how to go about defining them for use as temperature controllers in PLR.
resource-wise probably a PlateHolder?
Do you know anything about the serial interface this device uses? I reverse engineered the inheco thermoshake protocol (which was difficult due to an incorrectly implemented crc8 checksum). See this file
There is also a TemperatureController front end class that your interface should use
to be honest, i don’t know much about it. i was assuming i’d define it as a TemperatureController, but would it be a PlateHolder with TemperatureController capabilities?
TemperatureController is actually already a ResouceHolder
. Let me think about how to model this best
the other thing to do is write a backend class, which for temperature controllers is simple:
class TemperatureControllerBackend(MachineBackend, metaclass=ABCMeta):
@abstractmethod
async def set_temperature(self, temperature: float):
"""Set the temperature of the temperature controller in Celsius."""
@abstractmethod
async def get_current_temperature(self) -> float:
"""Get the current temperature of the temperature controller in Celsius"""
@abstractmethod
async def deactivate(self):
"""Deactivate the temperature controller."""
the way i do this is use the official program and observe firmware commands using wireshark. for inheco, the software is freely available online
per this doc, the cpac use the standard inheco Firmware Command Set. doc available here. you will probably need the checksum code from thermoshaker backend. the ‘demo tool’ (gui to firmware) is available after free inheco account creation: Login.
will look into all of this, thanks
I’d also recommend talking with Inheco directly.
They are a great company and in my experience support integration of their machines … Because they understand that they’re selling more machines that way.
No guarantee but worth a shot.
Any recommendations on how to setup the dimensions of this thing? figure it’s just defining a new resource holder, but would love some guidance