upd
This commit is contained in:
parent
081cd0d4bb
commit
bc98775dd7
@ -10,6 +10,10 @@ struct MqttRelaySwitchPayload {
|
|||||||
uint8_t state;
|
uint8_t state;
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
struct MqttRelayStatusPayload {
|
||||||
|
uint8_t opened;
|
||||||
|
} __attribute__((packed));
|
||||||
|
|
||||||
class MqttRelayModule : public MqttModule {
|
class MqttRelayModule : public MqttModule {
|
||||||
public:
|
public:
|
||||||
MqttRelayModule() : MqttModule(0) {}
|
MqttRelayModule() : MqttModule(0) {}
|
||||||
@ -21,3 +25,4 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif //HOMEKIT_LIB_MQTT_MODULE_RELAY_H
|
#endif //HOMEKIT_LIB_MQTT_MODULE_RELAY_H
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "homekit_mqtt_module_relay",
|
"name": "homekit_mqtt_module_relay",
|
||||||
"version": "1.0.3",
|
"version": "1.0.4",
|
||||||
"build": {
|
"build": {
|
||||||
"flags": "-I../../include"
|
"flags": "-I../../include"
|
||||||
},
|
},
|
||||||
|
@ -60,6 +60,7 @@ class MqttRelayState:
|
|||||||
class MqttRelayModule(MqttModule):
|
class MqttRelayModule(MqttModule):
|
||||||
def init(self, mqtt: MqttNode):
|
def init(self, mqtt: MqttNode):
|
||||||
mqtt.subscribe_module('relay/switch', self)
|
mqtt.subscribe_module('relay/switch', self)
|
||||||
|
mqtt.subscribe_module('relay/status', self)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def switchpower(mqtt: MqttNode,
|
def switchpower(mqtt: MqttNode,
|
||||||
@ -69,10 +70,13 @@ class MqttRelayModule(MqttModule):
|
|||||||
mqtt.publish('relay/switch', payload=payload.pack())
|
mqtt.publish('relay/switch', payload=payload.pack())
|
||||||
|
|
||||||
def handle_payload(self, mqtt: MqttNode, topic: str, payload: bytes) -> Optional[MqttPayload]:
|
def handle_payload(self, mqtt: MqttNode, topic: str, payload: bytes) -> Optional[MqttPayload]:
|
||||||
if topic != 'relay/switch':
|
message = None
|
||||||
return
|
|
||||||
|
|
||||||
|
if topic == 'relay/switch':
|
||||||
message = MqttPowerSwitchPayload.unpack(payload)
|
message = MqttPowerSwitchPayload.unpack(payload)
|
||||||
self._logger.debug(message)
|
elif topic == 'relay/status':
|
||||||
|
message = MqttPowerStatusPayload.unpack(payload)
|
||||||
|
|
||||||
|
if message is not None:
|
||||||
|
self._logger.debug(message)
|
||||||
return message
|
return message
|
Loading…
x
Reference in New Issue
Block a user