Binding Request : Buderus web gateway

Hello @juelicher,
maybe checking the channels and the links in karaf will help - it happened to me that there was stuff left over from previous version (not only with the km200 binding, so not specific to it).

First check you addons-folder that no other version is present - remove it if necessary.
Then I would uninstall the binding, remove the items in you items files (if any), go to the karaf-console, check that the binding is really gone, drop all still available km200 things, channels, links etc…

Stop the openhab2 service.
After this clear the cache.

Then reboot.

Add the binding in PaperUI, let it figure out the gateway, set the parameters (encryption key).
Leave it alone for few minutes to get things started, then check the things it discovered and activate them.

This is what helped me during testing of various version of the binding - a clean starting point is always good basis for solid results and further investigations.

The binding is running here 24/7 for some weeks now, I have no serious issues with it.
You´ll succeed, I´m sure.

Best Regards,
Oggerschummer

Thanks for your advice!

Today I updated openHAB to the 2.4.0 Release version an did a clean reinstall of the KM200 2.x binding. But the problem persists. As soon as I add to the line "heatingCircuit 1 “HC1” to the km200.things configuration I get the “Duplicate channels km200:heatingCircuit:KM100:1:temperatureLevels_night” error during startup. In this case no channels for the heating circuit are shown in the Paper UI.

In case it might help to pinpoint the problem, here is my output from the old 1.x binding during startup regarding “temperatureLevels/night”:

[b.binding.km200.internal.KM200Device] - 1;1;1;0;floatValue;/heatingCircuits/hc4/temperatureLevels/night;17.0;;5.0;29.0
[b.binding.km200.internal.KM200Device] - 1;1;1;0;floatValue;/heatingCircuits/hc1/temperatureLevels/night;16.5;;5.0;29.0
[b.binding.km200.internal.KM200Device] - 1;1;1;0;floatValue;/heatingCircuits/hc2/temperatureLevels/night;19.0;;5.0;29.0
[b.binding.km200.internal.KM200Device] - 1;1;1;0;floatValue;/heatingCircuits/hc3/temperatureLevels/night;17.0;;5.0;29.0

@Markinus
I just upgraded from OH 2.3 with old km1001 binding to OH 2.4 with the new km200 v2 binding.

First of all: Thanks for your great work. The new binding looks much cleaner and the autodetection of things is great (except that I’m an old man preferring to work with text files instead of clicking in a GUI, but that’s my personal problem, not your fault).

It wasn’t trivial to migrate all existing items to the new syntax, but with some manual tweaking after trying to automatically convert the items it now seems to work as expected.

But I didn’t understand one change between v1 and v2 and this is the data type of the gateway DateTime, which was a DateTime type in the old binding but is a string in the new one. Is this really intended or is it a bug?

I’d prefer to have a DateTime here, since it allows me to format it in the sitemap for human readability. For setting this item it wasn’t a big problem to change my daily rule to write

now.toString("yyyy-MM-dd'T'HH:mm:ss")

into the item to update the clock of my KM100.

Greetings
Roland

1 Like

Hi,
the new plugin works great! Thanks!

Does anyone have a complete example to design a graphical user interface in Habpanel?

hi, ich bin jetzt von FHEM zu Openhab gewechselt und bekomme beim KM200 nun folgenden Fehler

Status: UNINITIALIZED - HANDLER_INITIALIZING_ERROR This type of setpoint is not supported, get setpoint: on

ich weis auch nicht wirklich wie ich bei Zulu die Java Cryptography Extension to the Unlimited Strength Jurisdiction einstellen soll

vielleicht kann mir da jemand bei Helfen ?

hier noch ein Auszug vom Log

01:34:25.469 [ERROR] [.core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing ‘km200:kmdevice:123456789’: This type of setpoint is not supported, get setpoint: on

java.lang.IllegalArgumentException: This type of setpoint is not supported, get setpoint: on

at org.openhab.binding.km200.internal.handler.KM200SwitchProgramServiceHandler.addSwitch(KM200SwitchProgramServiceHandler.java:116) ~[?:?]

at org.openhab.binding.km200.internal.handler.KM200SwitchProgramServiceHandler.updateSwitches(KM200SwitchProgramServiceHandler.java:398) ~[?:?]

at org.openhab.binding.km200.internal.handler.KM200VirtualServiceHandler.initVirtualObjects(KM200VirtualServiceHandler.java:54) ~[?:?]

at org.openhab.binding.km200.handler.KM200GatewayHandler.readCapabilities(KM200GatewayHandler.java:263) ~[?:?]

at org.openhab.binding.km200.handler.KM200GatewayHandler.initialize(KM200GatewayHandler.java:109) ~[?:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]

at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]

at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]

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

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

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

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

Strong encryption for Zulu: Read this.

Hey,

I just installed the 2.5 snapshot (02.03.2019) of the km200 binding to get access to my km100.

After initialization, I can find the following in the openhab.log:

core.thing.internal.ThingManagerImpl] - Initializing handler for thing ‘km200:kmdevice:559410733’ takes more than 5000ms.
2019-03-04 21:42:34.696 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.698 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.698 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.699 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.700 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.701 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!
2019-03-04 21:42:34.701 [INFO ] [ler.KM200SwitchProgramServiceHandler] - !!! Wrong configuration on device. ‘on’ instead of ‘high’ in switch program. It seems that’s a firmware problem-> ignoring it !!!

At paperui the things is online, but wihtout any channel.
The firmwareversion of the gateway is 04.04.05.

