def alarmsniffer(): alarm_codes_ein = ['1361', '4433', '5201', '5393'] alarm_codes_aus = ['1364', '4436', '5204', '5396'] receiver = RCSwitchReceiver() receiver.enableReceive(2) while True: if receiver.available(): received_value = receiver.getReceivedValue() if (received_value): if any(str(received_value) in s for s in alarm_codes_ein): alarm('EIN') subprocess.call("sh monitor_on.sh &> /dev/null", shell=True) if any(str(received_value) in s for s in alarm_codes_aus): alarm('AUS') receiver.resetAvailable() time.sleep(.5)
class RCSwitch(Switch): def __init__(self, triggervalue, shutdownvalue, exitvalue): self.receiver = RCSwitchReceiver() self.receiver.enableReceive(2) self.triggervalue = triggervalue self.shutdownvalue = shutdownvalue self.exitvalue = exitvalue def get_switch_state(self): if self.receiver.available(): value = self.receiver.getReceivedValue() self.receiver.resetAvailable() return { self.triggervalue: SwitchState.TRIGGER, self.shutdownvalue: SwitchState.SHUTDOWN, self.exitvalue: SwitchState.EXIT }.get(value, SwitchState.NONE) return SwitchState.NONE
class RCSwitch(Switch): def __init__(self, triggervalue, shutdownvalue, exitvalue): self.receiver = RCSwitchReceiver() self.receiver.enableReceive(2) self.triggervalue = triggervalue self.shutdownvalue = shutdownvalue self.exitvalue = exitvalue def get_switch_state(self): if self.receiver.available(): value = self.receiver.getReceivedValue() self.receiver.resetAvailable() return { self.triggervalue: SwitchState.TRIGGER, self.shutdownvalue: SwitchState.SHUTDOWN, self.exitvalue: SwitchState.EXIT }.get(value, SwitchState.NONE) return SwitchState.NONE
def run_receiver(): """ Setup the Raspberry Pi as receiver, listen for transmitted values, display every received number as binary < 256 if the display is attached. Prints the received value, bit length and protocol to the terminal. """ receiver = RCSwitchReceiver() receiver.enableReceive(2) while True: print 'Listening...' sleep(0.5) if receiver.available(): received_value = receiver.getReceivedValue() if received_value: display_number(received_value % 256, True) print("Value: %s | Bit: %s | Protocol: %s" % (received_value, receiver.getReceivedBitlength(), receiver.getReceivedProtocol())) receiver.resetAvailable()
class Receiver433Manager(threading.Thread): def __init__(self, shared_queue): super(Receiver433Manager, self).__init__() # shared queue to send data (received UID)to the main thread self.shared_queue = shared_queue # init the lib self.receiver = RCSwitchReceiver() # WiringPi 2 = RPI pin 13 = GPIO 27 self.receiver.enableReceive(2) # this is used to stop the arming thread self.stop_event = threading.Event() def run(self): print "Starting receiver 433" while not self.stop_event.is_set(): if self.receiver.available(): received_value = self.receiver.getReceivedValue() if received_value: print "Receiver 433; Received id: %s" % received_value # send the value to the main thread if self.shared_queue is not None: self.shared_queue.put(received_value) # wait before listen again time.sleep(1) self.receiver.resetAvailable() # take a breath time.sleep(0.1) def stop(self): """ Stop the thread :return: """ self.stop_event.set() self.receiver.resetAvailable()
from pi_switch import RCSwitchReceiver from Config import Config #---------------------------------------------------------------------------# # Configure receiver #---------------------------------------------------------------------------# receiver = RCSwitchReceiver() receiver.enableReceive(Config.RPi_Pin_Receiver) num = 0 #---------------------------------------------------------------------------# # Loop and wait for commands #---------------------------------------------------------------------------# while True: if receiver.available(): received_value = receiver.getReceivedValue() if received_value: num += 1 print("Received[%s]:" % num) print(received_value) print("%s / %s bit" % (received_value, receiver.getReceivedBitlength())) print("Protocol: %s" % receiver.getReceivedProtocol()) print("") receiver.resetAvailable()
prevHum=0 def onConnect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) mqttClient = mqtt.Client("c3") mqttClient.on_connect = onConnect #mqttClient.connect("54.187.15.61",1883) mqttClient.connect("54.67.96.20",1883) message={} while True: if receiver.available(): received_value = receiver.getReceivedValue() if received_value: num += 1 print("Received[%s]:" % num) print(received_value) print("%s / %s bit" % (received_value, receiver.getReceivedBitlength())) print("Protocol: %s" % receiver.getReceivedProtocol()) print("") lst = [int(i) for i in str(received_value)] print(lst[1]) try: checkSum=lst[0]+lst[1]+lst[2]+lst[3]+lst[4] checkSum=checkSum*lst[4] except: