OWL Intuition decode using tcp/udp binding

Hi,

I’ve manage to capture and parse the owl messages into openhab2. The result is something link this:

I’ve used regexp because xpath isn’t working. The items are this:

String owlTimeStamp “TimeStamp [%s]” (gOwl) { udp="<[192.168.1.65::'REGEX(.(.).)’]" }
String owlBattery “Battery [%s]” (gOwl) { udp="<[192.168.1.65::'REGEX(.<battery level=’(.)’/>.)’]" }
String owlFase1 “Fase 1 [%s w]” (gOwl) { udp="<[192.168.1.65::'REGEX(.<chan id=‘0’><curr units=‘w’>([\d.]).)’]" }
String owlFase1Agg “Fase 1 Agregado [%s wh]” (gOwl) { udp="<[192.168.1.65::'REGEX(.<chan id=‘0’>.<day units=‘wh’>(.).)’]" }
String owlFase2 “Fase 2 [%s w]” (gOwl) { udp="<[192.168.1.65:
:‘REGEX(.<chan id=‘1’><curr units=‘w’>([\d.]).)’]" }
String owlFase2Agg “Fase 2 Agregado [%s wh]” (gOwl) { udp="<[192.168.1.65:
:‘REGEX(.<chan id=‘1’>.<day units=‘wh’>(.).)’]" }
String owlFase3 “Fase 3 [%s w]” (gOwl) { udp="<[192.168.1.65::'REGEX(.<chan id=‘2’><curr units=‘w’>([\d.]).)’]" }
String owlFase3Agg “Fase 3 Agregado [%s wh]” (gOwl) { udp="<[192.168.1.65::'REGEX(.<chan id=‘2’>.<day units=‘wh’>(.).*)’]" }

I hope this help somebody.

Best Regards,
Fernando Gomes

2 Likes

This is really interesting, many thanks for sharing, but I’m having a hard time implementing this, could you post the code in *items code fences? Because I think something is getting lost with how you pasted the code, maybe?

The IP address you specify is the IP address of the OWL, correct? Did you have to setup data push for your openhab server or is this just listening for UDP multicast?

Thank you!

Sorry for the big delay… So yeap the ip address is the owl device. In the tcp/udp binding I only need to configure the port:

[root@server openhab2]# head -5 services/tcp.cfg  
# all parameters can be applied to both the TCP and UDP binding unless
# specified otherwise

# Port to listen for incoming connections
udp:port=22601