dbus2mqtt 0.4.3__py3-none-any.whl → 0.4.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dbus2mqtt might be problematic. Click here for more details.

@@ -13,7 +13,8 @@ def _custom_yaml_load(stream):
13
13
  # Anoyingly, values starting with {{ and ending with }} are working with the default yaml_loader
14
14
  # from jsonargparse. Somehow its not when we use the custom yaml loader.
15
15
  # This fixes it
16
- if v.startswith("{{") or v.startswith("{%"):
16
+ first_line = v.splitlines()[0].strip()
17
+ if "#" not in first_line and ("{{" in first_line or first_line.startswith("{%")):
17
18
  return stream
18
19
 
19
20
  # Delegate to default yaml loader from jsonargparse
@@ -122,21 +122,21 @@ class MqttClient:
122
122
 
123
123
  def on_message(self, client: mqtt.Client, userdata: Any, msg: mqtt.MQTTMessage):
124
124
 
125
- # Skip retained messages
126
- payload = msg.payload.decode()
127
- if msg.retain:
128
- logger.info(f"on_message: skipping msg with retain=True, topic={msg.topic}, payload={payload}")
129
- return
130
-
131
125
  # Skip messages being sent by other dbus2mqtt clients
132
126
  if msg.properties:
133
127
  user_properties: list[tuple[str, object]] = getattr(msg.properties, "UserProperty", [])
134
128
  client_id = next((str(v) for k, v in user_properties if k == "client_id"), None)
135
129
  if client_id and client_id != self.client_id:
136
- logger.info(f"on_message: skipping msg from another dbus2mqtt client, topic={msg.topic}, client_id={client_id}")
130
+ logger.debug(f"on_message: skipping msg from another dbus2mqtt client, topic={msg.topic}, client_id={client_id}")
137
131
  if client_id and client_id.startswith(self.client_id_prefix):
138
132
  return
139
133
 
134
+ # Skip retained messages
135
+ payload = msg.payload.decode()
136
+ if msg.retain:
137
+ logger.info(f"on_message: skipping msg with retain=True, topic={msg.topic}, payload={payload}")
138
+ return
139
+
140
140
  try:
141
141
  json_payload = json.loads(payload) if payload else {}
142
142
  logger.debug(f"on_message: msg.topic={msg.topic}, msg.payload={json.dumps(json_payload)}")
@@ -5,6 +5,7 @@ from typing import Any, TypeVar
5
5
 
6
6
  from jinja2 import BaseLoader, StrictUndefined, TemplateError
7
7
  from jinja2.nativetypes import NativeEnvironment
8
+ from jinja2_ansible_filters import AnsibleCoreFiltersExtension
8
9
 
9
10
  TemplateResultType = TypeVar('TemplateResultType')
10
11
 
@@ -23,14 +24,14 @@ class TemplateEngine:
23
24
 
24
25
  self.jinja2_env = NativeEnvironment(
25
26
  loader=BaseLoader(),
26
- extensions=['jinja2_ansible_filters.AnsibleCoreFiltersExtension'],
27
+ extensions=[AnsibleCoreFiltersExtension],
27
28
  undefined=StrictUndefined,
28
29
  keep_trailing_newline=False
29
30
  )
30
31
 
