Evcc Binding [4.0.0.0;6.0.0.0)

Thanks, could make evcc work first time with your files in my openHABian based OH5.0.3 (actually). When I started to use evcc in Summer actively, evcc was already not anymore working with OH at all. Hope configuration will survive upcoming OH 5.1.x upgrade with internal proper evcc binding …

I set it up differently, just like I (try to) always seperate bridge & things file. OH UI does provide instantly the proper things configuration of running evcc for copy’n’paste at inbox after adding the bridge things file …

bridge_evcc_demo.things:

Bridge evcc:server:demo-server "Demo" [scheme="http", host="evcc.local", port=7070, refreshInterval=30]

evcc_demo.things:

Thing evcc:site:demo-server:demo-site "Site - evcc Demo" (evcc:server:demo-server)
Thing evcc:statistics:demo-server:statistics "Statistic - evcc Demo Statistic" (evcc:server:demo-server)
Thing evcc:battery:demo-server:demo-battery1 "Battery - evcc Demo Battery 1" (evcc:server:demo-server) [index=0]
Thing evcc:pv:demo-server:demo-pv1 "PV - evcc Demo Photovoltaic 1" (evcc:server:demo-server) [index=0]
Thing evcc:loadpoint:demo-server:demo-loadpoint-carport "Loadpoint - evcc Demo Loadpoint 1" (evcc:server:demo-server) [index=0]
Thing evcc:vehicle:demo-server:demo-vehicle1 "Vehicle - evcc Demo Vehicle 1" (evcc:server:demo-server) [id="db_2"]

Now, I have the luxury issue, my OH instance is talking to 2 EMS, one of my home PV (via Modbus tcp) and evcc … need to check if I can strip one down.

It appears that the docs are out of date, they reflect the “device” thing type and channels that aren’t there anymore.

You will find the latest Documentation here:

1 Like

Hi, first of all, thank you very much for the binding, I am using it on a daily basis, and it is very useful.

After the upgrade to version 5.1.0 I noticed that there are some channels missing, specifically the successor for

evcc:device:myevcc:loadpoint0#chargeRemainingDuration

Would it be possible to add this? Also, in the documentation for version 4, you had an excellent configuration file for the items. I tried to adapt it to version 5, but there are still some gaps (e.g. the remainig duration). Is it planned to add such a file again?

Hi,
the channel is there.
If you are using the UI the channels are getting created dynamically.
If you want to configure everything via file, all that changed is that you have to define the items like this:

Number:Time ChargeRemainingDuration "Charge Remaining Duration" { channel="evcc:loadpoint:[bridge-id]:[loadpoint id]:loadpoint-charge-remaining-duration" }

This is the same for all channels in all the things.

If you need further explanation, please don’t hesitate to ask.

If I find the time to list all available channels, I will add an example.

I just installed the evcc binding in 5.1.
If I understood correctly, this is the same as the latest marketplace version for 5.0, is it ?

I do not get the site thing to come online Not a JSON Object: null

Where to start with debugging?

It was the same version. Since a few days the Marketplace version is a step ahead.

Nevertheless there should be a hint in the thing status. If not you could set the logging for the binding to “debug”.

The bridge is “Online”?

The list will be here when the PR gets merged. But you can have a look into it already.

Seems evcc wasn’t properly configured (or not at all, actually). That apparently led to the site thing being offline. Now that I added a more or less working config, it came online.

1 Like

This is a good hint, I may add it to the documentation and / or, add a hint in the UI, when the site thing has nothing to parse.

I’ve tried the evcc binding (with evcc version 0.300.2) on openHAB 4.3.9:

When I add the “server”-thing only “site” and “statistics” appear in my inbox. Looks like “battery”, “pv” and “vehicle” - thing aren’t recognized.

On startup of the binding I get the following warnings:

2026-01-03 12:24:47.104 [WARN ] [re.xml.osgi.XmlDocumentBundleTracker] - The XML document '/OH-INF/thing/battery.xml' in module 'org.openhab.binding.evcc' could not be parsed: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 13

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

com.thoughtworks.xstream.converters.ConversionException: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 13

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.AbstractDescriptionTypeConverter.unmarshal(AbstractDescriptionTypeConverter.java:189) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.ThingDescriptionConverter.unmarshal(ThingDescriptionConverter.java:56) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1468) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1445) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1393) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1345) ~[bundleFile:1.4.21]

	at org.openhab.core.config.core.xml.util.XmlDocumentReader.readFromXML(XmlDocumentReader.java:106) ~[bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:394) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:380) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:345) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]

	at java.lang.Thread.run(Thread.java:840) [?:?]

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: semantic-equipment-tag

	at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	... 39 more

2026-01-03 12:24:47.107 [WARN ] [re.xml.osgi.XmlDocumentBundleTracker] - The XML document '/OH-INF/thing/loadpoint.xml' in module 'org.openhab.binding.evcc' could not be parsed: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 12

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

