Skip to content

Change in request load classes #650

@JeB2022Nov

Description

@JeB2022Nov

Along with the API v2 obviously the structure of the 'load class' information has changed.

In PyViCareHeatPump.py the call is

@handleNotSupported
def getHoursLoadClass1(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.statistics")["properties"]["hoursLoadClassOne"]["value"]

but it should be now:

@handleNotSupported
def getHoursLoadClass1(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.statistics.load")["properties"]["hoursLoadClassOne"]["value"] 

This applies to all five load class requests.

--

The API v2 offers some more information (mainly compressor) than v1. The class 'compressor' in PyViCareHeatPump.py could be extended by (at least compressor load could be interesting):

@handleNotSupported
def getCompressorLoad(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.power")["properties"]["value"]["value"]

@handleNotSupported
def getCompressorInPressure(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.pressure.inlet")["properties"]["value"]["value"]

@handleNotSupported
def getCompressorInTemp(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.inlet")["properties"]["value"]["value"]

@handleNotSupported
def getCompressorOutTemp(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.outlet")["properties"]["value"]["value"]

@handleNotSupported
def getCompressorAmbientTemp(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.ambient")["properties"]["value"]["value"]

@handleNotSupported
def getCompressorOverheatTemp(self):
    return self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.overheat")["properties"]["value"]["value"]

Now the fan load of the heatpump is provided as well. In class 'HeatingDevice' (PyViCareHeatingDevice.py) the fan load can be read out by:

@handleNotSupported
def getFanRotation(self):
    return self.getProperty("heating.primaryCircuit.sensors.rotation")["properties"]["value"]["value"]

--
I am not so familiar with the rules of GitHub so I wouldn't push these changes by myself, the risk to damage something is too high. Fell free to use the extensions or implement them here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions