Files
econet-exporter/pkg/econet/econetgrpc/device.go
T
rmcguire b2ec72352a
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / container-images (push) Has been skipped
Build and Publish / helm-release (push) Successful in 19s
Build and Publish / check-chart (push) Successful in 52s
implement econet exporter
2026-07-04 17:22:31 -04:00

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),
}
}