From 20a3af2344a1b17e8cfcb82cff33b568227e8eee Mon Sep 17 00:00:00 2001
From: jkerdreux-imt <jerome.kerdreux@imt-atlantique.fr>
Date: Sat, 23 Nov 2024 02:16:07 +0100
Subject: [PATCH] move to convertFloat

Still moving to convert..
---
 xaal.go | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/xaal.go b/xaal.go
index 9f3ade6..86d4320 100644
--- a/xaal.go
+++ b/xaal.go
@@ -114,8 +114,8 @@ func NewThermometer(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInte
 }
 
 func (dev *Thermometer) update(payload map[string]interface{}) {
-	value, exists := payload[dev.Expose.Name].(float64)
-	if exists {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
 		dev.GetAttribute("temperature").SetValue(value)
 	}
 }
@@ -128,8 +128,8 @@ func NewHygrometer(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInter
 }
 
 func (dev *Hygrometer) update(payload map[string]interface{}) {
-	value, exists := payload[dev.Expose.Name].(float64)
-	if exists {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
 		dev.GetAttribute("humidity").SetValue(value)
 	}
 }
@@ -167,8 +167,8 @@ func NewBattery(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInterfac
 }
 
 func (dev *Battery) update(payload map[string]interface{}) {
-	value, exists := payload[dev.Expose.Name].(float64)
-	if exists {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
 		dev.GetAttribute("level").SetValue(value)
 	}
 }
@@ -232,13 +232,13 @@ func NewPowerMeter(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInter
 
 func (dev *PowerMeter) update(payload map[string]interface{}) {
 	// power
-	value, exists := payload[dev.Expose.Name].(float64)
-	if exists {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
 		dev.GetAttribute("power").SetValue(value)
 	}
 	// energy
-	value, exists = payload["energy"].(float64)
-	if exists {
+	value, err = convertToFloat64(payload["energy"])
+	if err == nil {
 		dev.GetAttribute("energy").SetValue(value)
 	}
 }
-- 
GitLab