So there is no channel in the logs. Schouldn’t bee the chnalles shown in the log, after intializing?

thanks

_david

May I ask you, if the MB Lan2 module is working fine with the binding.
(And another general question: Is the binding delivering data like gas consumption)

Thanks in adavance

The MB LAN 2 is just rebranded, it’s the same hardware.
I have it running here with this binding.

Hi all,
I am brand new using KM200 binding now for my WLW196 iAR-9. So far all for me existing channels are working kind of ok. Some are duplicated but sure you need to support a high range on devices.
As far as i can see there is a very high amount of work behind. Anyhow i have a question.
I am currently missing very important information for me as i am using an electrical driven air-water compressor i would be interested in energy consumptions. Are these channels support and i do just not find them? I would really draw a graph over time how much the module is consuming energy.

-> This has also already been asked / answered. It was from @Termits in Jan 2018.
You @Markinus said, we should look in the logfile, but even if we find it in log, how can we add items for that without channels.

Other question maybe: can we have a small guide how to find out those information? how can i get the available API endpoints from the interface? How to debug and enhance / the binding maybe to add channels if possible in case these are existent.

SO probably as I am not already that familiar with all this i hope the questions are not too dump.
Thanks for your support

Thanks :slight_smile: . I read somewhere that the MB LAN is a rebranded KM…, but was unsure if there is a difference to the MB LAN2. So I have a new project :wink:

Hi Steffen,
you can set the binding to DEBUG in the karaf console.
So when starting it up the binding queries the device for available services and will dump the information to the log file.
if you find the service / value you are looking for you can ask @Markinus is it would be possible to add that information.
You are right with the number of different devices, depending on their configuration and firmware they all report differently. E.g. I run a Junkers gas heating with an integrated heat pump. The heat pump part does not show up in the KM200 (MB LAN2) which is true for the official app as well.
Besides that there are features like the holiday periods which are shown, but are not fully supported yet. in @_David s posting above you see that the devices sometime report different values for the same things ( on / high ) which is tricky to filter / map in the binding.
Maybe a solution like JSON based mapping tables for the devices would help here - in case a device delivers things differently a new mapping configuration could be build and added to the binding so it can have a stabilised generic channel set in direction to the end user. With this in place adding support for new heating devices might be easier than having multiple special branches and exceptions in the binding code. Plus it would not only rely on @Markinus limited time to maintain it.
But this would require major rework on the binding I guess.
Regards
Oggerschummer

Hey again,
it looks like the real interesting things are hidden behind $$protected$$ whatever that means in terms of API. I doublechecked the post here and unfortunately @Markinus already stated, there is currently no information how to get those values:

0;0;0;0;$$PROTECTED$$;/heatSources/total/energyMonitoring/consumedEnergy;;;
0;0;0;0;$$PROTECTED$$;/heatSources/total/energyMonitoring/compressor;;;
and so on

Or is there anything new here?
are you in contact with those Buderus Tech Support maybe?

Buderus will afaik not help, there is no support for accessing the gateway - actually the communication protocol was never released and it is encrypted (that’s why you need to generate the keys).
How to access the protected values is unknown, maybe it only works for Buderus or it is protected cause it does not work well - just speculations.
Maybe there is more information in the FHEM community, they are interfacing this to.

Yes, that’s correct. There are no informations how to read these values. If I try to read it then the device returns an error code.

btw. if you will find in you log something like “unknown service” then I could take a look to it. In this case it’s maybe possible ot extend this binding.

Hello everyone,
I also run this binding (currently km200 v2.4) for my setup is a Junkers STE-100 with MB LAN2 (/gateway/versionFirmware;01.05.01, /gateway/versionHardware;iCom_low_CAN_v1;). It is basically a water/water heat pump which supplies energy to the boiler and floor heating.

  • The binding/things run pretty smooth, but after every other week or so, the binding stops working for unknown reason. I checked the log, but no signs. I activated the “DEBUG” log level, to have more information on the next occurence. The mobile app has no problem connecting to the gateway, when I know the binding has failed.
  • My main “reason” though to write here, is the fact, I am missing information from the heating like is the compressor ON/OFF - what is the incoming and outgoing water temperature of the heating etc.

I did some research regarding the endpoints which supposedly are supported by the different infrastructures, one souce I found was from smarthome-ng:


Another one, I grabbed via network sniffing are here
https://pastebin.com/5aYR9RtP

i.e. /systemStates/compressor and /heatingCircuits/hc1/actualSupplyTemperature are of particula interest for me.

Sadly I cannot implement these endpoints myself, because my JAVA knowledge is simply not enough advanced to add these.

tl;tr: Problem 1: Binding stops working - log with debug level DEBUG will be provided / Problem 2: I miss data from the binding, which are not yet supported

Problem 1: Same here. I could not find a real solution. My workaround is a small cronjob with restarts the binding every night.

Hi,

I will take a look to your problem but it could take some days because I’m very busy in the moment.
Please enable debug, restart the system and send be the whole logfile after full initalization. (Please remove your password from log).
The /systemStates/compressor path is new for me. I will take a look whether my system is supporting it too. If not then I will need some more informations from your system.
But as first send me your log please.
Greetings
Markus

Hi,

try : this version. I added systemStates to the supportet apis. You should see a new thing named systemStates. I cannot test is because my system is not supporting it.
(Uninstall this binding and copy the file to the addonds folder).

Greetings
Markus