Newer
Older
pyenergenie / src / control_legacy.py
# legacy.py  17/03/2016  D.J.Whale
#
# Control up to 4 legacy green-button sockets (or MiHome control-only sockets)

import time
import energenie

APP_DELAY = 1

# Devices that use the standard Energenie house code
all_sockets = energenie.Devices.ENER002(0)
socket1     = energenie.Devices.ENER002(1)
socket2     = energenie.Devices.ENER002(2)
socket3     = energenie.Devices.ENER002(3)
socket4     = energenie.Devices.ENER002(4)

# A device that uses a custom house code (e.g. learnt from a hand controller)
socket5     = energenie.Devices.ENER002((0x1234, 1))

sockets     = [all_sockets, socket1, socket2, socket3, socket4, socket5]


def legacy_socket_loop():
    """Turn all sockets on or off every few seconds"""

    while True:
        for socket_no in range(len(sockets)):
            # socket_no 0 is ALL, then 1=1, 2=2, 3=3, 4=4
            # ON
            print("socket %d ON" % socket_no)
            sockets[socket_no].turn_on()
            time.sleep(APP_DELAY)

            # OFF
            print("socket %d OFF" % socket_no)
            sockets[socket_no].turn_off()
            time.sleep(APP_DELAY)


if __name__ == "__main__":
    print("starting legacy socket tester")

    energenie.init()

    try:
        legacy_socket_loop()
    finally:
        energenie.finished()

# END