- Notifications
You must be signed in to change notification settings - Fork814
Description
Describe the bug
Nach dem Update auf das heutige Nightly (c4682de) startet meine Umgebung nicht mehr. Vorherige Version war: 0.201.1 (2ea6c70)
Es sieht für mich so aus als wenn es mit dem Sungrow Modbus zusammenhängt. Gab es dort Änderungen die ich bei mir noch umsetzen muss und die ich übersehen habe?
Ein Downgrade auf die 0.201.1 (2ea6c70) löst das Problem vorerst.
Steps to reproduce
- Update auf das aktuelle Nightly vom 27.03.2025
- evcc startet
- Fehlermeldung "Fehler beim Starten. Überprüfe deine Konfiguration und starte neu." erscheint
...
Configuration details
Fehlermeldung:meter [db:5] cannot create meter 'db:5':cannot create meter type 'template': yaml: line 102: could not find expected ':':type:custompower:source:go# handling old and new firmwarescript:| res := float64(bp) if (brs&0x2 > 0 || bc < 0) && bp >= 0 { res = float64(-bp) } resin: -name:brstype:intconfig:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:type:inputaddress:13000# Battery running statedecode:uint16 -name:bctype:intconfig:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:type:inputaddress:13020# Battery currentdecode:int16 -name:bptype:intconfig:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:type:inputaddress:13021# Battery powerdecode:int16energy:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13026# Total battery discharge energy, 0.1kWhtype:inputdecode:uint32sscale:0.1soc:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13022# Battery leveltype:inputdecode:int16scale:0.1batterymode:source:switchswitch: -case:1# normalset:source:sequenceset: -source:constvalue:0# Self-consumption mode (Default)set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13049# EMS mode selectiontype:writesingledecode:uint16 -source:constvalue:0xCC# Stop (Default)set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13050# Charge/discharge commandtype:writesingledecode:uint16# Reset max battery discharge power -source:constvalue:8700set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:33047# Battery max discharge powertype:writesingledecode:uint16 -case:2# holdset:source:sequenceset: -source:constvalue:0# Self-consumption mode (Default)set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13049# EMS mode selectiontype:writesingledecode:uint16 -source:constvalue:0xCC# Stop (Default)set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13050# Charge/discharge commandtype:writesingledecode:uint16# Set max battery discharge power, effectively stops discharging -source:constvalue:1# 0.01kW, min allowed value for registerset:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:33047# Battery max discharge powertype:writesingledecode:uint16 -case:3# chargeset:source:sequenceset: -source:constvalue:2# Forced mode (charge/discharge/stop)set:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13049# EMS modetype:writesingledecode:uint16 -source:constvalue:0xAA# Chargeset:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13050# Charge/discharge commandtype:writesingledecode:uint16 -source:constvalue:8700# Wset:source:modbusid:1# Modbus TCPuri:192.168.40.247:502rtu:falseregister:address:13051# Charge powertype:writesingledecode:uint16capacity:12.8# kWhKonfiguration (/etc/evcc.yaml):network:schema:httphost:localhostport:7070log:debuglevels:site:debuglp-1:debuglp-2:debuglp-3:debuglp-4:debugdatabase:type:sqlitedsn:/var/lib/evcc/evcc.dbinterval:10s# control cycle intervalplant:*****# sponsor token: *****sponsortoken:*****meters: -name:gridtype:templatetemplate:sungrow-hybridusage:gridmodbus:tcpipid:1host:192.168.40.247# Hostnameport:502# Port -name:SDM72type:templatetemplate:eastron-sdm72usage:chargermodbus:tcpipid:1host:192.168.40.178# Hostnameport:8899# Portchargers: -name:goe_charger1type:templatetemplate:go-e-v3host:192.168.40.133 -name:goe_charger2type:templatetemplate:go-e-v3host:192.168.40.124 -name:tasmota_plugtype:templatetemplate:tasmotahost:192.168.40.249# IP-Adresse oder Hostnamestandbypower:10# Leistung oberhalb des angegebenen Wertes wird als Ladeleistung gewertet (Optional# - name: tasmota_pv# type: custom# status: # charger status A..F# source: mqtt# topic: evcc/fhem/meter/charger_status# enabled: # charger enabled state (true/false or 0/1)# source: http# uri: http://192.168.40.176/cm?cmnd=state# jq: if .POWER1 == "on" then true else false end# enable: # charger enable state (true/false or 0/1)# source: http# uri: http://192.168.40.176/cm?cmnd=POWER1%20{{if .enable}}on{{else}}off{{end}}# maxcurrent: # set charger max current (A)# source: script# cmd: /bin/sh -c 'echo 1'# features:# # no vehicle# - integrateddevice# # SoC as temperature# - heating# icon: heatpump -name:tasmota_pvtype:sgreadysetmode:source:switchswitch: -case:1# normalset:# Hier wird der Funktionsaufruf eingefügt, der die Heizung in den Normalbetrieb setzt.# Dafür können alle üblichen Plugins verwendet werden.source:constvalue:falseset:source:chargerconfig:type:templatetemplate:tasmota# Boost-Kontakt der Wärmepumpehost:192.168.40.176channel:1 -case:2# boostset:# Hier wird der Funktionsaufruf eingefügt, der die Heizung in den Boostbetrieb setzt.source:constvalue:trueset:source:chargerconfig:type:templatetemplate:tasmota# Boost-Kontakt der Wärmepumpehost:192.168.40.176channel:1 -case:3# dimm (not supported, yet)set:source:errorerror:ErrNotAvailablegetmode:# hier wird der Funktionsaufruf eingefügt, der den Status der Heizung zurückmeldet:# 1 für Normalbetrieb# 2 für Boostbetrieb# 3 für reduzierte Leistungsource:calcadd: -source:constvalue:1 -source:chargerconfig:type:templatetemplate:tasmota# Boost-Kontakt der Wärmepumpehost:192.168.40.176channel:1temp:source:mqtttopic:ebusd/ctlv2/HwcStorageTempjq:.tempv.valuevehicles: -name:IONIQ5type:customtitle:Hyundai IONIQ 5capacity:72.6# kWhphases:0onIdentify:# set defaults when vehicle is identifiedmode:pvpriority:5soc:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/socrange:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/rangeodometer:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/Odoclimater:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/remoteClimateState# climater:# source: go# script: |# println(remoteClimateState)# return remoteClimateState != "off"# in:# - name: remoteClimateState# type: string# config:# source: mqtt# topic: PyOBD_evSoc/hyundai-ioniq5/remoteClimateState# timeout: 10 -name:IONIQ5_rfidtype:customtitle:Hyundai IONIQ 5 (Schnell-Laden)capacity:72.6# kWhphases:0identifiers: -IONIQ5onIdentify:# set defaults when vehicle is identifiedmode:nowsoc:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/socrange:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/rangeodometer:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/Odoclimater:source:mqtttopic:PyOBD_evSoc/hyundai-ioniq5/remoteClimateState -name:konatype:customtitle:Hyundai Kona# display name for UIcapacity:64# kWhphases:0onIdentify:# set defaults when vehicle is identifiedmode:pvpriority:2soc:source:mqtttopic:PyOBD_evSoc/hyundai-kona/socrange:source:mqtttopic:PyOBD_evSoc/hyundai-kona/rangeodometer:source:mqtttopic:PyOBD_evSoc/hyundai-kona/Odoclimater:source:mqtttopic:PyOBD_evSoc/hyundai-kona/remoteClimateState -name:kona_rfidtype:customtitle:Hyundai Kona (Schnell-Laden)# display name for UIcapacity:64# kWhphases:0identifiers: -KonaonIdentify:# set defaults when vehicle is identifiedmode:nowsoc:source:mqtttopic:PyOBD_evSoc/hyundai-kona/socrange:source:mqtttopic:PyOBD_evSoc/hyundai-kona/rangeodometer:source:mqtttopic:PyOBD_evSoc/hyundai-kona/Odoclimater:source:mqtttopic:PyOBD_evSoc/hyundai-kona/remoteClimateState -name:e_biketype:templatetemplate:offlineicon:biketitle:VELO DE VILLE# Wird in der Benutzeroberfläche angezeigt (Optional)capacity:0.625# Akkukapazität in kWh (Optional)phases:1 -name:e_scootertype:templatetemplate:offlineicon:scootertitle:ePowerFun ePF 2 XT 835# Wird in der Benutzeroberfläche angezeigt (Optional)capacity:0.835# Akkukapazität in kWh (Optional)phases:1# - name: vaillant# type: custom# icon: heatpump# phases: 3# title: aroTHERM plus # Wird in der Benutzeroberfläche angezeigt (Optional)# soc:# source: mqtt# # broker: 192.168.178.181:1883# topic: ebusd/ctlv2/HwcStorageTemp# jq: .tempv.valueloadpoints: -title:Parkplatzcircuit:main# parent to the main circuitcharger:goe_charger1vehicle:konamode:pv# Standardmodus zum Ladenphases:0# Automatische Umschaltung zwischen 1 und 3 Phasenenable:threshold:0# 0 = Export die minimale Ladeleistung erreicht habendelay:1mdisable:threshold:200# Maximaler Netzbezug von 200W ist erlaubtdelay:6msoc:poll:mode:connectedinterval:10s -title:Carportcircuit:main# parent to the main circuitcharger:goe_charger2vehicle:IONIQ5mode:pv# Standardmodus zum Ladenphases:0enable:threshold:0# 0 = Export die minimale Ladeleistung erreicht habendelay:1mdisable:threshold:200# Maximaler Netzbezug von 200W ist erlaubtdelay:6msoc:poll:mode:connectedinterval:10s -title:Tasmota Steckdose# circuit: main # parent to the main circuitcharger:tasmota_plugvehicle:e_scootermode:off# Standardmodus zum Laden# phases: 1enable:threshold:0# 0 = Export die minimale Ladeleistung erreicht habendelay:1mdisable:threshold:200# Maximaler Netzbezug von 200W ist erlaubtdelay:1m -title:Vaillant aroTHERM pluscircuit:main# parent to the main circuitcharger:tasmota_pv# vehicle: vaillantmeter:SDM72enable:threshold:-2200# 0 = Export die minimale Ladeleistung erreicht habendelay:10mdisable:threshold:0# Maximaler Netzbezug von 0W ist erlaubtdelay:20m# Laufzeit mindestens 20 Minutensoc:poll:mode:alwaysinterval:1mcircuits: -name:main# eindeutiger Name, wird als Referenz für andere Circuits verwendettitle:Hauptstromkreis# Anzeige in der UI (später)maxPower:30000# 30kW (optional)maxCurrent:50# 63A main circuit breaker (optional)# GetMaxPower:# source: mqtt# topic: evcc/fhem/hems/limit# timeout: 1140mmeter:grid# optionalmqtt:broker:192.168.40.248:1883topic:evccclientid:evccsite:title:Meine Sonnentankstellemeters:grid:gridresidualPower:300influx:url:http://192.168.30.233:8086database:evcc# push messagesmessaging:events:start:title:Ladevorgang gestartetmsg:Ladevorgang von "${title}" wurde mit Modus "${mode}" und {{round (divf .vehicleSoc) 0 }} % gestartet bei ${pvPower:%.1fk}kW PV und Hausspeicher bei {{round (divf .batterySoc) 0 }} %stop:title:Ladevorgang beendetmsg:${title} hat ${chargedEnergy:%.1fk}kWh in ${chargeDuration} und {{round (divf .vehicleSoc) 0 }} % geladenconnect:title:Fahrzeug verbundenmsg:${title} an Ladepunkt ${title} verbundendisconnect:title:Fahrzeug getrenntmsg:${title} an Ladepunkt ${title} nach ${connectedDuration} getrenntservices: -type:shouturi:gotify://gotify.#####/#####/?priority=0# - type: telegram# token: *****# chats: *****# - 706989998
Log details
[main ] INFO 2025/03/27 07:45:06 evcc 0.202.0 (c4682de1)[main ] INFO 2025/03/27 07:45:06 using config file: /etc/evcc.yaml[db ] INFO 2025/03/27 07:45:06 using sqlite database: /var/lib/evcc/evcc.db[mqtt ] INFO 2025/03/27 07:45:07 connecting evcc at tcp://192.168.40.248:1883[mqtt ] DEBUG 2025/03/27 07:45:07 tcp://192.168.40.248:1883 connected[eebus ] INFO 2025/03/27 07:45:07 Local SKI: d7f50b561b7f9746ad4507df65c118b5c394a011[eebus ] DEBUG 2025/03/27 07:45:07 starting websocket server on :4712[eebus ] DEBUG 2025/03/27 07:45:07 mdns: announce[eebus ] DEBUG 2025/03/27 07:45:07 mdns: using zeroconf[main ] INFO 2025/03/27 07:45:07 listening at :7070[main ] FATAL 2025/03/27 07:45:07 meter [db:5] cannot create meter 'db:5': cannot create meter type 'template': yaml: line 102: could not find expected ':': type: custom power: source: go # handling old and new firmware script: | res := float64(bp) if (brs&0x2 > 0 || bc < 0) && bp >= 0 { res = float64(-bp) } res in: - name: brs type: int config: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: type: input address: 13000 # Battery running state decode: uint16 - name: bc type: int config: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: type: input address: 13020 # Battery current decode: int16 - name: bp type: int config: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: type: input address: 13021 # Battery power decode: int16 energy: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13026 # Total battery discharge energy, 0.1kWh type: input decode: uint32s scale: 0.1 soc: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13022 # Battery level type: input decode: int16 scale: 0.1 batterymode: source: switch switch: - case: 1 # normal set: source: sequence set: - source: const value: 0 # Self-consumption mode (Default) set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13049 # EMS mode selection type: writesingle decode: uint16 - source: const value: 0xCC # Stop (Default) set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13050 # Charge/discharge command type: writesingle decode: uint16 # Reset max battery discharge power - source: const value:8700 set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 33047 # Battery max discharge power type: writesingle decode: uint16 - case: 2 # hold set: source: sequence set: - source: const value: 0 # Self-consumption mode (Default) set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13049 # EMS mode selection type: writesingle decode: uint16 - source: const value: 0xCC # Stop (Default) set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13050 # Charge/discharge command type: writesingle decode: uint16 # Set max battery discharge power, effectively stops discharging - source: const value: 1 # 0.01kW, min allowed value for register set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 33047 # Battery max discharge power type: writesingle decode: uint16 - case: 3 # charge set: source: sequence set: - source: const value: 2 # Forced mode (charge/discharge/stop) set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13049 # EMS mode type: writesingle decode: uint16 - source: const value: 0xAA # Charge set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13050 # Charge/discharge command type: writesingle decode: uint16 - source: const value: 8700 # W set: source: modbus id: 1 # Modbus TCP uri: 192.168.40.247:502 rtu: false register: address: 13051 # Charge power type: writesingle decode: uint16 capacity: 12.8 # kWh[main ] FATAL 2025/03/27 07:45:07 will attempt restart in: 15m0s
What type of operating system or environment does evcc run on?
Linux
External automation
- I have made sure that no external automation like HomeAssistant or Node-RED is active or accessing any of the mentioned devices when this issue occurs.
Nightly build
- I have verified that the issue is reproducible with the latest nightly build
Version
0.202.0 (c4682de)