E3DC Binding (beta)

E3DC

E3DC Binding (beta)

Version 2022-02-10

I updated the non-modbus binding E3DC binding

To get it working you need:

  • OPTION A: Install the binding from the marketplace: openHAB 3 UI → Settings → Bindings → Community Marketplace (show more)
  • OPTION B: Install the jar or kar linked at the end of this post
  • You need to have the E3DC portal registered (username, password) and in the E3DC an RSCP password set.
  • Furthermore you need the IP adresse of the E3DC device
  • Backup your openHAB - just in case :slight_smile:
  • Please, if it’s ot working for you add helpful information (trace logs, reproduction steps).

What’s new?

Compiled for and tested with version 3.2 (Marketplace ready) (Version 3.1 can be done on demand)
Sorry, no weather forecast details found so far.
Probably some new bugs :slight_smile:

Changes

  • Renamed thing to S10
  • Refactoring (my personal taste, don’t know if it’s good)
  • If “else if” then “switch” (for better readabillity)
  • Improved connect routine
  • Improved exception resistance
  • Added Thing propeties (static information)
  • Extended Thing config (forcing the number of tracker, pomermeters, wallboxes)
  • Added powermeter query (3/8 for now, incomplete)
  • Added wallbox query (2/8 for now, very incomplete) (not sure if the interface is happy with requests for non-existing devives/data)
  • Added modbus query (incomplete)
  • Added new RSCP-Tags based on the fantastic C# E3/DC RSCP Connection Lib - Is there a new RSCP Excel file???
  • Prepared for i18n
  • Added Channel Groups
  • Added dynamic channels according to number of devices connected (~discoverd) or by forcing through thing config - changes after connection is established
  • Split Thing, Group and Channel XMLs
  • Added Debug switch to query (nearly) all TAGs (if logging is set to TRACE (sudo openhab-cli console // log:set TRACE org.openhab.binding.e3dc )
  • Include Bounce Castle V1.68 in jar/kar, no seperate file needed, but increased filesize therefore

ToDo

  • Pull request @bjoernbrings as he’s the creator of this binding
  • get new version for RSCP documentation
  • translations
  • fix wording and interpretation of RSCP Namespace abbreviations
  • complete channels
  • Issue: Incomplete telegrams: Only 1448 Bytes received (TCP window issue?!)
  • Handle Error codes ( NotHandled = 0x01, AccessDenied = 0x02, Format = 0x03, Again = 0x04, OutOfBounds = 0x05, NotAvailable = 0x06, UnknownTag = 0x07, AlreadyInUse = 0x08)
  • change default update intervall to 5? 10? 20? seconds
  • query RSCP namespaces only if channels linked to item. Manage map in channelLinked and channelUnlinked (or even TAGs only…)
  • fix code for merge (@NonNullByDefault, …)
  • fix “Classes found in the wrong directory: {META-INF/versions/9/org/bouncycastle…”
  • reduce logging
  • fix channel names/IDs (similar to E3DC Modbus Binding?)
  • fix channel categories
  • fix state objects show dates (I’m to dumb for this)
  • fix/force order of thing properties (how?!)
  • complete requests (EMS, PVI, BAT, DCDC, PM, WB)
  • split wallbox request to one or two request per wallbox ?
  • actions for manual charge, … (EMS)
  • actions for system reboot, aplication restart (SYS)
  • action for update check (UM)
  • remove info channel, as thing properies are implemented now (except for time/time zone)
  • analyze and implement Home Automation requests (HA)
  • manage Home Automation equipment (ADD_ACTUATOR, REMOVE_ACTUATOR, COMMAND_ACTUATOR, COMMAND, DESCRIPTIONS_CHANGE, CONFIGURATION_CHANGE_COUNTER) (HA)
  • get constant values from RSCP resulst (e.g. max values for MaxDischargePower from TAG_EMS_SYS_SPEC_NAME maxDischargePower )

Maybe

  • analyze and implement Farming Systems requests (FMS)
  • implement thing “Quattroporte” (stupid name btw)
  • more dynamic and less hardcoded channel handling (Map RSCP-Tag-name ↔ channel-name)

Contribute

UI / UX

Any hints for typos wrong descriptions or wrong behaviour are welcome. Feature request/hints are welcome.
Whenever to binding stops working please check the logs, for an error message (or even better: stack trace).

Extending and ensuring functionally

Make sure to anonymize the last 6 digits of your SERIAL NUMBER
Make sure you deleted your MAC ADDRESS
Make sure you deleted any other personal data

It would be great if you could support us in completing this binding.
We need information / debug trace (see above - change log level back afterwards!!!) for:

  • different S10 models (Mini, S10-E 10-X, PRO, Compact, …)
  • 1-n wallboxes
  • 1-n powermeters (tested with 2)
  • 0-n trackers (could be that only external power generators are connected)
  • 0-n external power generators
  • 0-n Home Atuomation equipment

Easiest would be to get the logs from the openHAB LogViewer (fronttail): http:\SERVERNAME:9001

Upload a file somewhere (gist.github.com) and link it here
or paste the (stripped down) log here inside(!) code fences - three backticks before and after the logs.

*```
*   Text inside a code block
*```

(ignore the asterisk in the sample)

Make sure to anonymize the last 6 digits of your SERIAL NUMBER
Make sure you deleted your MAC ADDRESS
Make sure you deleted any other personal data

Code

Im not good a git. Never handled a pull request, but I’ll do my best to manage yours. :slight_smile:
Don’t know how the rules are, but if allowed you could send smaller code changes in the forum. Needs to be clarified.

Versions

Ressources

working branch at github.com

3 Likes

Updated:

  • added fixed 2 DCDC channel groups
  • renamed battery channel group channel
  • new property: detected battery count
  • new property: detected pvi ac count
  • new property: detected pvi dc count
  • new property: detected pvi tempertures count
  • completed SE test request (no idea what the values show…)
  • extended BAT test request
1 Like

Hello,

i tried to install the Binding from the Marketplace on openhab 3.3 but it does not show up in the add things gui.

Any Hints ?

I have the same problem. Also OH 3.3

Would be great if we can use the binding in newer OH versions.

Do you have any idea @mal?

Cheers
Chris

1 Like

I have the same problem.

Ich habe das Problem das ich zwar mit meinem E3DC verbunden bin bzw. das Binding auch offensichtlich die Verbindung aufgebaut hat, aber bei allen Channels die ich bis jetzt ausprobiert habe, immer der Wert NULL mir angezeigt wird. Ich weiß leider als absoluter openHab Anfänger nicht was ich falsch mache.

Mein openHAB läuft auf Unraid in einem Docker. Ich benutze die openHab Version 3.4.0.M4

Ich verstehe auch nicht warum es zum Thema E3DC auf dem openHAB noch kein Tutorial bei Youtube gibt.

I have the problem that although I am connected to my E3DC or the binding has obviously established the connection, the value NULL is always displayed for all channels that I have tried so far. Unfortunately, as an absolute openHab beginner, I don’t know what I’m doing wrong.

My openHAB runs on unraid in a docker. I am using openHab version 3.4.0.M4

I also don’t understand why there is no tutorial on Youtube on the subject of E3DC on the openHAB.

Ich kann mich hier nur anschließen. openHAB läuft auf einem Pi4 mit Vers. 3.4.1. Das S10Pro und die Wallbox sind online (Wallbox erst online, nachdem ich in der Modbus TCP Slave - Bridge “Discovery enabled” aktiviert hatte. “RTU” habe ich deaktiviert gelassen, da ich die Bedeutung nicht weiß.) Leider bleiben alle Chanels bei dem Wert “NULL”. Im Hauskraftwek-Menue ist Modbus natürlich freigeschaltet (Typ E3DC). - Warum kommen keine Werte? - Short in English: Same problem as descreibed by Maverick-DE! What is going wrong or is there a workarouned?

Problem gelöst! Ich melde mich nochmal zu meinem Post von heute. Mein openHAB erhält jetzt Werte vom Hauskraftwerk. Ich habe zunächst alles gelöscht (Wallbox, Hauskraftwerk-Bridge und Modbus-TCP-Bridge. Dazu alle angelegten Channel und Items). Deinstallation von Modbus-Binding und dem E3DC(Beta)-Binding.
Neustart. Jetzt NUR das Modbus-TCP-Binding installiert. Das (wohl überholte) E3DC(Beta)-Binding aus dem Marketplace darf NICHT installiert werden. - Unter Things das blaue + anklicken, Modbus-Binding anklicken: E3DC anklicken. Dies als Bridge konfigurieren und mit der Modbus-TCP-Bridge verbinden. Auch die E3DC-Wallbox konnte angeklickt werden (Dort als Bridge das Hauskraftwerk anwählen). Danach bei den Items die Channel erstellen. Es dauerte ein weing. Dann sendete das Hauskraftwerk und die Wallbox Daten. - Ich bin zufrieden!

You are using old style Modbus binding.
The “new” RSCP Binding does have an issue. The communication with E3DC is broken.

I compiled and debugged it under OH 3.4.2 and got it to work. But I cannot verify the root cause. I added a missing “break” and it was working after. But I double checked by removing the “break” and it still works!? :crazy_face:

@DeJe63 would you mind pointing me to the code line for the break?

Sure I can. :smiley:
After I could not recreate the issue I was not sure to do a PR in your branch. I’m pretty new to OpenHab development… :wink:

Anyway, it is in E3DCRequests.java at line 583. I think the break is missing between set 4 and set 5. Otherwise you have a fallthrough which isn’t wanted I think.

btw. Pretty funny I just found a missing break in goecharger binding too last WE. This is allready merged to OH master. :smiley:

Some news here?
Last post 02/2022 … is it stable meanwhile?
When it will leave beta?

is anyone still working on this binding?

Early v4 test version

https://github.com/RealMalWare/openhab-addons/releases/download/e3dc_2023_08_25/org.openhab.binding.e3dc-4.1.0-SNAPSHOT.jar

https://github.com/RealMalWare/openhab-addons/releases/download/e3dc_2023_08_25/org.openhab.binding.e3dc-4.1.0-SNAPSHOT.kar

old
https://github.com/RealMalWare/openhab-addons/releases/download/e3dc_2022_02_16/org.openhab.binding.e3dc-3.2.0.jar
https://github.com/RealMalWare/openhab-addons/releases/download/e3dc_2022_02_16/org.openhab.binding.e3dc-3.2.0.kar

I cannot install it. Getting the following error in my log

unresolved requirement: import-package: javax.measure; version="[2.2.0,3.0.0)

Found a solution here and built it (https://github.com/bjoernbrings/openhab-addons/releases/download/4.0.0-RMW/org.openhab.binding.e3dc-4.1.0-SNAPSHOT.jar Release 4.0.0 · bjoernbrings/openhab-addons · GitHub)

Hi,
Is the binding compatible with OH4.0?
I copied the jar file to the addons folder but I don‘t see the binding when I try to add things.

Yes it is. Are the access rights in a way that OH has access?

Hi Björn,
thanks for your answer. I installed the binding via bundle:install in the Karaf console and “activated” it. Afterwards i fixed the permissions via “sudo openhabian-config”. But i don’t see the Binding in the “add things” dialog in the Openhab Gui.
If i clear the cache with “sudo openhab-cli clean-cache” the binding is deleted, and isn’t show in the bundle:list.
Do you have any hints what i do wrong?

Hmm, I do it by copying the file in the addon directory and then it should be working right away (if the file permissions work)