gh-6 Panel room temperature reading for Home Assistant status, comments

This commit is contained in:
Jarno Rankinen 2023-02-23 19:57:39 +02:00
parent 1f5a258937
commit 1b1a9c75ea
1 changed files with 22 additions and 20 deletions

View File

@ -45,29 +45,30 @@ type pingvinRegister struct {
} }
type pingvinVentInfo struct { type pingvinVentInfo struct {
SupplyHeated int `json:"supply_heated"` Roomtemp1 int `json:"room_temp1"` // Room temperature at panel 1
SupplyHrc int `json:"supply_hrc"` SupplyHeated int `json:"supply_heated"` // Temperature of supply air after heating
SupplyIntake int `json:"supply_intake"` SupplyHrc int `json:"supply_hrc"` // Temperature of supply air after heat recovery
SupplyIntake24h int `json:"supply_intake_24h"` SupplyIntake int `json:"supply_intake"` // Temperature of outside air at device
SupplyHum int `json:"supply_hum"` SupplyIntake24h int `json:"supply_intake_24h"` // 24h avg of outside air humidity
ExtractIntake int `json:"extract_intake"` SupplyHum int `json:"supply_hum"` // Supply air humidity
ExtractHrc int `json:"extract_hrc"` ExtractIntake int `json:"extract_intake"` // Temperature of extract air
ExtractHum int `json:"extract_hum"` ExtractHrc int `json:"extract_hrc"` // Temperature of extract air after heat recovery
ExtractHum48h int `json:"extract_hum_48h"` ExtractHum int `json:"extract_hum"` // Relative humidity of extract air
ExtractHum48h int `json:"extract_hum_48h"` // 48h avg extract air humidity
} }
type pingvinStatus struct { type pingvinStatus struct {
HeaterPct int `json:"heater_pct"` HeaterPct int `json:"heater_pct"` // After heater valve position
HrcPct int `json:"hrc_pct"` HrcPct int `json:"hrc_pct"` // Heat recovery turn speed
TempSetting int `json:"temp_setting"` TempSetting int `json:"temp_setting"` // Requested room temperature
FanPct int `json:"fan_pct"` FanPct int `json:"fan_pct"` // Circulation fan setting
VentInfo pingvinVentInfo `json:"vent_info"` VentInfo pingvinVentInfo `json:"vent_info"` // Measurements
HrcEffIn int `json:"hrc_efficiency_in"` HrcEffIn int `json:"hrc_efficiency_in"` // Calculated HRC efficiency, intake
HrcEffEx int `json:"hrc_efficiency_ex"` HrcEffEx int `json:"hrc_efficiency_ex"` // Calculated HRC efficiency, extract
OpMode string `json:"op_mode"` OpMode string `json:"op_mode"` // Current operating mode, text representation
DaysUntilService int `json:"days_until_service"` DaysUntilService int `json:"days_until_service"` // Days until next filter service
Uptime string `json:"uptime"` Uptime string `json:"uptime"` // Unit uptime
SystemTime string `json:"system_time"` SystemTime string `json:"system_time"` // Time and date in unit
} }
func newCoil(address string, symbol string, description string) pingvinCoil { func newCoil(address string, symbol string, description string) pingvinCoil {
@ -268,6 +269,7 @@ func (p *PingvinKL) populateStatus() {
} }
p.Status.TempSetting = p.Registers[135].Value / p.Registers[135].Multiplier p.Status.TempSetting = p.Registers[135].Value / p.Registers[135].Multiplier
p.Status.FanPct = p.Registers[774].Value / p.Registers[774].Multiplier p.Status.FanPct = p.Registers[774].Value / p.Registers[774].Multiplier
p.Status.VentInfo.Roomtemp1 = p.Registers[1].Value / p.Registers[1].Multiplier
p.Status.VentInfo.SupplyHeated = p.Registers[8].Value / p.Registers[8].Multiplier p.Status.VentInfo.SupplyHeated = p.Registers[8].Value / p.Registers[8].Multiplier
p.Status.VentInfo.SupplyHrc = p.Registers[7].Value / p.Registers[7].Multiplier p.Status.VentInfo.SupplyHrc = p.Registers[7].Value / p.Registers[7].Multiplier
p.Status.VentInfo.SupplyIntake = p.Registers[6].Value / p.Registers[6].Multiplier p.Status.VentInfo.SupplyIntake = p.Registers[6].Value / p.Registers[6].Multiplier