@@ -67,10 +67,10 @@ func NewFromConfig(ctx context.Context, other map[string]any, site site.API) (*E
6767 ConsumptionLimit : 0 ,
6868 FailsafeConsumptionActivePowerLimit : 4200 ,
6969 FailsafeDurationMinimum : 2 * time .Hour ,
70- ProductionNominalMax : 24800 , // e.g. for bidirectional chargers, home batteries, pv inverters
71- ProductionLimit : 0 ,
72- FailsafeProductionActivePowerLimit : 4200 ,
73- ProductionFailsafeDurationMinimum : 2 * time .Hour ,
70+ // ProductionNominalMax: 24800, // e.g. for bidirectional chargers, home batteries, pv inverters
71+ ProductionLimit : 0 ,
72+ FailsafeProductionActivePowerLimit : 4200 ,
73+ ProductionFailsafeDurationMinimum : 2 * time .Hour ,
7474 },
7575 Interval : 10 * time .Second ,
7676 }
@@ -229,7 +229,7 @@ func (c *EEBus) run() error {
229229 if heartbeatErr != nil && c .status != StatusFailsafe {
230230 // LPC-914/2
231231 c .log .WARN .Println ("missing heartbeat- entering failsafe mode" )
232- c .setStatusAndLimit (StatusFailsafe , c .failsafeLimit , true )
232+ c .setLPCStatusAndLimit (StatusFailsafe , c .failsafeLimit , true )
233233 c .setLPPStatusAndLimit (StatusFailsafe , c .productionfailsafeLimit , true )
234234
235235 return nil
@@ -245,7 +245,7 @@ func (c *EEBus) run() error {
245245 // LPC-914/1
246246 if c .consumptionLimit != nil && c .consumptionLimit .IsActive {
247247 c .log .WARN .Println ("active consumption limit" )
248- c .setStatusAndLimit (StatusLimited , c .consumptionLimit .Value , true )
248+ c .setLPCStatusAndLimit (StatusLimited , c .consumptionLimit .Value , true )
249249 }
250250
251251 if c .productionLimit != nil && c .productionLimit .IsActive {
@@ -258,21 +258,21 @@ func (c *EEBus) run() error {
258258 // limit updated?
259259 if ! c .consumptionLimit .IsActive && ! c .productionLimit .IsActive {
260260 c .log .WARN .Println ("inactive consumption limit, inactive production limit" )
261- c .setStatusAndLimit (StatusUnlimited , 0 , false )
261+ c .setLPCStatusAndLimit (StatusUnlimited , 0 , false )
262262 c .setLPPStatusAndLimit (StatusUnlimited , 0 , false )
263263 // break
264264 } else if ! c .consumptionLimit .IsActive && c .productionLimit .IsActive {
265265 c .log .WARN .Println ("inactive consumption limit, active production limit" )
266- c .setStatusAndLimit (StatusLimited , c .consumptionLimit .Value , false )
266+ c .setLPCStatusAndLimit (StatusLimited , c .consumptionLimit .Value , false )
267267 c .setLPPLimit (- 1 * c .productionLimit .Value , true )
268268 } else if c .consumptionLimit .IsActive && ! c .productionLimit .IsActive {
269269 c .log .WARN .Println ("active consumption limit, inactive production limit" )
270- c .setLimit (c .consumptionLimit .Value , true )
270+ c .setLPCLimit (c .consumptionLimit .Value , true )
271271 c .setLPPStatusAndLimit (StatusLimited , 0 , false )
272272 } else if c .consumptionLimit .IsActive && c .productionLimit .IsActive {
273273 // both limits active - senceless, but possible
274274 c .log .WARN .Println ("active consumption limit, active production limit" )
275- c .setLimit (c .consumptionLimit .Value , true )
275+ c .setLPCLimit (c .consumptionLimit .Value , true )
276276 c .setLPPLimit (- 1 * c .productionLimit .Value , true )
277277 }
278278
@@ -281,7 +281,7 @@ func (c *EEBus) run() error {
281281 c .consumptionLimit .IsActive = false
282282
283283 c .log .DEBUG .Println ("consumption limit duration exceeded- return to normal" )
284- c .setLimit (0 , false )
284+ c .setLPCLimit (0 , false )
285285 }
286286
287287 if d := c .productionLimit .Duration ; d > 0 && time .Since (c .PstatusUpdated ) > d {
@@ -299,7 +299,7 @@ func (c *EEBus) run() error {
299299
300300 if cExceeded {
301301 c .log .DEBUG .Println ("Consumption failsafe duration exceeded- returned to normal" )
302- c .setLimit (0 , false )
302+ c .setLPCLimit (0 , false )
303303 }
304304
305305 if pExceeded {
@@ -309,22 +309,22 @@ func (c *EEBus) run() error {
309309
310310 if heartbeatErr == nil {
311311 c .log .DEBUG .Println ("heartbeat returned leaving failsafe mode" )
312- c .setStatusAndLimit (StatusUnlimited , 0 , false )
312+ c .setLPCStatusAndLimit (StatusUnlimited , 0 , false )
313313 c .setLPPStatusAndLimit (StatusUnlimited , 0 , false )
314314 }
315315 }
316316
317317 return nil
318318}
319319
320- func (c * EEBus ) setStatusAndLimit (status status , limit float64 , dimmed bool ) {
320+ func (c * EEBus ) setLPCStatusAndLimit (status status , limit float64 , dimmed bool ) {
321321 c .status = status
322322 c .CstatusUpdated = time .Now ()
323323
324- c .setLimit (limit , dimmed )
324+ c .setLPCLimit (limit , dimmed )
325325}
326326
327- func (c * EEBus ) setLimit (limit float64 , dimmed bool ) {
327+ func (c * EEBus ) setLPCLimit (limit float64 , dimmed bool ) {
328328 c .lpc_root .Dim (dimmed )
329329 c .lpc_root .SetMaxPower (limit )
330330}
0 commit comments