From 133ebf4d710ed5904db66d51dfd840ba025733bb Mon Sep 17 00:00:00 2001 From: RenatusRo <126881912+RenatusRo@users.noreply.github.com> Date: Sat, 8 Jun 2024 15:01:00 +0200 Subject: [PATCH] Mqtt: add FloatSetter (#14246) --- provider/mqtt.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/provider/mqtt.go b/provider/mqtt.go index 13b33e009..df4646533 100644 --- a/provider/mqtt.go +++ b/provider/mqtt.go @@ -157,6 +157,20 @@ func (m *Mqtt) IntSetter(param string) (func(int64) error, error) { }, nil } +var _ SetFloatProvider = (*Mqtt)(nil) + +// FloatSetter publishes topic with parameter replaced by float value +func (m *Mqtt) FloatSetter(param string) (func(float64) error, error) { + return func(v float64) error { + payload, err := setFormattedValue(m.payload, param, v) + if err != nil { + return err + } + + return m.client.Publish(m.topic, m.retained, payload) + }, nil +} + var _ SetBoolProvider = (*Mqtt)(nil) // BoolSetter invokes script with parameter replaced by bool value