Пример #1
0
 def _send_state(self, dev):
     state = self.payload_on if dev.ledStates[self.button -
                                              1] else self.payload_off
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #2
0
 def register(self):
     self.logger.debug(u'Sending config for {d[name]}:{d[id]} '
                       u'to topic {d[config_topic]}'.format(d=self))
     get_mqtt_client().publish(topic=self.config_topic,
                               payload=json.dumps(self.config),
                               qos=self.config_topic_qos,
                               retain=self.config_topic_retain)
Пример #3
0
 def _send_state(self, var):
     state = self.payload_on if var.value == self.on_value else \
         self.payload_off
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #4
0
 def _send_state(self, dev):
     state = self.state_locked if dev.onState else self.state_unlocked
     self.logger.debug(u'Lock state set to {} for device {}'.format(
         state, dev.name))
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #5
0
 def cleanup(self):
     self.logger.debug(u'Cleaning up brightness_state_topic mqtt topics '
                       u'for device {d[name]}:{d[id]} on topic '
                       u'{d[brightness_state_topic]}'.format(d=self))
     get_mqtt_client().publish(topic=self.brightness_state_topic,
                               payload='',
                               retain=False)
     super(Light, self).cleanup()
Пример #6
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up command_topic mqtt topics for device "'
         u'{d[name]}:{d[id]} on topic {d[command_topic]}'.format(d=self))
     get_mqtt_client().publish(topic=self.command_topic,
                               payload='',
                               retain=False)
     super(BaseCommandableHADevice, self).cleanup()
Пример #7
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up config mqtt topics for device '
         u'{d[name]}:{d[id]} on topic {d[config_topic]}'.format(d=self))
     get_mqtt_client().publish(topic=self.config_topic,
                               payload='',
                               qos=self.config_topic_qos,
                               retain=self.config_topic_retain)
Пример #8
0
 def process_command(self, cmd, config):
     if cmd.cmdScene == self.button and \
             INSTEON_EVENTS[cmd.cmdFunc] == self.activity_type:
         get_mqtt_client().publish(topic=self.topic,
                                   payload=self.payload,
                                   qos=self.qos,
                                   retain=False)
     return None, None
Пример #9
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up state mqtt topics for device {d[name]}:{d[id]}'
         u' on topic {d[state_topic]}'.format(d=self))
     get_mqtt_client().publish(topic=self.state_topic,
                               payload='',
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
     super(BaseStatefulHAEntity, self).cleanup()
Пример #10
0
 def register(self):
     super(BaseCommandableHADevice, self).register()
     # register command topic
     self.logger.debug(
         u"Subscribing {} with id {}:{} to command topic {}".format(
             self.hass_type, self.name, self.id, self.command_topic))
     get_mqtt_client().subscribe(self.command_topic)
     get_mqtt_client().message_callback_add(self.command_topic,
                                            self.on_command_message)
Пример #11
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up percentage_state_topic mqtt topics for device '
         u'{d[name]}:{d[id]} on topic {d[speed_state_topic]}'.format(
             d=self))
     get_mqtt_client().publish(topic=self.percentage_state_topic,
                               payload='',
                               retain=False)
     super(Fan, self).cleanup()
Пример #12
0
 def _send_state(self, dev):
     state = self.state_open if not dev.binaryInputs[
         0] else self.state_closed
     self.logger.debug(
         u"Cover State set to {} for device {}".format(state, dev.name))
     get_mqtt_client().publish(
         topic=self.state_topic,
         payload=state,
         qos=self.state_topic_qos,
         retain=self.state_topic_retain)
Пример #13
0
 def register(self):
     super(BaseAvailableHAEntity, self).register()
     get_mqtt_client().will_set(topic=self.availability_topic,
                                payload=self.payload_not_available)
     self.logger.debug(u'Sending availability of {} for {} to {}'.format(
         self.payload_available, self.name, self.availability_topic))
     get_mqtt_client().publish(topic=self.availability_topic,
                               payload=self.payload_available,
                               qos=self.availability_topic_qos,
                               retain=self.availability_topic_retain)
Пример #14
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up availability mqtt topics for device '
         u'{d[name]}:{d[id]} on topic {d[availability_topic]}'.format(
             d=self))
     get_mqtt_client().publish(topic=self.availability_topic,
                               payload='',
                               qos=self.availability_topic_qos,
                               retain=self.availability_topic_retain)
     super(BaseAvailableHAEntity, self).cleanup()
Пример #15
0
 def cleanup(self):
     self.logger.debug(
         u'Cleaning up json_attribute_topic mqtt topics for device '
         u'{d[name]}:{d[id]} on topic {d[json_attribute_topic]}'.format(
             d=self))
     get_mqtt_client().publish(topic=self.json_attribute_topic,
                               payload='',
                               qos=self.json_attribute_topic_qos,
                               retain=False)
     super(BaseStatefulHADevice, self).cleanup()
Пример #16
0
 def register(self):
     super(Light, self).register()
     # register brightness command topic
     self.logger.debug(
         u'Subscribing {} with id {}:{} to brightness command topic {}'.
         format(self.hass_type, self.name, self.id,
                self.brightness_command_topic))
     get_mqtt_client().message_callback_add(
         self.brightness_command_topic, self.on_brightness_command_message)
     get_mqtt_client().subscribe(self.brightness_command_topic)
     self.__send_brightness_state(self.indigo_entity)
Пример #17
0
    def _send_attributes(self, dev):
        attributes = {
            'last_changed':
            dev.lastChanged.replace(tzinfo=tzlocal.get_localzone()).astimezone(
                pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f%z'),
            'last_successful_com':
            dev.lastSuccessfulComm.replace(
                tzinfo=tzlocal.get_localzone()).astimezone(
                    pytz.utc).strftime('%Y-%m-%dT%H:%M:%S.%f%z'),
            'indigo_id':
            self.id,
        }

        get_mqtt_client().publish(topic=self.json_attribute_topic,
                                  payload=json.dumps(attributes),
                                  qos=self.json_attribute_topic_qos,
                                  retain=self.json_attribute_topic_retain)
Пример #18
0
 def _send_state(self, dev):
     get_mqtt_client().publish(
         topic=self.state_topic,
         payload=dev.sensorValue,
         retain=self.state_topic_retain)
Пример #19
0
 def _send_state(self, dev):
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=self.switch_state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #20
0
 def __send_percentage_state(self, dev):
     get_mqtt_client().publish(topic=self.percentage_state_topic,
                               payload=unicode(dev.speedIndex),
                               retain=self.percentage_state_topic_retain)
Пример #21
0
 def _send_battery_state(self, battery_state):
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=battery_state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #22
0
 def __send_brightness_state(self, dev):
     self.logger.debug(u'Sending brightness state of {} to {}'.format(
         dev.brightness, self.brightness_state_topic))
     get_mqtt_client().publish(topic=self.brightness_state_topic,
                               payload=unicode(dev.brightness),
                               retain=self.brightness_command_topic_retain)
Пример #23
0
 def shutdown(self):
     get_mqtt_client().publish(topic=self.availability_topic,
                               payload=self.payload_not_available,
                               qos=self.availability_topic_qos,
                               retain=self.availability_topic_retain)
     super(BaseAvailableHAEntity, self).shutdown()
Пример #24
0
 def _send_battery_state(self, battery_state):
     state = self.payload_on if battery_state else self.payload_off
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=state,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)
Пример #25
0
 def _send_state(self, var):
     get_mqtt_client().publish(topic=self.state_topic,
                               payload=var.value,
                               qos=self.state_topic_qos,
                               retain=self.state_topic_retain)