예제 #1
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the MQTT fan."""
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = False
        self._speed = None
        self._oscillation = None
        self._supported_features = 0
        self._sub_state = None

        self._topic = None
        self._payload = None
        self._templates = None
        self._optimistic = None
        self._optimistic_oscillation = None
        self._optimistic_speed = None

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #2
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize MQTT light."""
        self._state = False
        self._sub_state = None
        self._brightness = None
        self._hs = None
        self._color_temp = None
        self._effect = None
        self._white_value = None

        self._topic = None
        self._payload = None
        self._templates = None
        self._optimistic = False
        self._optimistic_rgb = False
        self._optimistic_brightness = False
        self._optimistic_color_temp = False
        self._optimistic_effect = False
        self._optimistic_hs = False
        self._optimistic_white_value = False
        self._optimistic_xy = False
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #3
0
    def __init__(self, config, discovery_hash):
        """Initialize the MQTT binary sensor."""
        self._config = config
        self._state = None
        self._sub_state = None
        self._delay_listener = None

        self._name = None
        self._state_topic = None
        self._device_class = None
        self._payload_on = None
        self._payload_off = None
        self._qos = None
        self._force_update = None
        self._off_delay = None
        self._template = None
        self._unique_id = None

        # Load config
        self._setup_from_config(config)

        availability_topic = config.get(CONF_AVAILABILITY_TOPIC)
        payload_available = config.get(CONF_PAYLOAD_AVAILABLE)
        payload_not_available = config.get(CONF_PAYLOAD_NOT_AVAILABLE)
        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, availability_topic, self._qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #4
0
    def __init__(self, hass, config, config_entry, discovery_hash):
        """Initialize the climate device."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._sub_state = None

        self.hass = hass
        self._topic = None
        self._value_templates = None
        self._target_temperature = None
        self._current_fan_mode = None
        self._current_operation = None
        self._current_swing_mode = None
        self._unit_of_measurement = hass.config.units.temperature_unit
        self._away = False
        self._hold = None
        self._current_temperature = None
        self._aux = False

        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #5
0
 def __init__(self, name, icon,
              state_topic, command_topic, availability_topic,
              qos, retain, payload_on, payload_off, state_on,
              state_off, optimistic, payload_available,
              payload_not_available, unique_id: Optional[str],
              value_template, device_config: Optional[ConfigType],
              discovery_hash):
     """Initialize the MQTT switch."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     MqttEntityDeviceInfo.__init__(self, device_config)
     self._state = False
     self._name = name
     self._icon = icon
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._state_on = state_on if state_on else self._payload_on
     self._state_off = state_off if state_off else self._payload_off
     self._optimistic = optimistic
     self._template = value_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #6
