in source/cf/defaults/lambdas/sputnik-rpi-sense-hat-demo-python/lambda_function.py [0:0]
def lambda_handler(event, context):
try:
topic = context.client_context.custom["subject"]
payload = event
print('Received message on topic %s: %s\n' % (topic, json.dumps(payload)))
if topic == TOPIC_SHADOW_UPDATE_ACCEPTED:
parseIncomingShadow(event)
elif topic == TOPIC_SHADOW_UPDATE_DELTA:
if "state" in event:
state = event["state"]
parseIncomingShadow({"state": {"desired": state}})
elif topic == TOPIC_SCREEN and 'screen' in payload:
if 'r' in payload['screen'] and 'g' in payload['screen'] and 'b' in payload['screen']:
sense.clear(payload['screen']['r'], payload['screen']['g'], payload['screen']['b'])
GGIOT.updateThingShadow(payload={"state": {"reported": {"screen": payload['screen']}}})
elif isinstance(payload['screen'], basestring):
sense.show_message(payload['screen'], scroll_speed=0.05)
GGIOT.updateThingShadow(payload={"state": {"reported": {"screen": payload['screen']}}})
except Exception as e:
print(e)
return