generated from rmcguire/go-server-with-otel
33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
package econetgrpc
|
|
|
|
import (
|
|
rheemcloud "github.com/kevinburke/rheemcloud-go"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
|
|
pb "gitea.libretechconsulting.com/rmcguire/econet-exporter/api/econet/v1alpha1"
|
|
)
|
|
|
|
func deviceToProto(d *rheemcloud.Device) *pb.Device {
|
|
min, max := d.SetpointLimits()
|
|
return &pb.Device{
|
|
SerialNumber: d.SerialNumber(),
|
|
DeviceId: d.DeviceID(),
|
|
FriendlyName: d.FriendlyName(),
|
|
Type: d.Type().String(),
|
|
GenericType: d.GenericType(),
|
|
Connected: d.Connected(),
|
|
WifiSignal: int32(d.WiFiSignal()),
|
|
Mode: d.Mode().String(),
|
|
Enabled: d.Enabled(),
|
|
Running: d.Running(),
|
|
RunningState: d.RunningState(),
|
|
Setpoint: int32(d.Setpoint()),
|
|
SetpointMin: int32(min),
|
|
SetpointMax: int32(max),
|
|
HotWaterAvailability: int32(d.HotWaterAvailability()),
|
|
AlertCount: int32(d.AlertCount()),
|
|
Away: d.Away(),
|
|
LastUpdated: timestamppb.New(d.LastUpdated),
|
|
}
|
|
}
|