Skip to content

Commit dc118c1

Browse files
author
David Sapir
committed
Add HvacOperationModeType to usecase types
1 parent fe2b702 commit dc118c1

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

usecases/api/ca_cdt.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package api
33
import (
44
"github.com/enbility/eebus-go/api"
55
spineapi "github.com/enbility/spine-go/api"
6-
"github.com/enbility/spine-go/model"
76
)
87

98
type CaCDTInterface interface {
@@ -43,5 +42,5 @@ type CaCDTInterface interface {
4342
// - entity: the entity to write the setpoint to
4443
// - mode: the mode to write the setpoint for
4544
// - degC: the temperature setpoint value to write
46-
WriteSetpoint(entity spineapi.EntityRemoteInterface, mode model.HvacOperationModeTypeType, degC float64) error
45+
WriteSetpoint(entity spineapi.EntityRemoteInterface, mode HvacOperationModeType, degC float64) error
4746
}

usecases/api/types.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ const (
1717
EVChargeStateTypeFinished EVChargeStateType = "finished"
1818
)
1919

20+
type HvacOperationModeType string
21+
22+
const (
23+
HvacOperationModeTypeAuto HvacOperationModeType = "auto"
24+
HvacOperationModeTypeOn HvacOperationModeType = "on"
25+
HvacOperationModeTypeOff HvacOperationModeType = "off"
26+
HvacOperationModeTypeEco HvacOperationModeType = "eco"
27+
)
28+
2029
// Defines a phase specific limit data set
2130
type LoadLimitsPhase struct {
2231
Phase model.ElectricalConnectionPhaseNameType // the phase

usecases/ca/cdt/public.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,10 @@ func (e *CDT) mapSetpointsToModes(entity spineapi.EntityRemoteInterface) error {
194194
// - Other errors: Any other errors encountered during the process.
195195
func (e *CDT) WriteSetpoint(
196196
entity spineapi.EntityRemoteInterface,
197-
mode model.HvacOperationModeTypeType,
197+
mode usecasesapi.HvacOperationModeType,
198198
temperature float64,
199199
) error {
200-
if mode == model.HvacOperationModeTypeTypeAuto {
200+
if model.HvacOperationModeTypeType(mode) == model.HvacOperationModeTypeTypeAuto {
201201
// 'Auto' mode is controlled by a timetable, meaning the current setpoint
202202
// for the HVAC system function changes according to the timetable.
203203
// Only the 'Off', 'On', and 'Eco' modes can be directly controlled by a setpoint.
@@ -208,7 +208,7 @@ func (e *CDT) WriteSetpoint(
208208
return api.ErrDataNotAvailable
209209
}
210210

211-
setpointId, found := e.modes[mode]
211+
setpointId, found := e.modes[model.HvacOperationModeTypeType(mode)]
212212
if !found {
213213
return api.ErrDataNotAvailable
214214
}

0 commit comments

Comments
 (0)