예제 #1
0
    def __init__(self, host, mac, name, pin):
        """Initialize the Sony Bravia device."""
        from braviarc import braviarc

        self._pin = pin
        self._braviarc = braviarc.BraviaRC(host, mac)
        self._name = name
        self._state = STATE_OFF
        self._muted = False
        self._program_name = None
        self._channel_name = None
        self._channel_number = None
        self._source = None
        self._source_list = []
        self._original_content_list = []
        self._content_mapping = {}
        self._duration = None
        self._content_uri = None
        self._id = None
        self._playing = False
        self._start_date_time = None
        self._program_media_type = None
        self._min_volume = None
        self._max_volume = None
        self._volume = None

        self._braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
        if self._braviarc.is_connected():
            self.update()
        else:
            self._state = STATE_OFF
예제 #2
0
    def bravia_configuration_callback(data):
        """Callback after user enter PIN."""
        from braviarc import braviarc

        pin = data.get('pin')
        braviarc = braviarc.BraviaRC(host)
        braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
        if braviarc.is_connected():
            setup_bravia(config, pin, hass, add_devices)
        else:
            request_configuration(config, hass, add_devices)
예제 #3
0
    def bravia_configuration_callback(data):
        """Handle the entry of user PIN."""
        from braviarc import braviarc

        pin = data.get("pin")
        braviarc = braviarc.BraviaRC(host)
        braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
        if braviarc.is_connected():
            setup_bravia(config, pin, hass, add_entities)
        else:
            request_configuration(config, hass, add_entities)
예제 #4
0
def _tv_endpoint(body):
    address = body['address']
    pin = body['pin']
    on = body.get('on')
    cmd = body.get('cmd')

    brc = braviarc.BraviaRC(address)
    brc.connect(pin, 'ramiel_ifttt', 'ramiel_ifttt')

    if on is not None:
        if on:
            brc.turn_on()
        else:
            brc.turn_off()

    if cmd == 'play':
        brc.media_play()
    elif cmd == 'pause':
        brc.media_pause()

    return ""