0
 def __init__(self, name, topic, templates, qos, retain, payload,
              speed_list, optimistic, availability_topic, payload_available,
              payload_not_available, unique_id: Optional[str],
              discovery_hash):
     """Initialize the MQTT fan."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._name = name
     self._topic = topic
     self._qos = qos
     self._retain = retain
     self._payload = payload
     self._templates = templates
     self._speed_list = speed_list
     self._optimistic = optimistic or topic[CONF_STATE_TOPIC] is None
     self._optimistic_oscillation = (
         optimistic or topic[CONF_OSCILLATION_STATE_TOPIC] is None)
     self._optimistic_speed = (
         optimistic or topic[CONF_SPEED_STATE_TOPIC] is None)
     self._state = False
     self._speed = None
     self._oscillation = None
     self._supported_features = 0
     self._supported_features |= (topic[CONF_OSCILLATION_STATE_TOPIC]
                                  is not None and SUPPORT_OSCILLATE)
     self._supported_features |= (topic[CONF_SPEED_STATE_TOPIC]
                                  is not None and SUPPORT_SET_SPEED)
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #7
0
 def __init__(self, name, unique_id, effect_list, topic, templates,
              qos, retain, payload, optimistic, brightness_scale,
              white_value_scale, on_command_type, availability_topic,
              payload_available, payload_not_available, discovery_hash):
     """Initialize MQTT light."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._name = name
     self._unique_id = unique_id
     self._effect_list = effect_list
     self._topic = topic
     self._qos = qos
     self._retain = retain
     self._payload = payload
     self._templates = templates
     self._optimistic = optimistic or topic[CONF_STATE_TOPIC] is None
     self._optimistic_rgb = \
         optimistic or topic[CONF_RGB_STATE_TOPIC] is None
     self._optimistic_brightness = (
         optimistic or topic[CONF_BRIGHTNESS_STATE_TOPIC] is None)
     self._optimistic_color_temp = (
         optimistic or topic[CONF_COLOR_TEMP_STATE_TOPIC] is None)
     self._optimistic_effect = (
         optimistic or topic[CONF_EFFECT_STATE_TOPIC] is None)
     self._optimistic_white_value = (
         optimistic or topic[CONF_WHITE_VALUE_STATE_TOPIC] is None)
     self._optimistic_xy = \
         optimistic or topic[CONF_XY_STATE_TOPIC] is None
     self._brightness_scale = brightness_scale
     self._white_value_scale = white_value_scale
     self._on_command_type = on_command_type
     self._state = False
     self._brightness = None
     self._hs = None
     self._color_temp = None
     self._effect = None
     self._white_value = None
     self._supported_features = 0
     self._supported_features |= (
         topic[CONF_RGB_COMMAND_TOPIC] is not None and SUPPORT_COLOR)
     self._supported_features |= (
         topic[CONF_BRIGHTNESS_COMMAND_TOPIC] is not None and
         SUPPORT_BRIGHTNESS)
     self._supported_features |= (
         topic[CONF_COLOR_TEMP_COMMAND_TOPIC] is not None and
         SUPPORT_COLOR_TEMP)
     self._supported_features |= (
         topic[CONF_EFFECT_COMMAND_TOPIC] is not None and
         SUPPORT_EFFECT)
     self._supported_features |= (
         topic[CONF_WHITE_VALUE_COMMAND_TOPIC] is not None and
         SUPPORT_WHITE_VALUE)
     self._supported_features |= (
         topic[CONF_XY_COMMAND_TOPIC] is not None and SUPPORT_COLOR)
     self._discovery_hash = discovery_hash
예제 #8
0
    def __init__(self, name, unique_id, effect_list, topic, qos, retain,
                 optimistic, brightness, color_temp, effect, rgb, white_value,
                 xy, hs, flash_times, availability_topic, payload_available,
                 payload_not_available, brightness_scale,
                 discovery_hash: Optional[str]):
        """Initialize MQTT JSON light."""
        MqttAvailability.__init__(self, availability_topic, qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash)
        self._name = name
        self._unique_id = unique_id
        self._effect_list = effect_list
        self._topic = topic
        self._qos = qos
        self._retain = retain
        self._optimistic = optimistic or topic[CONF_STATE_TOPIC] is None
        self._state = False
        self._rgb = rgb
        self._xy = xy
        self._hs_support = hs
        if brightness:
            self._brightness = 255
        else:
            self._brightness = None

        if color_temp:
            self._color_temp = 150
        else:
            self._color_temp = None

        if effect:
            self._effect = 'none'
        else:
            self._effect = None

        if hs or rgb or xy:
            self._hs = [0, 0]
        else:
            self._hs = None

        if white_value:
            self._white_value = 255
        else:
            self._white_value = None

        self._flash_times = flash_times
        self._brightness_scale = brightness_scale

        self._supported_features = (SUPPORT_TRANSITION | SUPPORT_FLASH)
        self._supported_features |= (rgb and SUPPORT_COLOR)
        self._supported_features |= (brightness and SUPPORT_BRIGHTNESS)
        self._supported_features |= (color_temp and SUPPORT_COLOR_TEMP)
        self._supported_features |= (effect and SUPPORT_EFFECT)
        self._supported_features |= (white_value and SUPPORT_WHITE_VALUE)
        self._supported_features |= (xy and SUPPORT_COLOR)
        self._supported_features |= (hs and SUPPORT_COLOR)
예제 #9
0
    def __init__(self, config, discovery_hash):
        """Initialize the MQTT Camera."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._sub_state = None

        self._qos = 0
        self._last_image = None

        Camera.__init__(self)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
예제 #10
0
    def __init__(self, config, config_entry, discovery_hash):
        """Init the MQTT Alarm Control Panel."""
        self._state = None
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._sub_state = None

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #11
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the lock."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = False
        self._sub_state = None
        self._optimistic = False

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #12
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the lock."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = False
        self._sub_state = None
        self._optimistic = False

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #13
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the MQTT binary sensor."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = None
        self._sub_state = None
        self._delay_listener = None

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #14
0
 def __init__(self, name, state_topic, get_position_topic,
              command_topic, availability_topic,
              tilt_command_topic, tilt_status_topic, qos, retain,
              state_open, state_closed, position_open, position_closed,
              payload_open, payload_close, payload_stop, payload_available,
              payload_not_available, optimistic, value_template,
              tilt_open_position, tilt_closed_position, tilt_min, tilt_max,
              tilt_optimistic, tilt_invert, set_position_topic,
              set_position_template, unique_id: Optional[str],
              device_config: Optional[ConfigType], discovery_hash):
     """Initialize the cover."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     MqttEntityDeviceInfo.__init__(self, device_config)
     self._position = None
     self._state = None
     self._name = name
     self._state_topic = state_topic
     self._get_position_topic = get_position_topic
     self._command_topic = command_topic
     self._tilt_command_topic = tilt_command_topic
     self._tilt_status_topic = tilt_status_topic
     self._qos = qos
     self._payload_open = payload_open
     self._payload_close = payload_close
     self._payload_stop = payload_stop
     self._state_open = state_open
     self._state_closed = state_closed
     self._position_open = position_open
     self._position_closed = position_closed
     self._retain = retain
     self._tilt_open_position = tilt_open_position
     self._tilt_closed_position = tilt_closed_position
     self._optimistic = (optimistic or (state_topic is None and
                                        get_position_topic is None))
     self._template = value_template
     self._tilt_value = None
     self._tilt_min = tilt_min
     self._tilt_max = tilt_max
     self._tilt_optimistic = tilt_optimistic
     self._tilt_invert = tilt_invert
     self._set_position_topic = set_position_topic
     self._set_position_template = set_position_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #15
0
 def __init__(self, name, state_topic, get_position_topic, command_topic,
              availability_topic, tilt_command_topic, tilt_status_topic,
              qos, retain, state_open, state_closed, position_open,
              position_closed, payload_open, payload_close, payload_stop,
              payload_available, payload_not_available, optimistic,
              value_template, tilt_open_position, tilt_closed_position,
              tilt_min, tilt_max, tilt_optimistic, tilt_invert,
              set_position_topic, set_position_template,
              unique_id: Optional[str], device_config: Optional[ConfigType],
              discovery_hash):
     """Initialize the cover."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     MqttEntityDeviceInfo.__init__(self, device_config)
     self._position = None
     self._state = None
     self._name = name
     self._state_topic = state_topic
     self._get_position_topic = get_position_topic
     self._command_topic = command_topic
     self._tilt_command_topic = tilt_command_topic
     self._tilt_status_topic = tilt_status_topic
     self._qos = qos
     self._payload_open = payload_open
     self._payload_close = payload_close
     self._payload_stop = payload_stop
     self._state_open = state_open
     self._state_closed = state_closed
     self._position_open = position_open
     self._position_closed = position_closed
     self._retain = retain
     self._tilt_open_position = tilt_open_position
     self._tilt_closed_position = tilt_closed_position
     self._optimistic = (optimistic or (state_topic is None
                                        and get_position_topic is None))
     self._template = value_template
     self._tilt_value = None
     self._tilt_min = tilt_min
     self._tilt_max = tilt_max
     self._tilt_optimistic = tilt_optimistic
     self._tilt_invert = tilt_invert
     self._set_position_topic = set_position_topic
     self._set_position_template = set_position_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #16
0
    def __init__(self, config, config_entry, discovery_info):
        """Initialize the vacuum."""
        self._state = None
        self._state_attrs = {}
        self._fan_speed_list = []
        self._sub_state = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_info, self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #17
0
    def __init__(self, config, config_entry, discovery_info):
        """Initialize the vacuum."""
        self._state = None
        self._state_attrs = {}
        self._fan_speed_list = []
        self._sub_state = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_info,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #18
0
    def __init__(self, config, discovery_hash):
        """Init the MQTT Alarm Control Panel."""
        self._state = STATE_UNKNOWN
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._sub_state = None

        availability_topic = config.get(CONF_AVAILABILITY_TOPIC)
        payload_available = config.get(CONF_PAYLOAD_AVAILABLE)
        payload_not_available = config.get(CONF_PAYLOAD_NOT_AVAILABLE)
        qos = config.get(CONF_QOS)
        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, availability_topic, qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #19
0
    def __init__(self, config, discovery_hash):
        """Initialize the MQTT switch."""
        self._state = False
        self._sub_state = None

        self._state_on = None
        self._state_off = None
        self._optimistic = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #20
0
 def __init__(self, hass, name, topic, value_templates, qos, retain,
              mode_list, fan_mode_list, swing_mode_list,
              target_temperature, away, hold, current_fan_mode,
              current_swing_mode, current_operation, aux, send_if_off,
              payload_on, payload_off, availability_topic,
              payload_available, payload_not_available,
              min_temp, max_temp, temp_step, discovery_hash):
     """Initialize the climate device."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self.hass = hass
     self._name = name
     self._topic = topic
     self._value_templates = value_templates
     self._qos = qos
     self._retain = retain
     # set to None in non-optimistic mode
     self._target_temperature = self._current_fan_mode = \
         self._current_operation = self._current_swing_mode = None
     if self._topic[CONF_TEMPERATURE_STATE_TOPIC] is None:
         self._target_temperature = target_temperature
     self._unit_of_measurement = hass.config.units.temperature_unit
     self._away = away
     self._hold = hold
     self._current_temperature = None
     if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
         self._current_fan_mode = current_fan_mode
     if self._topic[CONF_MODE_STATE_TOPIC] is None:
         self._current_operation = current_operation
     self._aux = aux
     if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
         self._current_swing_mode = current_swing_mode
     self._fan_list = fan_mode_list
     self._operation_list = mode_list
     self._swing_list = swing_mode_list
     self._target_temperature_step = temp_step
     self._send_if_off = send_if_off
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._min_temp = min_temp
     self._max_temp = max_temp
     self._discovery_hash = discovery_hash
