CMD_LENGTH = 8
+ TOGGLE_RELAIS = 1
+ SWITCH_ON_RELAIS = 2
+ SWITCH_OFF_RELAIS = 3
+
def __init__(self, host='morefx.dyndns.org', port=10001):
self.host = host
self.port = port
log.error("Konnte Socket nicht richtig schliessen: %s" % (e) )
self.connected = False
- def setRelais(self, relais, disconnect = True):
+ def setRelais(self, relais, disconnect = True, mode = TOGGLE_RELAIS):
"""Setze das Relais mit der Nummer 'nummer'"""
log = logging.getLogger()
try:
state = self.readRelais(disconnect=False)
- position = (1<<relais)
- if state & position:
- state = state & (~position)
- else:
- state = state | position
+ if mode == Netzdose.TOGGLE_RELAIS:
+ state ^= (1<<relais)
+ elif mode == Netzdose.SWITCH_ON_RELAIS:
+ state |= (1<<relais)
+ elif mode == Netzdose.SWITCH_ON_RELAIS:
+ state &= (1<<relais)
relaisCmd = "%c%c%c\0\0\0\0%c" % (Netzdose.START_CMD, Netzdose.CMD_SETRELAIS, state, Netzdose.STOP_CMD)
if self.connect():
try: