LegacyDevice tx path commissioned end to end
1 parent 6b9b5ca commit 887cdda0f03ac4299cc6e5341c765b0d237eff6e
@David Whale David Whale authored on 20 May 2016
Showing 6 changed files
View
4
src/combined.py
purple_off = OpenThings.encode(m)
 
# build OOK messages for legacy green button
 
GREEN_ON = TwoBit.build_switch_msg(True, device_address=1)
GREEN_OFF = TwoBit.build_switch_msg(False, device_address=1)
GREEN_ON = TwoBit.encode_switch_message(True, device_address=1)
GREEN_OFF = TwoBit.encode_switch_message(False, device_address=1)
 
 
def switch_loop():
print("Turning green ON")
View
24
src/energenie/Devices.py
self.capabilities.switch = True
self.capabilities.receive = True
 
def turn_on(self):
self.send_message("turn on") # TODO
payload = {
"house_address": self.device_id[0],
"device_index": self.device_id[1],
"on": True
}
self.send_message(payload)
 
def turn_off(self):
self.send_message("turn off") # TODO
payload = {
"house_address": self.device_id[0],
"device_index": self.device_id[1],
"on": False
}
self.send_message(payload)
 
 
class MIHO005(MiHomeDevice):
"""An Energenie MiHome Adaptor Plus"""
View
13
src/energenie/OnAir.py
def send(self, payload, radio_params=None):
# payload is just a list of bytes, or a byte buffer
# radio_params is an overlay on top of radio tx defaults
 
p = TwoBit.encode(payload)
house_address = payload["house_address"]
device_index = payload["device_index"]
state = payload["on"]
bytes = TwoBit.encode_switch_message(state, device_index, house_address)
radio.modulation(ook=True)
 
#TODO: merge radio_params with self.tx_defaults
#TODO: configure radio modulation based on merged params
#TODO: transmit payload
radio.transmit(p, outer_times=1, inner_times=8, outer_delay=0) #TODO: radio params
 
radio.transmit(bytes, outer_times=1, inner_times=8, outer_delay=0) #TODO: radio params
# radio auto-pops to state before transmit
 
@log_method
def receive(self, radio_params): # -> (radio_measurements, address or None, payload or None)
View
src/energenie/Registry.py
View
src/energenie/TwoBit.py
View
src/legacy.py