Compare commits

..

2 Commits

Author SHA1 Message Date
f8bcfe4d25 fix
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2024-11-11 18:00:13 +01:00
aa3f784a41 mi sensor 2024-11-11 17:59:23 +01:00
4 changed files with 31 additions and 3 deletions

View File

@ -43,7 +43,15 @@ create or replace view temperature_v as
cast(values->'Value'->>'value' as float) as temperature, cast(values->'Value'->>'value' as float) as temperature,
device device
from measurements from measurements
where application in ('Temperature Multisensor', 'Temperature Shelly Plus HT'); where application in ('Temperature Multisensor', 'Temperature Shelly Plus HT')
union
select time,
cast(values->'Temperature'->>'value' as float) as temperature,
device
from measurements
where application = 'Zigbee2MQTT Hottis Eupenstr.' and
attributes->>'DeviceModel' in ('WSDCGQ11LM', 'WSDCGQ01LM');
create or replace view temperature2_v as create or replace view temperature2_v as
select time, select time,
@ -57,7 +65,14 @@ create or replace view humidity_v as
cast(values->'Value'->>'value' as float) as humidity, cast(values->'Value'->>'value' as float) as humidity,
device device
from measurements from measurements
where application in ('Humidity Multisensor'); where application in ('Humidity Multisensor')
union
select time,
cast(values->'Humidity'->>'value' as float) as temperature,
device
from measurements
where application = 'Zigbee2MQTT Hottis Eupenstr.' and
attributes->>'DeviceModel' in ('WSDCGQ11LM', 'WSDCGQ01LM');
create or replace view soil_v as create or replace view soil_v as
select time, select time,

View File

@ -0,0 +1,11 @@
package wsdcgq01lm
type Observation struct {
LinkQuality uint8 `unit:"" json:"linkquality"`
Battery uint8 `unit:"%" json:"battery"`
Humidity float32 `unit:"%H" json:"humidity"`
Pressure float32 `unit:"mbar" json:"pressure"`
Temperature float32 `unit:"°C" json:"temperature"`
Voltage uint16 `unit:"mV" json:"voltage"`
}

View File

@ -4,7 +4,6 @@ type Observation struct {
LinkQuality uint8 `unit:"" json:"linkquality"` LinkQuality uint8 `unit:"" json:"linkquality"`
Battery uint8 `unit:"%" json:"battery"` Battery uint8 `unit:"%" json:"battery"`
Humidity float32 `unit:"%H" json:"humidity"` Humidity float32 `unit:"%H" json:"humidity"`
Pressure float32 `unit:"mbar" json:"pressure"`
Temperature float32 `unit:"°C" json:"temperature"` Temperature float32 `unit:"°C" json:"temperature"`
Voltage uint16 `unit:"mV" json:"voltage"` Voltage uint16 `unit:"mV" json:"voltage"`
} }

View File

@ -11,6 +11,7 @@ import (
"udi/handlers/handler" "udi/handlers/handler"
"udi/database" "udi/database"
"udi/handlers/z2m/models/wsdcgq11lm" "udi/handlers/z2m/models/wsdcgq11lm"
"udi/handlers/z2m/models/wsdcgq01lm"
) )
@ -80,6 +81,8 @@ func (self *Z2MHandler) Handle(message handler.MessageT) {
switch device.DeviceType.ModelIdentifier { switch device.DeviceType.ModelIdentifier {
case "WSDCGQ11LM": case "WSDCGQ11LM":
T = wsdcgq11lm.Observation{} T = wsdcgq11lm.Observation{}
case "WSDCGQ01LM":
T = wsdcgq01lm.Observation{}
default: default:
self.Lost(fmt.Sprintf("No parser found for %s", device.DeviceType.ModelIdentifier), nil, message) self.Lost(fmt.Sprintf("No parser found for %s", device.DeviceType.ModelIdentifier), nil, message)
return return