Skip to content

shortbloke/intuition

 
 

Repository files navigation

intuition

Build Status Coverage Status

Python asyncio library for receiving messages from the Network Owl (OWL Intution) home energy monitor. Supports messages being multicast on LAN and via directed UDP.

This library does not interface with the Owl Intuition website, and requires that it be run on the same LAN segment as the Network Owl.

Licensed under the GNU LGPL3+. For more details see COPYING and COPYING.LESSER.

Requirements

  • Python 3.5 or later

Owl Protocol Support

It supports the following packet types:

  • Electricity usage monitoring
  • Solar
  • Heating (protcol version 2.3 and later)
  • Hot Water (protcol version 2.3 and later)
  • Weather (Note: There isn't a sensor in the owl device to provide this. The information is sourced from an Owl Web Service)

Other packet types are unsupported and ignored, but patches to implement it are welcome. You may need to update the firmware on your device, which can be done when logged into your Owl Intuition Account

It supports two methods of receiving messages as defined in: [Multicast & UDP API Information] (https://theowl.zendesk.com/hc/en-gb/articles/201284603-Multicast-UDP-API-Information)

  • Multicast (PUSH) (default)
  • UDP (PUSH)

Usage

Calling this module can be performed from the following function:

  • start_listening - To use the asyncio socket listen to receive messages
  • parse_datagram - To directly parse a receive xml message

Running intuition\protocol.py will run the module in test mode, where it will output parsed messages to the console window.

The command line arguments are passed to start_listening function which supports:

  • '-i <interface>' - To specficfy a specific network interface to listen on.
  • '-u' - To specify UDP (PUSH) listening mode.
  • '-p <portnumber>' - To specify the UDP (PUSH) listening port number (default 32000).

Example: rrd

You can use the examples\rrd\ file to generate an rrd file to graph electricity usage information with rrdtool.

Tests

TO DO: Add outline of running tests manually and within travis

About

Python library for interacting with local network messages from OWL Intuition

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%