diff --git a/core/site.go b/core/site.go index 3860ae9b3..f23f7b74b 100644 --- a/core/site.go +++ b/core/site.go @@ -442,7 +442,7 @@ func (site *Site) updateMeters() error { i1, i2, i3, err := phaseMeter.Currents() if err == nil { site.log.DEBUG.Printf("grid currents: %.3gA", []float64{i1, i2, i3}) - site.publish("gridCurrents", [3]float64{i1, i2, i3}) // array[3] for mqtt special-casing phases + site.publish("gridCurrents", []float64{i1, i2, i3}) } else { site.log.ERROR.Printf("grid meter currents: %v", err) } diff --git a/server/mqtt.go b/server/mqtt.go index 2e4a46c91..6223b812e 100644 --- a/server/mqtt.go +++ b/server/mqtt.go @@ -63,7 +63,7 @@ func (m *MQTT) publishSingleValue(topic string, retained bool, payload interface func (m *MQTT) publish(topic string, retained bool, payload interface{}) { // publish phase values - if slice, ok := payload.([3]float64); ok { + if slice, ok := payload.([]float64); ok && len(slice) == 3 { var total float64 for i, v := range slice { total += v