Compare commits

...

5 Commits

Author SHA1 Message Date
23962cdebc new model
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2024-11-15 11:11:35 +01:00
b9e639e0a2 additional model
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2024-11-15 10:52:29 +01:00
1870089942 queries
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-11-11 20:02:12 +01:00
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
5 changed files with 56 additions and 3 deletions

View File

@ -43,7 +43,22 @@ create or replace view temperature_v as
cast(values->'Value'->>'value' as float) as temperature,
device
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 voltage_v as
select time,
cast(values->'Voltage'->>'value' as float) / 1000 as voltage,
device
from measurements
where application = 'Zigbee2MQTT Hottis Eupenstr.' and
attributes->>'DeviceModel' in ('WSDCGQ11LM', 'WSDCGQ01LM');
create or replace view temperature2_v as
select time,
@ -57,7 +72,14 @@ create or replace view humidity_v as
cast(values->'Value'->>'value' as float) as humidity,
device
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
select time,

View File

@ -0,0 +1,15 @@
package gs361ah04
type Observation struct {
LinkQuality uint8 `unit:"" json:"linkquality"`
Battery uint8 `unit:"%" json:"battery"`
AwayMode string `unit:"" json:"away_mode"`
ChildLock string `unit:"" json:"child_lock"`
CurrentHeatingSetpoint float32 `unit:"°C" json:"current_heating_setpoint"`
LocalTemperature float32 `unit:"°C" json:"local_temperature"`
Preset string `unit:"" json:"preset"`
SystemMode string `unit:"" json:"system_mode"`
ValveDetection string `unit:"" json:"valve_detection"`
WindowDetection string `unit:"" json:"window_detection"`
}

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"`
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

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