Release 1.0 - November 14th, 2013

Last official release for SmartHome.py. Implements the change to Python 3.x!!! (for x >= 2)

With Contributions from:

  • Daniel (mode)

  • Jan N. Klug

  • Lars Bernau (lbernau)

  • Marcus (mannmawg)

  • Mark Hönisch

  • Matthias Lemke

  • Mike Pieper

  • Mirko Hirsch

  • mptei

  • Niko Will

  • Oliver Hinckel

  • Robert Budde

  • xtcommerce

New Plugins

  • Artnet

  • Boxcar

  • DLMS

  • easymeter

  • eBusd

  • ecmd

  • eta_pu

  • Hue

  • iaqstick

  • Kostal

  • NetIO230B

  • NMA

  • SMA

  • Squeezebox

  • vr100

  • wettercom

Base Features

  • sh.match_items, eval_trigger and watch_item: supports item attribute matches by :attribute e.g. *:my every item with the attribute my.

  • New item methods:
    • item.timer and autotimer to set a item value after the specified time

    • age()

    • prev_age()

    • last_change()

    • prev_change()

    • last_update()

    • prev_value()

  • New sh.tools methods:
    • sh.tools.dt2ts(dt)

    • sh.tools.dt2js(dt)

    • sh.tools.rel2abs(temp, hum)

  • New smarthome.py start options:
    • -V: shows the Version

    • -i: starts the interactive mode

Plugin Features

  • Asterisk: ast_db attribute to control Asterisk database entries

  • KNX: new knx_status attribute

  • Network: new attribute nw_udp_send to send UDP packets on an item change.

  • RRDTool: use rrd = init to initialize the item value with the last database entry.

  • SQLite: use sqlite = init to initialize the item value with the last database entry.

Changes:

  • Python 3.2 migration

  • Visu: new attributes acl and visu_acl

  • predefined items env.core and env.system tree used by smartVISU

  • SQLite: Due to code changes that lead to to huge speed improvements the database structure changed and has to be deleted. This will take place at the first start.

  • 1-Wire: adding DS18S20 support

  • new config separator for multiple entries: |

  • improving logic response time

Migrate:

If you want to migrate to the new (Python) version, you have to do the following steps:

# install the base
$ sudo apt-get install python3 python3-dev python3-setuptools
$ sudo easy_install3 pip
$ sudo pip-3.2 install ephem

# to convert your old configuration !very important!
$ ./tools/conf2-1.0.sh

# change your logic files to python3 syntax
$ 2to3-3.2 -f idioms -f all -w yourlogicfile.py

# remove the old python pyc files
$ find . -name *.pyc -type f -print0 | xargs -0 /bin/rm -f

# if you want to use the RRDTool plugin
$ sudo apt-get install librrd-dev
$ cd lib/3rd/rrdtool
$ sudo python3 setup.py install