aboutsummaryrefslogtreecommitdiffstats
path: root/tasmota-mqtt-client.py
diff options
context:
space:
mode:
Diffstat (limited to 'tasmota-mqtt-client.py')
-rw-r--r--tasmota-mqtt-client.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/tasmota-mqtt-client.py b/tasmota-mqtt-client.py
index 2151641..e8a43b8 100644
--- a/tasmota-mqtt-client.py
+++ b/tasmota-mqtt-client.py
@@ -34,7 +34,7 @@ class MQTTClient:
def _on_connect_cb(self, mqtt, userdata, flags, rc):
# print("Connected to broker")
- topic = "tele/TasmotaPlug/%s/SENSOR" % self.friendlyname
+ topic = "tele/TasmotaPlug/%s/+" % self.friendlyname
if self.message is None:
print("Waiting for '%s'" % topic)
self.mqtt_c.subscribe(topic)
@@ -48,10 +48,10 @@ class MQTTClient:
def _on_message_cb(self, mqtt, userdata, msg):
# print('Topic: {0} | Message: {1}'.format(msg.topic, msg.payload))
- if msg.topic.split("/")[1] == self.friendlyname:
- if msg.topic.split("/")[2] == "SENSOR":
+ if msg.topic.split("/")[2] == self.friendlyname:
+ if msg.topic.split("/")[3] == "SENSOR":
self.switch_energy = json.loads(msg.payload.decode())["ENERGY"]
- elif msg.topic.split("/")[2] == "STATE":
+ elif msg.topic.split("/")[3] == "STATE":
self.switch_power = json.loads(msg.payload.decode())["POWER"]
if self.switch_power is not None and self.switch_energy is not None:
@@ -64,7 +64,7 @@ parser.add_argument(
"-m", "--mqtt-host",
type = str,
help = "MQTT Server",
- default = docker_net.get_mqtt_addr()[0]
+ default = "<docker>"
)
parser.add_argument(
"-u", "--user",
@@ -86,6 +86,8 @@ parser.add_argument(
if __name__ == "__main__":
args = vars(parser.parse_args())
+ if args["mqtt_host"] == "<docker>":
+ args["mqtt_host"] = docker_net.get_mqtt_addr()[0]
if args["user"] is not None:
args["password"] = getpass.getpass("Input password for %s@%s: " % (args["user"], args["mqtt_host"]))
else: