Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cmd/scan.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ type validator struct {
}

func (v validator) check(f float64) bool {
tolerance := 0.1 // 10%
tolerance := 0.22 // 22%
for _, ref := range v.refs {
if f >= (1-tolerance)*ref && f <= (1+tolerance)*ref {
return true
Expand Down Expand Up @@ -94,8 +94,8 @@ func scan(cmd *cobra.Command, args []string) {
deviceList := make(map[int]meters.Device)
log.Printf("starting bus scan on %s", adapter)

// validate against 110V and 230V to make detection reliable
v := validator{[]float64{110, 230}}
// validate against battery voltage and 110V and 230V to make detection reliable
v := validator{[]float64{12, 24, 36, 48, 110, 230}}
Comment thread
SirkoVZ marked this conversation as resolved.
Outdated

SCAN:
// loop over all valid slave addresses
Expand Down
209 changes: 114 additions & 95 deletions meters/measurement_enumer.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 38 additions & 1 deletion meters/measurements.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,26 @@ const (
// Battery
ChargeState
BatteryVoltage

BatteryCurrent
BatteryPower
PhaseAngle
LoadVoltage
LoadCurrent
LoadPower
BatteryTemperature
InsideTemperature
MaxPVVoltage
MinPVVoltage
MaxBattVoltage
MinBattVoltage
ConsumedEnergyToday
ConsumedEnergyMonth
ConsumedEnergyYear
ConsumedEnergyTotal
GeneratedEnergyToday
GeneratedEnergyMonth
GeneratedEnergyYear
GeneratedEnergyTotal
)

var iec = map[Measurement][]string{
Expand Down Expand Up @@ -234,7 +252,26 @@ var iec = map[Measurement][]string{
DCEnergyS3: {"String 3 Generation", "kWh"},
ChargeState: {"Charge State", "%"},
BatteryVoltage: {"Battery Voltage", "V"},
BatteryCurrent: {"Battery Current", "A"},
BatteryPower: {"Battery Power", "W"},
PhaseAngle: {"Phase Angle", "°"},
LoadVoltage: {"Load Voltage", "V"},
LoadCurrent: {"Load Current", "A"},
LoadPower: {"Load Power", "W"},
BatteryTemperature: {"Battery Temperature", "°C"},
InsideTemperature: {"Battery Temperature", "°C"},
MaxPVVoltage: {"max PV Voltage today", "V"},
Comment thread
SirkoVZ marked this conversation as resolved.
Outdated
MinPVVoltage: {"min PV Voltage today", "V"},
MaxBattVoltage: {"max Battery Voltage today", "V"},
MinBattVoltage: {"min Battery Voltage today", "V"},
ConsumedEnergyToday: {"Consumed Energy Today", "kWh"},
ConsumedEnergyMonth: {"Consumed Energy Month", "kWh"},
ConsumedEnergyYear: {"Consumed Energy Year", "kWh"},
ConsumedEnergyTotal: {"Consumed Energy Total", "kWh"},
GeneratedEnergyToday: {"Consumed Energy Today", "kWh"},
GeneratedEnergyMonth: {"Consumed Energy Month", "kWh"},
GeneratedEnergyYear: {"Consumed Energy Year", "kWh"},
GeneratedEnergyTotal: {"Consumed Energy Total", "kWh"},
}

// MarshalText implements encoding.TextMarshaler
Expand Down
Loading