def main(): # Put variable declarations here variables = {'STATUS': {'type': 'string', 'bind': listen_for_events}} device = cloud4rpi.Device() device.declare(variables) api = cloud4rpi.connect_mqtt(DEVICE_TOKEN) cfg = device.read_config() api.publish_config(cfg) # Adds a 1 second delay to ensure device variables are created time.sleep(1) try: data_timer = 0 while True: if data_timer <= 0: data = device.read_data() api.publish_data(data) data_timer = DATA_SENDING_INTERVAL data_timer -= POLL_INTERVAL time.sleep(POLL_INTERVAL) except KeyboardInterrupt: cloud4rpi.log.info('Keyboard interrupt received. Stopping...') except Exception as e: error = cloud4rpi.get_error_message(e) cloud4rpi.log.error("ERROR! %s %s", error, sys.exc_info()[0]) finally: sys.exit(0)
def main(): # Put variable declarations here variables = { 'Room Temp': { 'type': 'numeric', 'bind': room_temp }, 'Outside Temp': { 'type': 'numeric', 'bind': outside_temp } } # Put system data declarations here diagnostics = { 'CPU Temp': cpu_temp, 'IP Address': ip_address, 'Host Name': hostname, 'Operating System': osname } device = cloud4rpi.Device() device.declare(variables) device.declare_diag(diagnostics) api = cloud4rpi.connect_mqtt(DEVICE_TOKEN) cfg = device.read_config() api.publish_config(cfg) # Adds a 1 second delay to ensure device variables are created sleep(1) try: diag_timer = 0 data_timer = 0 while True: if data_timer <= 0: data = device.read_data() api.publish_data(data) data_timer = DATA_SENDING_INTERVAL if diag_timer <= 0: diag = device.read_diag() api.publish_diag(diag) diag_timer = DIAG_SENDING_INTERVAL diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL sleep(POLL_INTERVAL) except KeyboardInterrupt: cloud4rpi.log.info('Keyboard interrupt received. Stopping...') except Exception as e: error = cloud4rpi.get_error_message(e) cloud4rpi.log.error("ERROR! %s %s", error, sys.exc_info()[0]) finally: sys.exit(0)
def main(): # Put variable declarations here variables = { 'XIO-P0': { 'type': 'bool', 'value': False, 'bind': P0_control } } # Put system data declarations here diagnostics = { 'IP Address': chip.ip_address, 'Host': gethostname(), 'Operating System': " ".join(uname()), 'CPU Temperature': chip.cpu_temp } device = cloud4rpi.Device() device.declare(variables) device.declare_diag(diagnostics) api = cloud4rpi.connect_mqtt(DEVICE_TOKEN) api.on_command = device.handle_mqtt_commands(api) cfg = device.read_config() api.publish_config(cfg) # Adds a 1 second delay to ensure device variables are created sleep(1) try: diag_timer = 0 data_timer = 0 while True: if data_timer <= 0: data = device.read_data() api.publish_data(data) data_timer = DATA_SENDING_INTERVAL if diag_timer <= 0: diag = device.read_diag() api.publish_diag(diag) diag_timer = DIAG_SENDING_INTERVAL diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL sleep(POLL_INTERVAL) except KeyboardInterrupt: cloud4rpi.log.info('Keyboard interrupt received. Stopping...') sys.exit(0) except Exception as e: error = cloud4rpi.get_error_message(e) cloud4rpi.log.error("ERROR! %s %s", error, sys.exc_info()[0]) sys.exit(1)
def main(): o2 = omega2.Omega2() # Put variable declarations here variables = { 'Omega LED': { 'type': 'bool', 'value': False, 'bind': o2.led_control } } # Put system data declarations here diagnostics = { 'Host': gethostname(), 'Operating System': " ".join(uname()), 'Omega2 version': 'Omega2 Plus' if 'p' in o2.version else 'Omega2' } device = cloud4rpi.Device() device.declare(variables) device.declare_diag(diagnostics) api = cloud4rpi.connect_mqtt(DEVICE_TOKEN) api.on_command = device.handle_mqtt_commands(api) cfg = device.read_config() api.publish_config(cfg) try: diag = device.read_diag() api.publish_diag(diag) while True: data = device.read_data() api.publish_data(data) sleep(DATA_SENDING_INTERVAL) except KeyboardInterrupt: cloud4rpi.log.info('Keyboard interrupt received. Stopping...') sys.exit(0) except Exception as e: error = cloud4rpi.get_error_message(e) cloud4rpi.log.error("ERROR! %s %s", error, sys.exc_info()[0]) sys.exit(1)
def main(): # load w1 modules ds18b20.init_w1() # detect DS18B20 temperature sensors ds_sensors = ds18b20.DS18b20.find_all() # Put variable declarations here variables = { 'Room Temp': { 'type': 'numeric', 'bind': ds_sensors[0] }, # 'Outside Temp': { # 'type': 'numeric', # 'bind': ds_sensors[1] # }, 'CPU Temp': { 'type': 'numeric', 'bind': rpi.cpu_temp } } diagnostics = { 'IP Address': rpi.ip_address, 'Host': gethostname(), 'Operating System': " ".join(uname()) } device = cloud4rpi.Device() device.declare(variables) device.declare_diag(diagnostics) api = cloud4rpi.connect_mqtt(DEVICE_TOKEN) cfg = device.read_config() api.publish_config(cfg) # adds a 1 second delay to ensure device variables are created sleep(1) try: diag_timer = 0 data_timer = 0 while True: if data_timer <= 0: data = device.read_data() api.publish_data(data) data_timer = DATA_SENDING_INTERVAL if diag_timer <= 0: diag = device.read_diag() api.publish_diag(diag) diag_timer = DIAG_SENDING_INTERVAL diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL sleep(POLL_INTERVAL) except KeyboardInterrupt: cloud4rpi.log.info('Keyboard interrupt received. Stopping...') except Exception as e: error = cloud4rpi.get_error_message(e) cloud4rpi.log.error("ERROR! %s %s", error, sys.exc_info()[0]) finally: sys.exit(0)