SOC_Setpoint
list_only
currentSoC
price_level
price
minSoc
text
dropDebugPrint
soc_action_info
action_list
priceOfHour
battery_kwh_costs
price_list_48h
tibber_prices_today_ids
level_list_48h
max_price
tibber_prices_tomorrow_ids
current_soc
min_price
soc_min_limit
battery_min_soc_id_write_W
solar_estimation_today
soc_max_limit
ID_tibber_current_total
solar_estimation_tomorrow
i
soc_negativ_price_limit
solar_estimation_today_id
min_soc_cheap
solar_estimation_tomorrow_id
tibber_level_today_ids
min_soc_expensive
price_delta
k
solar_kwh_threshold
battery_min_soc_id_read_N
tibber_starts_at_tomorrow_id
tibber_level_tomorrow_ids
ID_tibber_current_level
enableCharge
set_battery_minSOC
Beschreibe diese Funktion …
EDIT MinimumSocLimit: mqtt-client.0.W.<YOUR VICTRON ID>.settings.0.Settings.CGwacs.BatteryLife.MinimumSocLimit
Set the topic to your min soc limit
list_only
false
FALSE
Object ID
battery_min_soc_id_write_W
TRUE
{"value":
50
SOC_Setpoint
20
soc_min_limit
100
soc_max_limit
}
0
decideTheAction
Beschreibe diese Funktion …
soc_action_info
Pending
AND
LTE
price
0
GT
price
MULTIPLY
1
battery_kwh_costs
-1
Energy is free. Idle battery
list_only
list_only
LTE
val
Object ID
ID_tibber_current_total
MULTIPLY
1
battery_kwh_costs
-1
costs are less then charging costs
Charging earns money. Charging.
list_only
soc_action_info
soc_negativ_price_limit
soc_negativ_price_limit
list_only
soc_action_info
generateActionList
Beschreibe diese Funktion …
action_list
price_list_48h
level_list_48h
current_soc
ROUND
3.1
50
value
val
Object ID
battery_min_soc_id_read_N
20
soc_min_limit
100
soc_max_limit
To see the behaviour in advance, a action list is generated
i
tibber_prices_today_ids
INSERT
LAST
price_list_48h
val
Object ID
i
i
tibber_level_today_ids
INSERT
LAST
level_list_48h
val
Object ID
i
TRUE
<
12:00
val
Object ID
tibber_starts_at_tomorrow_id
log
Prices for tomorrow available
i
tibber_prices_tomorrow_ids
INSERT
LAST
price_list_48h
val
Object ID
i
i
tibber_level_tomorrow_ids
INSERT
LAST
level_list_48h
val
Object ID
i
log
Prices for tomorrow not available
k
1
10
level_list_48h
1
INSERT
LAST
action_list
current_soc
GET
FROM_START
level_list_48h
k
GET
FROM_START
price_list_48h
k
TRUE
log
test
JOIN
action_list
,
soc_action_list
JOIN
action_list
,
false
FALSE
javascript.0.soc_action_list
TRUE
JOIN
action_list
,
0
tibber_price_list
JOIN
price_list_48h
,
false
FALSE
javascript.0.tibber_price_list
TRUE
JOIN
price_list_48h
,
0
decrease_min_soc
Beschreibe diese Funktion …
Decrease the minSOC to discharge the battery
will only decrease the minSOC to prevent charge
LTE
minSoc
current_soc
minSoc
list_only
increase_min_soc
Beschreibe diese Funktion …
Increases the minSOC to charge the battery
it will only increase, to prevent discharge
GT
minSoc
current_soc
minSoc
list_only
list_only
get_min_max_prices
Beschreibe diese Funktion …
priceOfHour
tibber_prices_today_ids
LT
max_price
val
priceOfHour
max_price
val
priceOfHour
GT
min_price
val
priceOfHour
min_price
val
priceOfHour
priceOfHour
tibber_prices_tomorrow_ids
LT
max_price
val
priceOfHour
max_price
val
priceOfHour
GT
min_price
val
priceOfHour
min_price
val
priceOfHour
idle_battery
Beschreibe diese Funktion …
Idle the battery by setting the minSOC
to the current SOC
current_soc
list_only
debugOutput
Beschreibe diese Funktion …
dropDebugPrint
log
test
text
User Input Area
battery_kwh_costs
0.12
limits to keep battery in healthful states
and to preserve buffer to charge from solar
soc_min_limit
20
soc_max_limit
95
SOC limits for cheap, expensive and negativ prices
min_soc_cheap
75
min_soc_expensive
40
soc_negativ_price_limit
100
Threshold to disable charging from grid (Summer mode)
solar_kwh_threshold
9
EDIT the object ids need to be changed to your ids
tibberconnect.0.Homes.<YOURTIBBERID>.CurrentPrice.level
ID_tibber_current_level
tibberconnect.0.Homes.7870.CurrentPrice.level
tibberconnect.0.Homes.<YOURTIBBERID>.CurrentPrice.total
ID_tibber_current_total
tibberconnect.0.Homes.7870.CurrentPrice.total
tibberconnect.0.Homes.<YOURTIBBERID>.PricesTomorrow.0.startsAt
tibber_starts_at_tomorrow_id
tibberconnect.0.Homes.7870.PricesTomorrow.0.startsAt
channel[state.id=tibberconnect.0.Homes.<YOURTIBBERID>.PricesToday.*.total]
tibber_prices_today_ids
channel[state.id=tibberconnect.0.Homes.7870.PricesToday.*.total]
channel[state.id=tibberconnect.0.Homes.<YOURTIBBERID>.PricesToday.*.level]
tibber_level_today_ids
channel[state.id=tibberconnect.0.Homes.7870.PricesToday.*.level]
channel[state.id=tibberconnect.0.Homes.<YOURTIBBERID>.PricesTomorrow.*.total]
tibber_prices_tomorrow_ids
channel[state.id=tibberconnect.0.Homes.7870.PricesTomorrow.*.total]
channel[state.id=tibberconnect.0.Homes.<YOURTIBBERID>.PricesTomorrow.*.level]
tibber_level_tomorrow_ids
channel[state.id=tibberconnect.0.Homes.7870.PricesTomorrow.*.level]
mqtt-client.0.N.<YOURVICTRONID>.vebus.276.Soc
battery_min_soc_id_read_N
mqtt-client.0.N.93ffff3451112.vebus.276.Soc
mqtt-client.0.W.<YOURVICTRONID>.vebus.276.Soc
battery_min_soc_id_write_W
mqtt-client.0.W.93ffff3451112.vebus.276.Soc
pvforecast.<YOURPVCASTID>.summary.energy.today
solar_estimation_today_id
pvforecast.1.summary.energy.today
pvforecast.<YOURPVCASTID>.summary.energy.tomorrow
solar_estimation_tomorrow_id
pvforecast.1.summary.energy.tomorrow
generateActionList is optional.
* * * * *
Calulation area
save current soc
current_soc
ROUND
3.1
50
value
val
Object ID
battery_min_soc_id_read_N
20
soc_min_limit
100
soc_max_limit
Check if price is negative
current_soc
val
Object ID
ID_tibber_current_level
val
Object ID
ID_tibber_current_total
FALSE
TRUE
*/60 * * * *