Esempio n. 1
0
def monitor(config):
    
    global dimmed
    global playing

    logger = logging.getLogger(__name__)
    
    while True:
        time.sleep(1)

        plex = Plex(config)
        metadata = plex.get_media_metadata_from_sessions(USER_ID)

        if metadata:
            
            playing = True
            lifx = Lifx(config)
            light_id = config.get('plex-lifx', 'lifx_light_id')
            state = metadata['srobbling']

            if state == 'playing' and not dimmed:
                
                logger.info("PLAYING - Dimming till 0 light bulb {light_id}".format(light_id=light_id))
                lifx.set_state(light_id, 'on', None, 0.5, None)
                time.sleep(1)
                lifx.set_state(light_id, 'off', None, 0, None)
                dimmed = True

            elif dimmed:
                
                logger.info("PAUSED - Dimming till 0.5 light bulb {light_id}".format(light_id=light_id))
                lifx.set_state(light_id, 'on', None, 0.5, None)
                dimmed = False

        elif playing:
            
            logger.info("STOPPED - Turning light bulb {light_id} on".format(light_id=light_id))
            lifx.set_state(light_id, 'on', None, 1, None)
            dimmed = False
            playing = False