Ik maak gebruik van een Victron 24/16 in combinatie met de PowerQueen accu (en natuurlijk de Ecoflow). Het laadt inderdaad maar met 16A op, dus het duurt wel ff, maar je hebt natuurlijk dan ook maar zo'n 450W overschot nodig.
En het leuke is, hij heeft een seriële poort, zo
vond ik op Github. Met een beetje knutselen kun je dan een usb-to-serial aansluiten en heb je de mogelijkheid om de stroom in te stellen, voorbeeldcode (
hiervandaan):
Python: charge_current.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| import sys
import serial
ser = serial.Serial("/dev/ttyUSB1", 19200)
chargeCurrent = int(sys.argv[1])
def sprintf(buf, fmt, *args):
buf.write(fmt % args)
numP1 = (int)(chargeCurrent * 10)
numP2 = (0x70 - numP1) & 0xFF
hexP1 = "%02X" % (numP1)
hexP2 = "%02X" % (numP2)
# Write to serial port
msg = ':8F0ED00' + hexP1 + '00' + hexP2 + '\n'
print(msg)
ser.write(msg.encode()) |
Met "python charge_current.py 10" kun je dan de lader op bijvoorbeeld 10A zetten.
Ook wat de lader aan het doen is kun je uitlezen via het VE.direct protocol, eventueel ook met VenusOS van victron (maar dat geeft alleen huidige waarde, geen historie). Helaas heb ik nog geen succesvol bericht gezien dat de lader ook naar 0A kan, minimum is 3 of 5A.
Er zijn ook al wat ESPHome configs te vinden om de lader uit te lezen, ik wil zelf ook graag de lader via ESPHome een beetje terug kunnen schalen, maar daarvoor moet ik me eerst eens verdiepen in de seriële communicatie in ESPHome.
Mijn HomeAssistant scripting voor het ontladen is overigens als volgt, ik heb een template sensor die de gewenste discharge waarde berekent, op basis van de huidige output van de ecoflow (niet via de cloud verbinding, maar via een tussenmeter) en de levering of teruglevering vanuit de slimme meter. Deze waarde gooi ik dan elke 15 seconden met een automatisering naar de ecoflow cloud:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| template:
sensor:
name: "DischargeBatteryPower"
unique_id: "8a1f9418-3b31-4216-a6a6-9b3bb1fdc9ea"
unit_of_measurement: "W"
state: >
{% if (states('sensor.vermogen_dak_1')|float(0) > 150) or (states('sensor.vermogen_dak_2')|float(0) > 150) or (states('input_boolean.batterij_mag_ontladen') == 'off') %}
0
{% elif states('sensor.dsmr_consumption')|float(0) > 300 %}
{{ min([states('sensor.actual_discharge_power')|float(0)|int, 300]) }}
{% else %}
{% if states('sensor.dsmr_consumption')|float(0) > 0 %}
{{ min([(states('sensor.actual_discharge_power')|float(0) + states('sensor.dsmr_consumption')|float(0)) | int, 300]) }}
{% elif states('sensor.dsmr_production')|float(0) > 0 %}
{{ max([(states('sensor.actual_discharge_power')|float(0) - states('sensor.dsmr_production')|float(0)) | int, 0]) }}
{% else %}
{{ min([states('sensor.actual_discharge_power')|float(0)|int, 300]) }}
{% endif %}
{% endif %} |
Beetje overbodige casting naar float en int, maar ik kwam af en toe met null-waardes te zitten, da's nu niet meer. Verder doe ik ook maximaal 300W, ik heb de accu maar met 1 kabel aangesloten en zo kan ik mooi het avond en standby verbruik afvangen, de pieken van de quooker etc. die kan ik toch niet afvangen.
Ik zit er nu alleen nog mee dat ik niet weet wat de SoC van de batterij is. Gebruiken jullie daarvoor het voltage vanuit de ecoflow? Voor mijn gevoel schommelt dat nogal...
Stuur me een PM voor Wemos D1 shields voor het uitlezen van slimme meters, modbus apparaten of het aansturen van Itho mechanische ventilatie en wtw (zie ook V&A: https://tweakers.net/aanbod/user/47321/)