Rooted (locally accessible) Toon

Tags: #<Tag:0x00007fc201d19208> #<Tag:0x00007fc201d190f0>

I’ve started development of a binding for locally accessible Toons. Channels have been ~shamelessly stolen~ inspired by the official Toon binding. Downloadable at old version, please don’t use this one new version
Please let me know what works for you, what doesn’t work and what you would like to see added/changed.

Daan, some feedback which i have prepared:

Items missing:

Items listed below avalible at: (@ http://xxx.xxx.xxx.xxx/hdrv_zwave?action=getDevices.json)
I was not entirly sure which of the below is currently linked to "localtoon:toon:d892876b:PowerConsumption"

(gas flow data)
1: @ dev_2.1 Current gasflow
2: @ dev_2.1 Total gasflow

(electricity Normal Times) ("elec_delivered_nt")
1: dev_2.3 "CurrentElectricityFlow":"999.99",
2: dev_2.3 "CurrentElectricityQuantity":"999999.00",

(Electricity :Low times) ("type":"elec_delivered_lt",)
1: dev_2.5  "CurrentElectricityFlow":"0.00",
2: dev_2.5 	"CurrentElectricityQuantity":"999999.00",
3: dev_2.6 "CurrentElectricityFlow":"0.00",
4: dev_2.6	"CurrentElectricityQuantity":"999999.00",

(solar generation) ("elec_received_nt")
1: dev_2.4  "CurrentElectricityFlow":"0.00",
2: dev_2.4  "CurrentElectricityQuantity":"0.00",
 
(not used)
dev_2.2 - elec

-----------------------------------------------------------------------
End of electicity and gas usage
-----------------------------------------------------------------------

Actual cost 

Items listed below avalible at: (@ xxx.xxx.xxx.xxx/hdrv_zwave?action=getDevices.json) http://xxx.xxx.xxx.xxx/happ_pwrusage?action=GetCurrentUsage
Cost per day and average

1: "powerUsage": 		{"value":9.99 	"dayCost":9.99 		"avgValue":9.99}
2: "powerProduction":	{"value":0		"dayCost":9.99 		"avgValue":9.99}
3: "gasUsage": 			{"value":null	"dayCost":null 		"avgValue":null}

-----------------------------------------------------------------------
End of actual costs

@Paul_P

I’ve updated the binding jar. Same link, should be 23.276 bytes. I’ve added power consumption (normal and low) and power/gas flow. I wasn’t able to find the cost. Still, check this version out, and let me know if you miss anything :slight_smile:

Hi, I am new here and i just installed openhab on my RPI3B.
The first thing i wanted to do is to use openhab for my rooted Toon.
However, when i fill in the URL, http://xxx.xxx.x.xxx/hdrv_zwave?action=getDevices.json,
i get : Status: OFFLINE - COMMUNICATION_ERROR invalid toon response status: 404

When i fill in the URL in the google explorer it works fine. Can you help me on what i did wrong?

I’m sorry this isn’t clear :slight_smile: The URL you should use is the base url of what you entered, e.g. http://xxx.xxx.x.xxx. Hope this works for you :slight_smile:

I like this, thanks. Can you share the repository for this?

Few comments:
Adding power generation would be nice (Toon Zon) for solar panels
If the toon URL/API doesn’t respond, the plugin crashes until you re-initialize it;

2019-02-26 08:51:20.760 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
javax.ws.rs.ProcessingException: java.net.NoRouteToHostException: No route to host (Host unreachable)
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:287) ~[?:?]

etc. Full log at: https://pastebin.com/6L3dTex8

https://github.com/DaanMeijer/openhab2-addons/commit/dcd176ad6f15a77f020437a0976507d621cb817f There you go :slight_smile: I’ll try and catch that exception this week.

Oh, by the way, I have no power generation myself. Do you have examples of urls to call, and the data structures behind them?

The zwave query will actually get some nice info: http://toonip/hdrv_zwave?action=getDevices.json
https://pastebin.com/JjeatekP (redacted the uuid’s)

This one shows live generated watts in the CurrentElectricityFlow value:

  1. “dev_5.3”:{“uuid”:“redacted”, “name”:“HAE_METER_v3_3”, “internalAddress”:“5.3”, “type”:“elec_solar”, “supportsCrc”:“0”, “CurrentElectricityFlow”:“414.00”, “CurrentElectricityQuantity”:“32298.00”, “location”:"(null)"},

This one shows the electricity being pushed back into the net it seems (74 watts) during high tariff hours:
“dev_5.4”:{“uuid”:“redacted”, “name”:“HAE_METER_v3_4”, “internalAddress”:“5.4”, “type”:“elec_delivered_nt”, “supportsCrc”:“0”, “CurrentElectricityFlow”:“74.00”, “CurrentElectricityQuantity”:“1109040.00”, “location”:"(null)"},

Then I suspect:
elec_received_nt - if it uses net capacity (solar less then total usage) in high tariff
elec_delivered_lt and elec_received_lt - same as above but for low tariff usage

Let me check if I can find more useful calls

Relevant topic on useful api calls for rooted toon: https://www.domoticz.com/forum/viewtopic.php?f=34&t=11421

Hi Daan,

I was using your rooted Toon binding. But I have some trouble with the iPhone app.
I can’t change the setpoint.
Also I don’t see the energyrates synced.
Is there a way I can help, or do you have an updated version already?

Good job on the binding. It looks great!

hello @daan_meijer

Everything works for me except the setpoint value i can`t change that it reverts back to the value it was without even changing the rooted toon.
if i change the value on the rooted toon the setpoint in openhab does not change either.

Regards,
Joey

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).