Rooted (locally accessible) Toon

So, with the winter here I’ve rebooted the binding. I’ve fixed the setpoint reverting, which currently works on my install. Also, I’ve switched over to my github identity :smiley:
Anyway, here’s a nice new version: https://gofile.io/?c=kjbHgU and my github repository is up to date as well. Will get to @Wunk’s request sometime soon as well, because I have solar panels installed now. Please test, would like to get some more feedback :slight_smile:

Oh nice, I’ll check this out later this week :slight_smile:

Great ! Thanks @DaanMeijer

So I installed the binding and 5 minutes later I removed the http binding items that I created for communication with Toon (because the binding is a much better solution), thank you @daan_meijer!

Would it be possible to add:

Switch Heater           (Toon) {channel="toon:main:toontest:zzzz:Heating"}
Switch Tapwater         (Toon) {channel="toon:main:toontest:zzzz:Tapwater"}
Switch PreHeat          (Toon) {channel="toon:main:toontest:zzzz:Preheat"}

To the binding? I would like to use the Tapwater switch to remind people not to use hot water in the kitchen while someone is showering :slight_smile:

I think it’s already in there, to be honest :slight_smile: When looking at the channels for the “Thing” in the paperui, they show up, and looking at the code they should update as well :slight_smile:

You are right, this is just me getting used to PaperUI. In the past I mostly used Habmin, but since the update to 2.5 Habmin gave some errors and I read here that it is not really maintained anymore, so switched back to PaperUI… That darn show more button :slight_smile:

I copied the latest rooted toon .jar file in C:\openhab2\addons (thanks @daan_meijer)
The binding is there, but thing stays offline. I use this URL http://192.168.1.115

The org.openhab.binding.localtoon-2.5.0 binding is working fine !!!

My OpenHAB version is 2.5.0 release build
What am I doing wrong?
Thanks

[ERROR] [rootedtoon.internal.RootedToonHandler] - Error while updating realtime usage info
org.openhab.binding.rootedtoon.internal.client.ToonConnectionException: null
at org.openhab.binding.rootedtoon.internal.client.ToonClient.requestRealtimeUsageInfo(ToonClient.java:254) ~[?:?]
at org.openhab.binding.rootedtoon.internal.RootedToonHandler.updateRealtimeUsageInfo(RootedToonHandler.java:180) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_191]
at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [?:1.8.0_191]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [?:1.8.0_191]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_191]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

Just to make sure: is your toon rooted? Can you access the url http://192.168.1.115/hdrv_zwave?action=getDevices.json from that computer? Can you post the data it generates (anonymized if you want).

Yes, toon is rooted. I can access the link with zwave data from my computer.
The .jar in your first post on 19 jan. works fine but is missing some features/functions.

Zwave Information

{“dev_settings_device”: {“uuid”: “750148cc-4fa4-402c-a303-8e69f1203bef”, “name”: “settings_device”, “internalAddress”: “settings_device”, “type”: “settings_device”}, “dev_3”: {“uuid”: “9e14d8a2-23b8-49f8-aa28-170c989b4728”, “name”: “HAE_METER_v3”, “internalAddress”: “3”, “type”: “HAE_METER_v3”, “supportsCrc”: “1”, “ccList”: “5e 86 72 32 56 5a 59 85 73 7a 60 8e 22 70 8b 3c 3d 3e”, “supportedCC”: “5e 86 72 32 56 5a 59 85 73 7a 60 8e 22 70 8b 3c 3d 3e”, “nodeFlags”: [], “IsConnected”: “1”, “HealthValue”: “2”, “DeviceName”: “HAE_METER_v3”, “CurrentSensorStatus”: “UNKNOWN”}, “dev_3.1”: {“uuid”: “f6010e87-2aed-4c87-8ebc-3d04762de9ed”, “name”: “HAE_METER_v3_1”, “internalAddress”: “3.1”, “type”: “HAE_METER_v3_1”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “OPERATIONAL”, “CurrentGasFlow”: “845.00”, “CurrentGasQuantity”: “5458111.00”, “DeviceName”: “”}, “dev_3.2”: {“uuid”: “ac34d4f2-d113-43ae-8106-b951adef3b0f”, “name”: “HAE_METER_v3_2”, “internalAddress”: “3.2”, “type”: “HAE_METER_v3_2”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “DISABLED”, “DeviceName”: “”, “CurrentElectricityFlow”: “NaN”, “CurrentElectricityQuantity”: “NaN”}, “dev_3.3”: {“uuid”: “a6e7eb04-496e-4452-9d77-34b211272422”, “name”: “HAE_METER_v3_3”, “internalAddress”: “3.3”, “type”: “HAE_METER_v3_3”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “UNKNOWN”, “DeviceName”: “”, “CurrentElectricityFlow”: “NaN”, “CurrentElectricityQuantity”: “NaN”}, “dev_3.4”: {“uuid”: “1dce82c0-e1a6-423e-8750-a34ee324ba4d”, “name”: “HAE_METER_v3_4”, “internalAddress”: “3.4”, “type”: “HAE_METER_v3_4”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “OPERATIONAL”, “DeviceName”: “”, “CurrentElectricityFlow”: “1900.00”, “CurrentElectricityQuantity”: “9745226.00”}, “dev_3.5”: {“uuid”: “0d261201-84e0-43ea-9214-9329253c7268”, “name”: “HAE_METER_v3_5”, “internalAddress”: “3.5”, “type”: “HAE_METER_v3_5”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “OPERATIONAL”, “DeviceName”: “”, “CurrentElectricityFlow”: “0.00”, “CurrentElectricityQuantity”: “0.00”}, “dev_3.6”: {“uuid”: “0d55056c-be04-4700-9255-54f09b70fe9c”, “name”: “HAE_METER_v3_6”, “internalAddress”: “3.6”, “type”: “HAE_METER_v3_6”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “OPERATIONAL”, “DeviceName”: “”, “CurrentElectricityFlow”: “0.00”, “CurrentElectricityQuantity”: “11336407.00”}, “dev_3.7”: {“uuid”: “2e40e47a-7424-45c6-bd06-34b90bbfbf9f”, “name”: “HAE_METER_v3_7”, “internalAddress”: “3.7”, “type”: “HAE_METER_v3_7”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “OPERATIONAL”, “DeviceName”: “”, “CurrentElectricityFlow”: “0.00”, “CurrentElectricityQuantity”: “0.00”}, “dev_3.8”: {“uuid”: “1a979cb5-fbbc-40c3-8832-566691295bb0”, “name”: “HAE_METER_v3_8”, “internalAddress”: “3.8”, “type”: “HAE_METER_v3_8”, “supportsCrc”: “0”, “ccList”: “5e 59 85 8e 3c 3d 3e”, “supportedCC”: “5e 59 85 8e 3c 3d 3e”, “nodeFlags”: [], “CurrentSensorStatus”: “UNKNOWN”, “DeviceName”: “”, “CurrentHeatQuantity”: “NaN”}}

