3 Commits
Author SHA1 Message Date
gisle 204f372be2 fix mill
continuous-integration/drone/push Build is failing
2024-11-08 22:55:23 +01:00
gisle 083df1749b fix mill
continuous-integration/drone/push Build is failing
2024-11-08 21:34:35 +01:00
gisle 511ef97616 fix mill
continuous-integration/drone/push Build is failing
2024-11-08 21:26:28 +01:00
+8 -7
View File
@@ -20,7 +20,8 @@ type WifiBridge struct {
ID string
IP string
state *device.State
state *device.State
desiredState device.State
mx sync.Mutex
started bool
@@ -36,6 +37,8 @@ func (w *WifiBridge) SetState(id string, state device.State) bool {
return false
}
w.desiredState = state
return true
}
@@ -78,7 +81,7 @@ func (w *WifiBridge) refresh() error {
return err
}
if w.state != nil {
if w.state == nil {
w.state = &device.State{
Temperature: gentools.Ptr(temp),
}
@@ -93,9 +96,7 @@ func (w *WifiBridge) refresh() error {
})
}
w.state.Temperature = gentools.Ptr(*w.state.Temperature - math.Mod(*w.state.Temperature, 0.5))
if math.Abs(temp-*w.state.Temperature) >= 0.1 {
if w.desiredState.Temperature != nil && math.Abs(temp-*w.desiredState.Temperature) >= 0.1 {
if err := w.writeTemperature(); err != nil {
return err
}
@@ -112,7 +113,7 @@ func (w *WifiBridge) getTemperature() (float64, error) {
req, err := http.NewRequest(
"GET",
"http://%s/set-temperature",
fmt.Sprintf("http://%s/set-temperature", w.IP),
bytes.NewReader(body),
)
if err != nil {
@@ -144,7 +145,7 @@ func (w *WifiBridge) writeTemperature() error {
req, err := http.NewRequest(
"POST",
"http://%s/set-temperature",
fmt.Sprintf("http://%s/set-temperature", w.IP),
bytes.NewReader(body),
)
if err != nil {