Decoding the OWL Intuition XML scheme for electricity monitoring

Thanks to Fernando Gomes I now have a working string that will return the solar values from the Owl via UDP

My items:

String owlTimeStamp   "TimeStamp [%s]"         <time>   (gOwl)  { udp="<[192.168.1.4:*:'REGEX(.*<timestamp>(.*)</timestamp>.*)']" }
String Generating  "Generating [%s w]"   <time>   (gOwl)  { udp="<[192.168.1.4:*:'REGEX(.*<generating units='w'>(.*)</generating>.*)']" }
String owlgenerated   "owlgenerated [%s kWh]"  <time>   (gOwl)  { udp="<[192.168.1.4:*:'REGEX(.*<generated units='wh'>(.*)</generated>.*)']" }
String Exporting   "Exporting [%s w]"    <time>   (gOwl)  { udp="<[192.168.1.4:*:'REGEX(.*<exporting units='w'>(.*)</exporting>.*)']" }
String owlcurrent "owlcurrent [%s w]" <time> (gOwl)  { udp="<[192.168.1.4:*:'REGEX(.*<chan id='2'><curr units='w'>(.*)</curr>.*)']" }

My Sitemap:

       Default item=Generating icon="solarplant"
       Default item=Exporting icon="solarplant"
       Default item=owlcurrent icon="solarplant"

Canā€™t get the current value to work but the others work a treat so may be of use to anyone trying to get values form their Owl,

Hope it helps someone and thanks again to Fernando :slight_smile:

1 Like

This is interesting. Did you ever figure out why the ā€œcurrentā€ value wasnā€™t working?
Did you have to setup Data push on the settings, or does this method rely on the multicast? The IP you are specifying in the IP address of the network monitor, correct?

Cheers!

Hi, no sadly never got the current working and the guy who helped me never can back to me.

It relies on multicast but you need to go onto the owl website and configure the IP address and port as far as I can remember. I think this then downloads to the network monitor to enable UDP broadcast on that port and address you configure. The IP address in the code is indeed the internal IP of the network monitor which has a reservation set on the router to ensure it doesnā€™t change on reboot.

Works perfectly both locally and externally on the openHAB app

Let me know if you need any additional info

Chris

1 Like

Many thanks for your reply.

I still have no luck getting any numbers back.
Iā€™ve tried configuring the data push on the OWL with itā€™s own IP, with the openhab serverā€™s IP. Iā€™ve tried setting these different IPā€™s and ports on the items, but nothing so far.

Can you share you configuration in further detail? your tcp binding configuration? The owlā€™s?

The only result I get is using the sample app OWL has on their site, intuition-listener.c, which relies on the multicast address 224.192.32.19 and port 22600, nothing needs to be configured on the data push option, so any device can subscribe and listen, which I like, but getting that into OH will also be a challenge.

Just in case this is of any interest to anyone, in the end I used a different approach, that doesnā€™t require any configuration on the OWL website, and it works perfect for me, I shared it here:

Hi Jose, I had a think and had a look at my config and remembered you need to install the tcp\udp binding and set the listen port in the udp.cfg file (copy of the tcp.cfg file renamed from memory). think that was everything. However, looks like you have a better solution I will have a look at. will let you know how i get on

1 Like

Thanks Chris,

I tried all that, different configurations, ports, tinkered around with the tcp binding config, but never got it to work. Since I knew, from the C code example I had previously downloaded from their site, that I could get the info through multicast, I went that route instead and it worked great for me.
Specially because I have another OWL installed in a friendā€™s house, but his OpenHAB is behind another router in the network, but with multicast it works like a treat, without any port redirection or OWL configuration.

Hi,

Here is the link to configure the owl using the tcp/udp binding:

Best Regards,
Fernando Gomes