com.thoughtworks.xstream.converters.ConversionException: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 12

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.AbstractDescriptionTypeConverter.unmarshal(AbstractDescriptionTypeConverter.java:189) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.ThingDescriptionConverter.unmarshal(ThingDescriptionConverter.java:56) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1468) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1445) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1393) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1345) ~[bundleFile:1.4.21]

	at org.openhab.core.config.core.xml.util.XmlDocumentReader.readFromXML(XmlDocumentReader.java:106) ~[bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:394) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:380) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:345) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]

	at java.lang.Thread.run(Thread.java:840) [?:?]

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: semantic-equipment-tag

	at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	... 39 more

2026-01-03 12:24:47.112 [WARN ] [re.xml.osgi.XmlDocumentBundleTracker] - The XML document '/OH-INF/thing/pv.xml' in module 'org.openhab.binding.evcc' could not be parsed: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 13

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

com.thoughtworks.xstream.converters.ConversionException: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 13

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.AbstractDescriptionTypeConverter.unmarshal(AbstractDescriptionTypeConverter.java:189) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.ThingDescriptionConverter.unmarshal(ThingDescriptionConverter.java:56) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1468) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1445) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1393) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1345) ~[bundleFile:1.4.21]

	at org.openhab.core.config.core.xml.util.XmlDocumentReader.readFromXML(XmlDocumentReader.java:106) ~[bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:394) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:380) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:345) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]

	at java.lang.Thread.run(Thread.java:840) [?:?]

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: semantic-equipment-tag

	at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	... 39 more

2026-01-03 12:24:47.118 [WARN ] [re.xml.osgi.XmlDocumentBundleTracker] - The XML document '/OH-INF/thing/vehicle.xml' in module 'org.openhab.binding.evcc' could not be parsed: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 12

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

com.thoughtworks.xstream.converters.ConversionException: 

---- Debugging information ----

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message       : semantic-equipment-tag

class               : java.util.ArrayList

required-type       : java.util.ArrayList

converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter

path                : /thing-descriptions/thing-type/semantic-equipment-tag

line number         : 12

class[1]            : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

required-type[1]    : org.openhab.core.thing.xml.internal.ThingTypeXmlResult

converter-type[1]   : org.openhab.core.thing.xml.internal.ThingTypeConverter

class[2]            : org.openhab.core.thing.xml.internal.ThingDescriptionList

required-type[2]    : org.openhab.core.thing.xml.internal.ThingDescriptionList

converter-type[2]   : org.openhab.core.thing.xml.internal.ThingDescriptionConverter

version             : 1.4.21

-------------------------------

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.AbstractDescriptionTypeConverter.unmarshal(AbstractDescriptionTypeConverter.java:189) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:132) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at org.openhab.core.thing.xml.internal.ThingDescriptionConverter.unmarshal(ThingDescriptionConverter.java:56) ~[?:?]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:68) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:52) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1468) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1445) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1393) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1345) ~[bundleFile:1.4.21]

	at org.openhab.core.config.core.xml.util.XmlDocumentReader.readFromXML(XmlDocumentReader.java:106) ~[bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:394) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:380) [bundleFile:?]

	at org.openhab.core.config.core.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:345) [bundleFile:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]

	at java.lang.Thread.run(Thread.java:840) [?:?]

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: semantic-equipment-tag

	at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:99) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:92) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:86) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:81) ~[bundleFile:1.4.21]

	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:74) ~[bundleFile:1.4.21]

	... 39 more


Ah I see what the problem is…

I need to recompile it for 4.3.x since a newly added tag is not available

1 Like

I’ve updated the jar File in the market, please reinstall the binding.

Now they are appearing in the inbox! Thank you

1 Like

Thank you very much for all the effort spent on refactoring this binding @mGoerentz . From my point of view it is much cleaner and easier to use.

I like to discuss one thing I was observing in the last couple of days. Whenever the evcc installation was restarted - e.g. due to an update - some of the Channels of the Things were removed because the API delivered null values. After starting a new charging session the Channels were readded again because the values are available again. Currently I did not remember if I restarted the binding too or disabled → enabled the Things too.

Does it make sense to consider linked Channels during reinitializing of Things not to be removed? What do you think?

Best, C

@cweitkamp Thanks for the compliment.

You’re right — the binding currently removes channels that are no longer needed, just like you noticed. I went with that approach to keep things tidy and avoid clutter from unused channels.

Your idea to keep channels around when they’re still linked is a really good one. I’m currently adding the forecast data that evcc provides, and I think your suggestion can be implemented along with the changes. Keeping the linked channels and setting the their state to UNDEF sounds like a solid and clean solution.

Sounds good. Keep going.

The (official 5.1) binding docs say to provide “the port” of the evcc server and the example shows 443. That’s irritating. Isn’t evcc usually running on 7070?

You are right. I wanted to show that it can run outside your network and you will still be able to connect.