Add Shelly EM (2 channels) meter (#4273)
This commit is contained in:
parent
cc1c725313
commit
c8b6698dcb
2 changed files with 10 additions and 3 deletions
|
|
@ -87,12 +87,15 @@ func (d *Connection) CurrentPower() (float64, error) {
|
|||
return 0, err
|
||||
}
|
||||
|
||||
if d.channel >= len(res.Meters) {
|
||||
switch {
|
||||
case d.channel < len(res.Meters):
|
||||
power = res.Meters[d.channel].Power
|
||||
case d.channel < len(res.EMeters):
|
||||
power = res.EMeters[d.channel].Power
|
||||
default:
|
||||
return 0, errors.New("invalid channel, missing power meter")
|
||||
}
|
||||
|
||||
power = res.Meters[d.channel].Power
|
||||
|
||||
default:
|
||||
var res Gen2StatusResponse
|
||||
if err := d.execGen2Cmd("Shelly.GetStatus", false, &res); err != nil {
|
||||
|
|
|
|||
|
|
@ -42,4 +42,8 @@ type Gen1StatusResponse struct {
|
|||
Meters []struct {
|
||||
Power float64
|
||||
}
|
||||
// Shelly EM meter JSON response
|
||||
EMeters []struct {
|
||||
Power float64
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue