@@ -223,6 +223,7 @@ async def wait_until(
223223 time_trigger = None ,
224224 event_trigger = None ,
225225 mqtt_trigger = None ,
226+ mqtt_trigger_encoding = None ,
226227 webhook_trigger = None ,
227228 webhook_local_only = True ,
228229 webhook_methods = None ,
@@ -359,7 +360,7 @@ async def wait_until(
359360 if len (state_trig_ident ) > 0 :
360361 State .notify_del (state_trig_ident , notify_q )
361362 raise exc
362- await Mqtt .notify_add (mqtt_trigger [0 ], notify_q )
363+ await Mqtt .notify_add (mqtt_trigger [0 ], notify_q , encoding = mqtt_trigger_encoding )
363364 if webhook_trigger is not None :
364365 if isinstance (webhook_trigger , str ):
365366 webhook_trigger = [webhook_trigger ]
@@ -892,6 +893,7 @@ def __init__(
892893 self .event_trigger_kwargs = trig_cfg .get ("event_trigger" , {}).get ("kwargs" , {})
893894 self .mqtt_trigger = trig_cfg .get ("mqtt_trigger" , {}).get ("args" , None )
894895 self .mqtt_trigger_kwargs = trig_cfg .get ("mqtt_trigger" , {}).get ("kwargs" , {})
896+ self .mqtt_trigger_encoding = self .mqtt_trigger_kwargs .get ("encoding" , None )
895897 self .webhook_trigger = trig_cfg .get ("webhook_trigger" , {}).get ("args" , None )
896898 self .webhook_trigger_kwargs = trig_cfg .get ("webhook_trigger" , {}).get ("kwargs" , {})
897899 self .webhook_local_only = self .webhook_trigger_kwargs .get ("local_only" , True )
@@ -1082,7 +1084,7 @@ async def trigger_watch(self):
10821084 Event .notify_add (self .event_trigger [0 ], self .notify_q )
10831085 if self .mqtt_trigger is not None :
10841086 _LOGGER .debug ("trigger %s adding mqtt_trigger %s" , self .name , self .mqtt_trigger [0 ])
1085- await Mqtt .notify_add (self .mqtt_trigger [0 ], self .notify_q )
1087+ await Mqtt .notify_add (self .mqtt_trigger [0 ], self .notify_q , encoding = self . mqtt_trigger_encoding )
10861088 if self .webhook_trigger is not None :
10871089 _LOGGER .debug ("trigger %s adding webhook_trigger %s" , self .name , self .webhook_trigger [0 ])
10881090 Webhook .notify_add (
0 commit comments