예제 #21
0
 def __init__(self, name, state_topic, availability_topic, device_class,
              qos, force_update, payload_on, payload_off, payload_available,
              payload_not_available, value_template,
              unique_id: Optional[str], discovery_hash):
     """Initialize the MQTT binary sensor."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._name = name
     self._state = None
     self._state_topic = state_topic
     self._device_class = device_class
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._qos = qos
     self._force_update = force_update
     self._template = value_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #22
0
 def __init__(self, name, state_topic, command_topic, qos, retain,
              payload_lock, payload_unlock, optimistic, value_template,
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Initialize the lock."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = False
     self._name = name
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_lock = payload_lock
     self._payload_unlock = payload_unlock
     self._optimistic = optimistic
     self._template = value_template
     self._discovery_hash = discovery_hash
예제 #23
0
 def __init__(self, name, state_topic, command_topic, qos, retain,
              payload_disarm, payload_arm_home, payload_arm_away, code,
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Init the MQTT Alarm Control Panel."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = STATE_UNKNOWN
     self._name = name
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_disarm = payload_disarm
     self._payload_arm_home = payload_arm_home
     self._payload_arm_away = payload_arm_away
     self._code = code
     self._discovery_hash = discovery_hash
예제 #24
0
 def __init__(self, name, state_topic, command_topic, qos, retain,
              payload_lock, payload_unlock, optimistic, value_template,
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Initialize the lock."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = False
     self._name = name
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_lock = payload_lock
     self._payload_unlock = payload_unlock
     self._optimistic = optimistic
     self._template = value_template
     self._discovery_hash = discovery_hash
예제 #25
0
    def __init__(self, config, discovery_hash):
        """Initialize the MQTT binary sensor."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = None
        self._sub_state = None
        self._delay_listener = None

        availability_topic = config.get(CONF_AVAILABILITY_TOPIC)
        payload_available = config.get(CONF_PAYLOAD_AVAILABLE)
        payload_not_available = config.get(CONF_PAYLOAD_NOT_AVAILABLE)
        qos = config.get(CONF_QOS)
        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, availability_topic, qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #26
0
 def __init__(self, name, state_topic, command_topic, qos, retain,
              payload_disarm, payload_arm_home, payload_arm_away, code,
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Init the MQTT Alarm Control Panel."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = STATE_UNKNOWN
     self._name = name
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_disarm = payload_disarm
     self._payload_arm_home = payload_arm_home
     self._payload_arm_away = payload_arm_away
     self._code = code
     self._discovery_hash = discovery_hash
예제 #27
0
 def __init__(self, hass, name, topic, value_templates, qos, retain,
              mode_list, fan_mode_list, swing_mode_list, target_temperature,
              away, hold, current_fan_mode, current_swing_mode,
              current_operation, aux, send_if_off, payload_on, payload_off,
              availability_topic, payload_available, payload_not_available,
              min_temp, max_temp, temp_step, discovery_hash):
     """Initialize the climate device."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self.hass = hass
     self._name = name
     self._topic = topic
     self._value_templates = value_templates
     self._qos = qos
     self._retain = retain
     # set to None in non-optimistic mode
     self._target_temperature = self._current_fan_mode = \
         self._current_operation = self._current_swing_mode = None
     if self._topic[CONF_TEMPERATURE_STATE_TOPIC] is None:
         self._target_temperature = target_temperature
     self._unit_of_measurement = hass.config.units.temperature_unit
     self._away = away
     self._hold = hold
     self._current_temperature = None
     if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
         self._current_fan_mode = current_fan_mode
     if self._topic[CONF_MODE_STATE_TOPIC] is None:
         self._current_operation = current_operation
     self._aux = aux
     if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
         self._current_swing_mode = current_swing_mode
     self._fan_list = fan_mode_list
     self._operation_list = mode_list
     self._swing_list = swing_mode_list
     self._target_temperature_step = temp_step
     self._send_if_off = send_if_off
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._min_temp = min_temp
     self._max_temp = max_temp
     self._discovery_hash = discovery_hash
예제 #28
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the MQTT switch."""
        self._state = False
        self._sub_state = None

        self._state_on = None
        self._state_off = None
        self._optimistic = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #29
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the sensor."""
        self._config = config
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = None
        self._sub_state = None
        self._expiration_trigger = None
        self._attributes = None

        device_config = config.get(CONF_DEVICE)

        if config.get(CONF_JSON_ATTRS):
            _LOGGER.warning('configuration variable "json_attributes" is '
                            'deprecated, replace with "json_attributes_topic"')

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #30
0
    def __init__(self, config, config_entry, discovery_hash):
        """Initialize the cover."""
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._position = None
        self._state = None
        self._sub_state = None

        self._optimistic = None
        self._tilt_value = None
        self._tilt_optimistic = None

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #31
0
    def __init__(self, config, config_entry, discovery_info):
        """Initialize the vacuum."""
        self._cleaning = False
        self._charging = False
        self._docked = False
        self._error = None
        self._status = "Unknown"
        self._battery_level = 0
        self._fan_speed = "unknown"
        self._fan_speed_list = []
        self._sub_state = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_info, self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #32
0
    def __init__(self, hass, config, config_entry, discovery_data):
        """Initialize the MQTT fan."""
        self.hass = hass
        self._unique_id = config.get(CONF_UNIQUE_ID)
        self._state = False
        self._humidity = None
        self._sub_state = None

        self._topic = None
        self._payload = None
        self._templates = None

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_data,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #33
0
    def __init__(self, config, discovery_hash):
        """Initialize MQTT light."""
        self._state = False
        self._sub_state = None
        self._brightness = None
        self._hs = None
        self._color_temp = None
        self._effect = None
        self._white_value = None
        self._supported_features = 0

        self._topic = None
        self._payload = None
        self._templates = None
        self._optimistic = False
        self._optimistic_rgb = False
        self._optimistic_brightness = False
        self._optimistic_color_temp = False
        self._optimistic_effect = False
        self._optimistic_hs = False
        self._optimistic_white_value = False
        self._optimistic_xy = False
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        availability_topic = config.get(CONF_AVAILABILITY_TOPIC)
        payload_available = config.get(CONF_PAYLOAD_AVAILABLE)
        payload_not_available = config.get(CONF_PAYLOAD_NOT_AVAILABLE)
        qos = config.get(CONF_QOS)
        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, availability_topic, qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #34
0
    def __init__(self, config, config_entry, discovery_info):
        """Initialize the vacuum."""
        self._cleaning = False
        self._charging = False
        self._docked = False
        self._error = None
        self._status = 'Unknown'
        self._battery_level = 0
        self._fan_speed = 'unknown'
        self._fan_speed_list = []
        self._sub_state = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        device_config = config.get(CONF_DEVICE)

        MqttAttributes.__init__(self, config)
        MqttAvailability.__init__(self, config)
        MqttDiscoveryUpdate.__init__(self, discovery_info,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
예제 #35
0
 def __init__(self, name, state_topic, availability_topic, device_class,
              qos, force_update, off_delay, payload_on, payload_off,
              payload_available, payload_not_available, value_template,
              unique_id: Optional[str], device_config: Optional[ConfigType],
              discovery_hash):
     """Initialize the MQTT binary sensor."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     MqttEntityDeviceInfo.__init__(self, device_config)
     self._name = name
     self._state = None
     self._state_topic = state_topic
     self._device_class = device_class
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._qos = qos
     self._force_update = force_update
     self._off_delay = off_delay
     self._template = value_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
     self._delay_listener = None
예제 #36
0
 def __init__(self, name, icon, state_topic, command_topic,
              availability_topic, qos, retain, payload_on, payload_off,
              state_on, state_off, optimistic, payload_available,
              payload_not_available, unique_id: Optional[str],
              value_template, discovery_hash):
     """Initialize the MQTT switch."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = False
     self._name = name
     self._icon = icon
     self._state_topic = state_topic
     self._command_topic = command_topic
     self._qos = qos
     self._retain = retain
     self._payload_on = payload_on
     self._payload_off = payload_off
     self._state_on = state_on if state_on else self._payload_on
     self._state_off = state_off if state_off else self._payload_off
     self._optimistic = optimistic
     self._template = value_template
     self._unique_id = unique_id
     self._discovery_hash = discovery_hash
예제 #37
0
    def __init__(self, config, discovery_hash):
        """Initialize the MQTT switch."""
        self._state = False
        self._sub_state = None

        self._state_on = None
        self._state_off = None
        self._optimistic = None
        self._unique_id = config.get(CONF_UNIQUE_ID)

        # Load config
        self._setup_from_config(config)

        availability_topic = config.get(CONF_AVAILABILITY_TOPIC)
        payload_available = config.get(CONF_PAYLOAD_AVAILABLE)
        payload_not_available = config.get(CONF_PAYLOAD_NOT_AVAILABLE)
        qos = config.get(CONF_QOS)
        device_config = config.get(CONF_DEVICE)

        MqttAvailability.__init__(self, availability_topic, qos,
                                  payload_available, payload_not_available)
        MqttDiscoveryUpdate.__init__(self, discovery_hash,
                                     self.discovery_update)
        MqttEntityDeviceInfo.__init__(self, device_config)
예제 #38
0
 def __init__(self, name, state_topic, qos, unit_of_measurement,
              force_update, expire_after, icon, device_class: Optional[str],
              value_template, json_attributes, unique_id: Optional[str],
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Initialize the sensor."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = STATE_UNKNOWN
     self._name = name
     self._state_topic = state_topic
     self._qos = qos
     self._unit_of_measurement = unit_of_measurement
     self._force_update = force_update
     self._template = value_template
     self._expire_after = expire_after
     self._icon = icon
     self._device_class = device_class
     self._expiration_trigger = None
     self._json_attributes = set(json_attributes)
     self._unique_id = unique_id
     self._attributes = None
     self._discovery_hash = discovery_hash
예제 #39
0
 def __init__(self, name, state_topic, qos, unit_of_measurement,
              force_update, expire_after, icon, device_class: Optional[str],
              value_template, json_attributes, unique_id: Optional[str],
              availability_topic, payload_available, payload_not_available,
              discovery_hash):
     """Initialize the sensor."""
     MqttAvailability.__init__(self, availability_topic, qos,
                               payload_available, payload_not_available)
     MqttDiscoveryUpdate.__init__(self, discovery_hash)
     self._state = STATE_UNKNOWN
     self._name = name
     self._state_topic = state_topic
     self._qos = qos
     self._unit_of_measurement = unit_of_measurement
     self._force_update = force_update
     self._template = value_template
     self._expire_after = expire_after
     self._icon = icon
     self._device_class = device_class
     self._expiration_trigger = None
     self._json_attributes = set(json_attributes)
     self._unique_id = unique_id
     self._attributes = None
     self._discovery_hash = discovery_hash