Skip to content

Commit 92db600

Browse files
committed
Fixed incoming dynet traffic handling
1 parent 8ab47ee commit 92db600

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

dynalite_lib/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"""Version of package."""
2-
VERSION = (0, 1, 10)
2+
VERSION = (0, 1, 12)
33

44
__version__ = '.'.join(map(str, VERSION))

dynalite_lib/dynalite.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,11 @@ def __init__(self, name=None, value=None, fade=2, logger=None, broadcastFunction
116116
self.broadcastFunction(
117117
Event(eventType='newpreset', data=broadcastData))
118118

119-
def turnOn(self, send=True):
119+
def turnOn(self, sendDynet=True, sendMQTT=True):
120120
self.active = True
121121
if self.area:
122122
self.area.activePreset = self.value
123-
if self.broadcastFunction:
123+
if sendMQTT and self.broadcastFunction:
124124
broadcastData = {
125125
'area': self.area.value,
126126
'preset': self.value,
@@ -129,17 +129,17 @@ def turnOn(self, send=True):
129129
}
130130
self.broadcastFunction(
131131
Event(eventType='preset', data=broadcastData))
132-
if send and self._control:
132+
if sendDynet and self._control:
133133
self._control.areaPreset(
134134
area=self.area.value, preset=self.value, fade=self.fade)
135135
for preset in self.area.preset:
136136
if self.value != preset:
137137
if self.area.preset[preset].active:
138-
self.area.preset[preset].turnOff(send=False)
138+
self.area.preset[preset].turnOff(sendDynet=False, sendMQTT=True)
139139

140-
def turnOff(self, send=True):
140+
def turnOff(self, sendDynet=True, sendMQTT=True):
141141
self.active = False
142-
if self.broadcastFunction:
142+
if sendMQTT and self.broadcastFunction:
143143
broadcastData = {
144144
'area': self.area.value,
145145
'preset': self.value,
@@ -148,7 +148,7 @@ def turnOff(self, send=True):
148148
}
149149
self.broadcastFunction(
150150
Event(eventType='preset', data=broadcastData))
151-
if send and self._control:
151+
if sendDynet and self._control:
152152
self._control.areaOff(area=self.area.value, fade=self.fade)
153153

154154

@@ -181,17 +181,17 @@ def __init__(self, name=None, value=None, fade=2, areaPresets=None, defaultPrese
181181
self.preset[int(presetValue)] = DynalitePreset(
182182
name=presetName, value=presetValue, fade=presetFade, logger=self._logger, broadcastFunction=self.broadcastFunction, area=self, dynetControl=self._dynetControl)
183183

184-
def presetOn(self, preset, send=True):
184+
def presetOn(self, preset, sendDynet=True, sendMQTT=True):
185185
if preset not in self.preset:
186186
self.preset[preset] = DynalitePreset(
187187
value=preset, fade=self.fade, logger=self._logger, broadcastFunction=self.broadcastFunction, area=self, dynetControl=self._dynetControl)
188-
self.preset[preset].turnOn(send=send)
188+
self.preset[preset].turnOn(sendDynet=sendDynet, sendMQTT=sendMQTT)
189189

190-
def presetOff(self, preset, send=True):
190+
def presetOff(self, preset, sendDynet=True, sendMQTT=True):
191191
if preset not in self.preset:
192192
self.preset[preset] = DynalitePreset(
193193
value=preset, fade=self.fade, logger=self._logger, broadcastFunction=self.broadcastFunction, area=self, dynetControl=self._dynetControl)
194-
self.preset[preset].turnOff(send=send)
194+
self.preset[preset].turnOff(sendDynet=sendDynet, sendMQTT=sendMQTT)
195195

196196
class Dynalite(object):
197197

@@ -224,9 +224,9 @@ def processTraffic(self, event):
224224

225225
@asyncio.coroutine
226226
def _processTraffic(self, event):
227-
if event.eventType == 'PRESET':
228-
self.devices['area'][event.data['area']].presetOn(event.data['preset'],send=False)
229227
self.broadcast(event)
228+
if event.eventType == 'PRESET':
229+
self.devices['area'][event.data['area']].presetOn(event.data['preset'],sendDynet=False, sendMQTT=False)
230230

231231
@asyncio.coroutine
232232
def _connect(self):

dynalite_lib/inbound.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import json
1010

11+
1112
class DynetEvent(object):
1213

1314
def __init__(self, eventType=None, message=None, data={}, direction=None):
@@ -35,7 +36,7 @@ def preset(self, packet):
3536
packet.preset = packet.command
3637
packet.preset = (packet.preset + (packet.data[2] * 8)) + 1
3738
packet.fade = (packet.data[0] + (packet.data[1] * 256)) * 0.02
38-
return DynetEvent(eventType='PRESET', message=("Area %d Preset %d Fade %d seconds." % (packet.area, packet.preset, packet.fade)), data={'area': packet.area, 'preset': packet.preset, 'fade': packet.fade, 'join': packet.join}, direction="IN")
39+
return DynetEvent(eventType='PRESET', message=("Area %d Preset %d Fade %d seconds." % (packet.area, packet.preset, packet.fade)), data={'area': packet.area, 'preset': packet.preset, 'fade': packet.fade, 'join': packet.join, 'state': 'ON'}, direction="IN")
3940

4041
def preset_1(self, packet):
4142
return self.preset(packet)
@@ -66,10 +67,9 @@ def request_preset(self, packet):
6667

6768
def report_preset(self, packet):
6869
packet.preset = packet.data[0] + 1
69-
# packet.fade = (packet.data[1] + (packet.data[2] * 256)) * 0.02
70-
return DynetEvent(eventType='PRESET', message=("Current Area %d Preset is %d" % (packet.area, packet.preset)), data={'area': packet.area, 'preset': packet.preset, 'join': packet.join}, direction="IN")
70+
return DynetEvent(eventType='PRESET', message=("Current Area %d Preset is %d" % (packet.area, packet.preset)), data={'area': packet.area, 'preset': packet.preset, 'join': packet.join, 'state': 'ON'}, direction="IN")
7171

7272
def linear_preset(self, packet):
7373
packet.preset = packet.data[0] + 1
7474
packet.fade = (packet.data[1] + (packet.data[2] * 256)) * 0.02
75-
return DynetEvent(eventType='PRESET', message=("Area %d Preset %d Fade %d seconds." % (packet.area, packet.preset, packet.fade)), data={'area': packet.area, 'preset': packet.preset, 'fade': packet.fade, 'join': packet.join}, direction="IN")
75+
return DynetEvent(eventType='PRESET', message=("Area %d Preset %d Fade %d seconds." % (packet.area, packet.preset, packet.fade)), data={'area': packet.area, 'preset': packet.preset, 'fade': packet.fade, 'join': packet.join, 'state': 'ON'}, direction="IN")

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="dynalite",
8-
version="0.1.10",
8+
version="0.1.12",
99
author="Troy Kelly",
1010
author_email="[email protected]",
1111
description="An unofficial Dynalite DyNET interface",

0 commit comments

Comments
 (0)