Heating / Water Control with Owl Intuition

For heating/cooling related questions in Domoticz

Moderator: leecollings

Post Reply
btdreed
Posts: 4
Joined: Wednesday 13 January 2016 11:44
Target OS: Raspberry Pi / ODroid
Domoticz version: 2.4237
Location: Market Harborough, United Kingdom
Contact:

Heating / Water Control with Owl Intuition

Post by btdreed »

I have had an Owl Intuition setup for some time, monitoring energy use, and solar PV initially, and then extended to use their heating and hot water controls, which work very well.

I've now gone that step further and implemented Domoticz with RFXCom and Z-Wave adapters on a Pi to start automating the rest of the house, but would like to try and integrate the Owl setup rather than replace it.

I've seen various comments about the monitoring side, and have that sort of working, but not seen anything about the control part. Has anyone had any experience with this ?

I'm happy to get my hands dirty and do some coding if required, and any pointers would be gratefully received.

Thanks for any help anyone can offer (and thanks to everyone who's comments have made Domoticz a doddle to implement so far!)

Ben
Ben
Raspberry Pi Model B
Z-Wave.Me
RFXTrx33
TKB Z-Wave Socket
Domitech Z-Wave Lamp
2 Energenie Sockets
3 Maplin Sockets (COCO GDR 2)
Viking Thermometer
btdreed
Posts: 4
Joined: Wednesday 13 January 2016 11:44
Target OS: Raspberry Pi / ODroid
Domoticz version: 2.4237
Location: Market Harborough, United Kingdom
Contact:

Re: Heating / Water Control with Owl Intuition

Post by btdreed »

Well I had a little spare time, and I noticed that there is a python script option as wellas lua, and since I have previously done this in python with a web front end, i thought I would try to adapt it - how simple is this....

I'm sure there is lots I can do to make this better, but it is working :

First, create a python script in /home/pi/domoticz/scripts/python

Mine is called boost_heating.py

Code: Select all

#!/usr/bin/python
import socket
sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.sendto("BOOST,ON,NETWORKOWLID",("IP_Address_of_NetworkOWL",5100))
Replace the NETWORKOWLID with your ID (it can be found on the owlintuition web page), and of course the IP address of your NetworkOwl

For the Off Switch, duplicate the script but change to "BOOST,OFF....."

For Hot Water control, the same script again, but with "MOREHW,NETWORKOWLID......" - this one will work the same for On and Off

Next, make sure you change the ownership of the file to be pi :

Code: Select all

sudo chown pi.pi /home/pi/domoticz/scripts/python/boost_heating.py
and the permissions

Code: Select all

sudo chmod +x /home/pi/domoticz/scripts/python/boost_heating.py
Next, create a Virtual (Dummy) Switch in the HW setup on Domoticz, add a virtual sensor of type Switch for each of Heating and HW

Finally, go to Switches and Edit your new switch and add switch:///home/pi/domotics/scripts/python/boost_heating.py into the URL for 'On' etc.

That's it - you can now turn on or off your OwlIntuition Heating or HW from Domoticz.
Ben
Raspberry Pi Model B
Z-Wave.Me
RFXTrx33
TKB Z-Wave Socket
Domitech Z-Wave Lamp
2 Energenie Sockets
3 Maplin Sockets (COCO GDR 2)
Viking Thermometer
JoshDinsdale
Posts: 29
Joined: Monday 24 February 2014 14:31
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Heating / Water Control with Owl Intuition

Post by JoshDinsdale »

That is great, unbelievably simple! I have been using a nastily hacked (by me) version of an emoncms script for owl that uses node; it basically runs as a service and updates virtual switches on domoticz to keep track of when the heating changes state. It would be nice to mash it all together to make a fully functional mechanism for doing it all. It could probably all be done in python however my coding skills are, shall we say, somewhat lacking. :D
JoshDinsdale
Posts: 29
Joined: Monday 24 February 2014 14:31
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Heating / Water Control with Owl Intuition

Post by JoshDinsdale »

btdreed, I've made a couple of changes to your script which means that rather than using two scripts you can just use one and call it with a command line argument instead. Not a big things, but its one less script to have to maintain!

Also, just for clarification, rather than NETWORKOWLID, its actually the UDP key you need to send, which is found under "advanced options > setup data push" in the owlintuition web CP.

Code: Select all

#!/usr/bin/python
import socket
from sys import argv

command = argv[1]
owlkey =  "UDPKEY"
owlip =  "OWLGWIP"
owlport = 5100
commandtype = "BOOST"

owlstring = commandtype + "," + command + "," + owlkey

sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.sendto(owlstring,(owlip,owlport))

print owlstring
you would just call this like scriptname.py ON or scriptname.py OFF
pervo
Posts: 1
Joined: Friday 15 November 2019 13:56
Target OS: Windows
Domoticz version:
Contact:

Re: Heating / Water Control with Owl Intuition

Post by pervo »

Is there a solution for windows users and do ineed the rfxcom device using this method?
btdreed
Posts: 4
Joined: Wednesday 13 January 2016 11:44
Target OS: Raspberry Pi / ODroid
Domoticz version: 2.4237
Location: Market Harborough, United Kingdom
Contact:

Re: Heating / Water Control with Owl Intuition

Post by btdreed »

This doesn't need anything on your RFXCom, it is multicast data straight over your local area network. The same code will work on Windows if you install Python
Ben
Raspberry Pi Model B
Z-Wave.Me
RFXTrx33
TKB Z-Wave Socket
Domitech Z-Wave Lamp
2 Energenie Sockets
3 Maplin Sockets (COCO GDR 2)
Viking Thermometer
paxoman
Posts: 1
Joined: Thursday 03 December 2020 12:27
Target OS: -
Domoticz version:
Contact:

Re: Heating / Water Control with Owl Intuition

Post by paxoman »

Hello there, this is just what im trying to do on home assistant, i have managed to get data from the Owl about the heating state and temps and solar use, I used NodeRed and the udp in node but now i want to use the Node udp out turn the heating on and not sure how i use the code you have put

#!/usr/bin/python
import socket
sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.sendto("BOOST,ON,NETWORKOWLID",("IP_Address_of_NetworkOWL",5100))

If any one can help that would be much wellcome
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest