mww012 / hass-infinitive

Infinitive Climate Integration for Home Assistant
21 stars 5 forks source link

Adding support to multi-zones #17

Open themrwookiee opened 4 months ago

themrwookiee commented 4 months ago

Hi @mww012 , acd added support in his recent changes and I was wondering if you are planning to add support? To be honest I tried to update the current code and the way zones are added is beyond my comprehension of golang and python haha.

I did identify where the major changes are.

Here's your api :

return &TStatZoneConfig{
        TempUnit:        infinity.tempUnitStr(),
        CurrentTemp:     params.Z1CurrentTemp,
        CurrentHumidity: params.Z1CurrentHumidity,
        OutdoorTemp:     params.OutdoorAirTemp,
        Mode:            rawModeToString(params.Mode & 0xf),
        Stage:           params.Mode >> 5,
        FanMode:         rawFanModeToString(cfg.Z1FanMode),
        Hold:            hold,
        HoldDuration:    cfg.Z1HoldDuration,
        HeatSetpoint:    cfg.Z1HeatSetpoint,
        CoolSetpoint:    cfg.Z1CoolSetpoint,
        TargetHum:       cfg.Z1TargetHumidity,
        RawMode:         params.Mode,
    }, true

Here's his :

return &TStatZoneConfig{
        CurrentTemp:     params.GetZonalField(zone, "CurrentTemp").(uint8),
        CurrentHumidity: params.GetZonalField(zone, "CurrentHumidity").(uint8),
        OutdoorTemp:     params.OutdoorAirTemp,
        Mode:            RawModeToString(params.Mode & 0xf),
        Stage:           params.Mode >> 5,
        FanMode:         RawFanModeToString(cfg.GetZonalField(zone, "FanMode").(uint8)),
        Hold:            hold,
        HeatSetpoint:    cfg.GetZonalField(zone, "HeatSetpoint").(uint8),
        CoolSetpoint:    cfg.GetZonalField(zone, "CoolSetpoint").(uint8),
        RawMode:         params.Mode,
    }, true

If I can help, please let me know !