31
32
  self.jinja2_async_env = NativeEnvironment(
32
33
  loader=BaseLoader(),
33
- extensions=['jinja2_ansible_filters.AnsibleCoreFiltersExtension'],
34
+ extensions=[AnsibleCoreFiltersExtension],
34
35
  undefined=StrictUndefined,
35
36
  enable_async=True
36
37
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbus2mqtt
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: General purpose DBus to MQTT bridge - expose signals, methods and properties over MQTT - featuring jinja based templating, payload enrichment and MPRIS / BlueZ / Home Assistant ready examples
5
5
  Project-URL: Documentation, https://jwnmulder.github.io/dbus2mqtt
6
6
  Project-URL: Source, https://github.com/jwnmulder/dbus2mqtt
@@ -29,7 +29,7 @@ Requires-Dist: jsonargparse>=4.38.0
29
29
  Requires-Dist: paho-mqtt>=2.1.0
30
30
  Requires-Dist: pydantic>=2.11.3
31
31
  Requires-Dist: python-dotenv>=1.1.0
32
- Requires-Dist: schedule>=1.2.2
32
+ Requires-Dist: pyyaml>=6.0.2
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
  # dbus2mqtt
@@ -3,7 +3,7 @@ dbus2mqtt/__main__.py,sha256=NAoa3nwgBSQI22eWzzRx61SIDThDwXmUofWWZU3_4-Q,71
3
3
  dbus2mqtt/event_broker.py,sha256=Hp5yurhP8FkAO-y0l2grygHxR2e37ZQ7QScjcQDA2UU,1334
4
4
  dbus2mqtt/main.py,sha256=Kr2LRVxWcPDtNwCj8Eqz9TxtGLAVrV4q0nizKh1pLXc,4539
5
5
  dbus2mqtt/config/__init__.py,sha256=947_dLVt8qq7P3p15jGIy5Vf1jUUMGrh1xr_DVhZclQ,5372
6
- dbus2mqtt/config/jsonarparse.py,sha256=VJGFeyQJcOE6bRXlSRr3FClvN_HnmiIlEGmOgNM0oCc,1214
6
+ dbus2mqtt/config/jsonarparse.py,sha256=XK7CrMCGiHZK2tq1IqSpzJ3hdV0gCOixJq3LXUDiEjg,1298
7
7
  dbus2mqtt/dbus/dbus_client.py,sha256=WHsmOiaJ5SY6zk-C99m83MEpycnUyGpsYmGopJJbPE8,39690
8
8
  dbus2mqtt/dbus/dbus_types.py,sha256=NmPD9um499e49Pk8DWH4IrIPQh1BinHYQgoXllCNiDw,777
9
9
  dbus2mqtt/dbus/dbus_util.py,sha256=h-1Y8Mvz9bj9X7mPZ8LghkvXDrujdJHK0__AOW373hE,697
@@ -14,11 +14,11 @@ dbus2mqtt/flow/flow_processor.py,sha256=N-btGap1wqnM4zKyulH_5KQhGi0IRlsK2cHrrnom
14
14
  dbus2mqtt/flow/actions/context_set.py,sha256=dIT39MJJVb0wuRI_ZM3ssnXYfa-iyB4o_UZD-1BZL2g,1087
15
15
  dbus2mqtt/flow/actions/log_action.py,sha256=2_-YEKkX5kvFzK6x4v-Hx3u2PEM8fip_4buMg_ij-oI,1156
16
16
  dbus2mqtt/flow/actions/mqtt_publish.py,sha256=psNkTvaR3JZwAwpM4AqiZTDnA5UQX9r4CUZ1LA7iRW4,2366
17
- dbus2mqtt/mqtt/mqtt_client.py,sha256=P6rxVNA2M_wxhI3RcHpvayEEmcUQGGDG6hkLmjiqY1w,6056
17
+ dbus2mqtt/mqtt/mqtt_client.py,sha256=bVAPbjgIi8ZQZlYVLe-Mo_A6NW6oQYEw1EYMOJYoS7w,6057
18
18
  dbus2mqtt/template/dbus_template_functions.py,sha256=UEoXK2PqDKF6jR4vTFHQwq58f5APnOJr7B1_I1zW8yM,2449
19
- dbus2mqtt/template/templating.py,sha256=YzE6-pBoATrV7nXkgxSiLlbxgbC65-2wGiFPHgIDd9g,4470
20
- dbus2mqtt-0.4.3.dist-info/METADATA,sha256=XcxIrk2rZt7HWU1ch1Eqx2DzVIQgvsjpwYMZ0q6on2A,8071
21
- dbus2mqtt-0.4.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
- dbus2mqtt-0.4.3.dist-info/entry_points.txt,sha256=pmmacoHCsvTTUB5dIPaY4i0H9gX7BQlpd3rBU-Jbv3A,50
23
- dbus2mqtt-0.4.3.dist-info/licenses/LICENSE,sha256=a4bIEgyA9rrnAfUN90CgbgZ6BQIFHeABkk0JihiBaxM,1074
24
- dbus2mqtt-0.4.3.dist-info/RECORD,,
19
+ dbus2mqtt/template/templating.py,sha256=QLar09NinZO8rYGbVs9EThX-SOyTeBVCOppueU7VYdo,4483
20
+ dbus2mqtt-0.4.4.dist-info/METADATA,sha256=aEi1sQg8JVDc6A1_uavQC6lsQljSnIoQuxUUgwsj8bI,8069
21
+ dbus2mqtt-0.4.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
+ dbus2mqtt-0.4.4.dist-info/entry_points.txt,sha256=pmmacoHCsvTTUB5dIPaY4i0H9gX7BQlpd3rBU-Jbv3A,50
23
+ dbus2mqtt-0.4.4.dist-info/licenses/LICENSE,sha256=a4bIEgyA9rrnAfUN90CgbgZ6BQIFHeABkk0JihiBaxM,1074
24
+ dbus2mqtt-0.4.4.dist-info/RECORD,,