From b14a4b437c76fe61db748a90b448dc61740ea1f9 Mon Sep 17 00:00:00 2001
From: Ellis Percival <flyte@failcode.co.uk>
Date: Wed, 26 Jul 2017 13:58:23 +0100
Subject: [PATCH] Decode message payload as utf8 before matching with on/off
 payloads. #14

---
 pi_mqtt_gpio/server.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py
index 5f725d1..f16c68a 100644
--- a/pi_mqtt_gpio/server.py
+++ b/pi_mqtt_gpio/server.py
@@ -155,13 +155,16 @@ def handle_set(msg):
     output_config = output_by_name(output_name)
     if output_config is None:
         return
-    if msg.payload not in (
+    payload = msg.payload.decode("utf8")
+    if payload not in (
             output_config["on_payload"], output_config["off_payload"]):
         _LOG.warning(
-            "Payload %r does not relate to configured on/off values.",
-            msg.payload)
+            "Payload %r does not relate to configured on/off values %r and %r",
+            payload,
+            output_config["on_payload"],
+            output_config["off_payload"])
         return
-    set_pin(output_config, msg.payload == output_config["on_payload"])
+    set_pin(output_config, payload == output_config["on_payload"])
 
 
 def handle_set_ms(msg, value):
-- 
GitLab