Did you tried to delete the old version. Clear cache, reboot en then put the new file in to Addon folder ?

Thanks Olaf,
I tried but same result :frowning:

[ERROR] [rootedtoon.internal.RootedToonHandler] - Error while updating realtime usage info
Status is OFFLINE

Hmmm,
if je add a new Thing do you see the Toon Binding ? Try to add a new Toon ?

1 Like

Hm. That’s strange, especially since those lines can’t produce an exception. I’ve located a line I suspect though. Here’s a new version that adds more information: https://gofile.io/?c=q7LfPX

If that doesn’t work, you could enable debug logging, finding the config file mentioned here and adding the following config:

log4j2.logger.RootedToon.name = org.openhab.binding.rootedtoon
log4j2.logger.RootedToon.level = DEBUG
log4j2.logger.RootedToon.additivity = false
log4j2.logger.RootedToon.appenderRefs = Toon
log4j2.logger.RootedToon.appenderRef.Toon.ref = TOON

(hope that config works, haven’t tested it)

That version is also not working :(. Same result

(I also had to add the appender for logging to a seperate file. )
Here the results:

2020-02-12 11:56:13.662 [DEBUG] [ootedtoon.internal.client.ToonClient] - toon thermostate state: {"result":"ok","currentTemp":"2265","currentSetpoint":"2250","currentInternalBoilerSetpoint":"35","programState":"0","activeState":"0","nextProgram":"-1","nextState":"-1","nextTime":"0","nextSetpoint":"0","randomConfigId":"1804289383","errorFound":"255","connection":"0","burnerInfo":"0","otCommError":"0","currentModulationLevel":"18"}
2020-02-12 11:56:14.790 [ERROR] [ootedtoon.internal.client.ToonClient] - Error while processing the listeners
java.lang.NullPointerException: null
	at org.openhab.binding.rootedtoon.internal.RootedToonHandler.newRealtimeUsageInfo(RootedToonHandler.java:235) ~[?:?]
	at org.openhab.binding.rootedtoon.internal.client.ToonClient.requestRealtimeUsageInfo(ToonClient.java:239) ~[?:?]
	at org.openhab.binding.rootedtoon.internal.RootedToonHandler.updateRealtimeUsageInfo(RootedToonHandler.java:180) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_191]
	at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [?:1.8.0_191]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

When you like to test, look on my system (teamviewer) or need anything else, your welcome…

Now we’re getting somewhere :slight_smile: I used results without checking if they exist. Here’s a new version: https://gofile.io/?c=FeYw5P

Hey Daan, this is working :+1: You rock !!!
A few more things!

The binding is called “RootedToon Binding” and the thing is called “Local Toon (rooted)”. Maybe you should call the thing: RootedToon?

One more question: I don’t know why shome gas/power items do not show up. For example: GasConsumpion, Energy flow, Power producting flow. Only the PowerConsumption item works.fine.

Thanks again. sheers

Great to hear!
Here’s a version with the name updated: https://gofile.io/?c=uPo8Kk
I also adjusted the data matching algorithm to include your ids :slight_smile: The problem was that my Toon shows something like this:

        "name": "HAE_METER_v3_1",
        "internalAddress": "2.1",
        "type": "gas",

while yours show this:

        "name": "HAE_METER_v3_1",
        "internalAddress": "3.1",
        "type": "HAE_METER_v3_1",

I’ve added your “type”-strings to the relevant parts of the code.

Thanks Daan!
The Toon binding is working fine now!

@daan_meijer,

In the mean time isn’t the Toon binding at a stage it can be a ‘official binding’ instead of a snapshot binding ?

Hi @daan_meijer,
thanks for your great work!
Is there any way to configure this binding in the old fashioned way, using text files instead of paperUI? I don’t really like paperUI and use text files for everything to have more control (and make backups a lot easier).
Any hint on how to do that would be greatly appreciated! Thank you! :slight_smile: