Add Shelly EM (2 channels) meter (#4273)

This commit is contained in:
Markus Thierolf 2022-09-02 11:26:55 +02:00 • committed by GitHub
parent cc1c725313
commit c8b6698dcb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View file

@ -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 {

View file

@ -42,4 +42,8 @@ type Gen1StatusResponse struct {
Meters []struct {
Power float64
}
// Shelly EM meter JSON response
EMeters []struct {
Power float64
}
}