boneIO 0.5.0dev4__py3-none-any.whl → 0.5.0dev6__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 boneIO might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: boneIO
3
- Version: 0.5.0dev4
3
+ Version: 0.5.0dev6
4
4
  Summary: Python App for BoneIO
5
5
  License: GNU General Public License v3.0
6
6
  Author-email: Paweł Szafer <pszafer@gmail.com>
@@ -1,5 +1,5 @@
1
1
  boneio/__init__.py,sha256=hoLKnu6h1uEsiCHA9Ql2MMDC7VQS0E-s_2cxBS-CTOg,147
2
- boneio/bonecli.py,sha256=-X_oGhitJklBpNDiVjYvqR9NEb3sdDTJ10axJRMYluk,3093
2
+ boneio/bonecli.py,sha256=Wg3Wc2xZ9FjF_23PK6Ja3YzXUkYanzYyQ_QdtQbKESw,3155
3
3
  boneio/const.py,sha256=4dFxiBtj7QCJ7t2AIOuJA3JfEC6xrkmB2Y_93bGXmUY,2799
4
4
  boneio/cover.py,sha256=nr76ft5smAPdBB8Jytk-uFd6RWuqtcZiG6EE129OUjw,8454
5
5
  boneio/example_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -16,8 +16,8 @@ boneio/helper/config.py,sha256=XeHG7OSMCMmEL43rCbWy6Ij0RcTNlrIpevWZ0UJyrlo,1311
16
16
  boneio/helper/events.py,sha256=63FEM5bKIDmMHncJG0NLcVHJZ7gIZBEb0TP7xtfyKvs,5579
17
17
  boneio/helper/exceptions.py,sha256=scepzfjzg-Jq6dBmuCDq79R5aUWohK3yDF8tyKi_sM8,561
18
18
  boneio/helper/filter.py,sha256=_GFIbtK0sUCo0u_ovKXHetHNc2V6uzR8Moyrg96Z7Fc,745
19
- boneio/helper/gpio.py,sha256=uTFSHI6Gg1VZX2agEPd980s5pk3EW0bApGICI3nGVHs,2767
20
- boneio/helper/ha_discovery.py,sha256=dWV7s_r3fun4JgKPY0Jrvk8DLatczW-zLoINU36vfLU,5478
19
+ boneio/helper/gpio.py,sha256=Z-P76CcvFL7msoSopXooaTUi3Lx0WQYeWoRXeO64K7Y,2710
20
+ boneio/helper/ha_discovery.py,sha256=qDXtIUVup0A3IDGHHhJXwRnhgwU1QtsCYELnYKKu9Qs,5492
21
21
  boneio/helper/loader.py,sha256=tioZM5y0EJGOyIhsHSErRR3jHHoXJkp6JRFn6SSAhnY,11736
22
22
  boneio/helper/logger.py,sha256=zyF_Vk3o2eSHuXypJhNzK99eZgkWDWybuB5KcJgurDs,1801
23
23
  boneio/helper/mqtt.py,sha256=Aqf6Sx4-3GQsK5GjgJ5QxVMyCTdRcL5Zq_GTIDu7ne0,759
@@ -34,8 +34,8 @@ boneio/helper/util.py,sha256=QfSoT3H3WnOQAKO5bFRIBCy62HT5NMa9Ek-FmfTW_rw,508
34
34
  boneio/helper/yaml_util.py,sha256=LFT5abDVcC7DYmauIK52PV4icnHS9V5Io4LhGbcUPJU,10696
35
35
  boneio/input/__init__.py,sha256=u9wuehuC_TNizL4tyn7EygZW5LaTFjSnFaZeZr3zZ1U,99
36
36
  boneio/input/gpio.py,sha256=2WK3DR3kGAxHvmsNHZhN-oq8dF75oROxwm_mOZzYYh8,4391
37
- boneio/manager.py,sha256=U2IaEkfIo3dhj_lPOLzPFPxzngQiBWd4bPdduveCJ6c,18410
38
- boneio/modbus.py,sha256=5hambvcQ8XBRzw65OgcUlUV3xsVdq0Lx9jRj3bEF3SE,4156
37
+ boneio/manager.py,sha256=OAvfyB41Fkk_MRlGn12N7JOvjkacPSenAQ-XMrUXa4A,19000
38
+ boneio/modbus.py,sha256=eA_sGnmdcIneXX75ZcXOI223-UkKN1UYmWFqiJBAhJo,4176
39
39
  boneio/mqtt_client.py,sha256=ioOBEmnbjpZjYrD5u8W5CrVsrNFRHDJ93fyk6XcWkeE,6983
40
40
  boneio/oled.py,sha256=STzzznpQ1cJEE2WuBSoEbE387wULNGaCzxf0AR689gY,5278
41
41
  boneio/relay/__init__.py,sha256=L_Peoep10-DdeMrEe-5YnnNCS-mxHtavCqtAesTPWFQ,135
@@ -48,12 +48,12 @@ boneio/schema/actions_sensor.yaml,sha256=LhXEsYsg6qs7iHqgQE6n-2jj-o-ZZRusDW_9nWI
48
48
  boneio/schema/actions_switch.yaml,sha256=qyooX0izkgl4wBEh8xUsYFEKMrvhbIAQYxOGTB5AROY,124
49
49
  boneio/schema/filters.yaml,sha256=WopX1SmCZsSZXNiGccLoi7uMCsUpdbs0eVfsAjmbay4,286
50
50
  boneio/schema/filters_adc.yaml,sha256=3e0ts92MoFKOnfGOOn6WYIHxu0-tnZe9OjAjN9m7hiI,304
51
- boneio/schema/schema.yaml,sha256=c8Zbj_OGgPXAPt5yeSJeuR0d_YBvk0kpARSl-bpYkWE,11409
51
+ boneio/schema/schema.yaml,sha256=1N4-rcuEQ1WH6NSrjYxczmy6pY6y5IA0v9wSimbu41M,11590
52
52
  boneio/schema/update_interval.yaml,sha256=L_YLddAZdybcdO-T57Qhlv1GaWIVDwhvH-GadD1oOIo,133
53
53
  boneio/sensor/__init__.py,sha256=VjFBEQQv_U0T2ENkzefuBdzmqNvBTEv4M-gQKScc8o0,431
54
54
  boneio/sensor/adc.py,sha256=Yf5F8JcZJt0K4ijpPqI8do0BqDfLvfja_LE8_Zu3u7U,1281
55
- boneio/sensor/gpio.py,sha256=7IOYxO7F89DaNw6FpD8hk7f543hZeqljyrBRuy2z1yw,1230
56
- boneio/sensor/modbus/__init__.py,sha256=mChzuWicavaMybA8DkJZCu6BRjSI4hvaJX6_B1Fu_1g,8435
55
+ boneio/sensor/gpio.py,sha256=2dQ5exT38hgHrR1qOzFkrpTcmzZ1yHklu8CHpYxt-ho,1229
56
+ boneio/sensor/modbus/__init__.py,sha256=cvmjSXgAb-5T7R2Ze84_WrJ8-U-pAhGFW5BT7ikFDAQ,8467
57
57
  boneio/sensor/modbus/sdm120.json,sha256=4sueFfSw7G6a77gdIUhbfJvE-MNVJFOeVbRvHDw5Rvk,4145
58
58
  boneio/sensor/modbus/sdm630.json,sha256=6LbIfXWk_PVRW-OuJwrsFEnRGLVEmEqqGIbj-1FDaiI,10969
59
59
  boneio/sensor/modbus/sofar.json,sha256=A_YztQN_ctyItIm2LH1tfcs-pSyG18I530qleLd2tOw,5592
@@ -61,9 +61,9 @@ boneio/sensor/temp/__init__.py,sha256=v4h9l00zmL63pTNW7HAAgQvoXXzXLn_EmmfWQ2zuQI
61
61
  boneio/sensor/temp/dallas.py,sha256=uw5gjYe6KSMEt6ayghdEvvHHoubQ-JgMmRMOPtnxGnA,2380
62
62
  boneio/sensor/temp/lm75.py,sha256=-mpOv78429plRPBp9s09Ljz1x2Bdxuagalqz40vlAKE,243
63
63
  boneio/sensor/temp/mcp9808.py,sha256=yAh5yJzZLGTqa39xV4fyqsruj7oy3niOZAUV2W6eyCM,271
64
- boneio/version.py,sha256=P0_P-YFLhlKeyjrtau1rEwcnZ89L5TC06Cmzk2Yvy3Q,41
65
- boneIO-0.5.0.dev4.dist-info/entry_points.txt,sha256=Igl1SMDEWwMg144bwRz28UOCb80hdxomC99QJ3u6qC0,46
66
- boneIO-0.5.0.dev4.dist-info/WHEEL,sha256=g_UdFZqm-k6b0W64OcndB0YT_D2mFFPAYBj7-_YsSPA,87
67
- boneIO-0.5.0.dev4.dist-info/METADATA,sha256=nRwtkQHkKy5IgASlVFj8LACr4yIYCub6vBYBlnA-1Xg,1620
68
- boneIO-0.5.0.dev4.dist-info/license_files/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
69
- boneIO-0.5.0.dev4.dist-info/RECORD,,
64
+ boneio/version.py,sha256=KlxQZ88vy3LqLH_-jdAb7Juk5XkJ43rxOnC31sMRjhY,41
65
+ boneIO-0.5.0.dev6.dist-info/entry_points.txt,sha256=Igl1SMDEWwMg144bwRz28UOCb80hdxomC99QJ3u6qC0,46
66
+ boneIO-0.5.0.dev6.dist-info/WHEEL,sha256=g_UdFZqm-k6b0W64OcndB0YT_D2mFFPAYBj7-_YsSPA,87
67
+ boneIO-0.5.0.dev6.dist-info/METADATA,sha256=uZvL0fpHaJXCgUaRW3dEW3kDuppL2MMR1McKsK4C_jk,1620
68
+ boneIO-0.5.0.dev6.dist-info/license_files/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
69
+ boneIO-0.5.0.dev6.dist-info/RECORD,,
boneio/bonecli.py CHANGED
@@ -3,6 +3,9 @@ import argparse
3
3
  import asyncio
4
4
  import logging
5
5
  import sys
6
+ import os
7
+
8
+ os.environ["W1THERMSENSOR_NO_KERNEL_MODULE"] = "1"
6
9
 
7
10
  from colorlog import ColoredFormatter
8
11
  from yaml import MarkedYAMLError
boneio/helper/gpio.py CHANGED
@@ -90,9 +90,8 @@ class GpioBaseClass:
90
90
  ) -> None:
91
91
  """Setup GPIO Input Button"""
92
92
  self._pin = pin
93
- gpio = kwargs.get("rest_pin", {GPIO_MODE: GPIO_STR})
94
- gpio_mode = gpio.get(GPIO_MODE, GPIO_STR)
95
- self._bounce_time = gpio.get("bounce_time", TimePeriod(milliseconds=10))
93
+ gpio_mode = kwargs.get(GPIO_MODE, GPIO_STR)
94
+ self._bounce_time = kwargs.get("bounce_time", TimePeriod(milliseconds=10))
96
95
  self._loop = asyncio.get_running_loop()
97
96
  self._press_callback = press_callback
98
97
  setup_input(pin=self._pin, pull_mode=gpio_mode)
@@ -152,7 +152,7 @@ def modbus_sensor_availabilty_message(
152
152
  },
153
153
  "name": sensor_id,
154
154
  "state_topic": f"{topic}/{device_type}/{id}/{state_topic_base}",
155
- "unique_id": f"{topic}{sensor_id.replace('_', '').lower()}",
155
+ "unique_id": f"{topic}{sensor_id.replace('_', '').lower()}{name.lower()}",
156
156
  **kwargs,
157
157
  }
158
158
 
boneio/manager.py CHANGED
@@ -2,7 +2,6 @@ import asyncio
2
2
  import logging
3
3
  from collections import deque
4
4
  from typing import Callable, Coroutine, List, Optional, Set, Union
5
-
6
5
  from board import SCL, SDA
7
6
  from busio import I2C
8
7
 
@@ -60,6 +59,8 @@ from boneio.helper.logger import configure_logger
60
59
  from boneio.helper.yaml_util import load_config_from_file
61
60
  from boneio.modbus import Modbus
62
61
 
62
+ from w1thermsensor.errors import KernelModuleLoadError
63
+
63
64
  _LOGGER = logging.getLogger(__name__)
64
65
 
65
66
 
@@ -253,6 +254,7 @@ class Manager:
253
254
  from boneio.helper.loader import (
254
255
  configure_ds2482,
255
256
  )
257
+ from boneio.sensor import DallasSensorDS2482
256
258
 
257
259
  _ds_onewire_bus[_single_ds[ID]] = configure_ds2482(
258
260
  i2cbusio=self._i2cbusio, address=_single_ds[ADDRESS]
@@ -268,22 +270,35 @@ class Manager:
268
270
  _LOGGER.debug("Preparing Dallas bus.")
269
271
  from boneio.helper.loader import configure_dallas
270
272
 
271
- _one_wire_devices.update(
272
- find_onewire_devices(
273
- ow_bus=configure_dallas(),
274
- bus_id=dallas[ID],
275
- bus_type=DALLAS,
273
+ try:
274
+ from w1thermsensor.kernel import load_kernel_modules
275
+
276
+ load_kernel_modules()
277
+ from boneio.sensor.temp.dallas_w1 import DallasSensorW1
278
+
279
+ _one_wire_devices.update(
280
+ find_onewire_devices(
281
+ ow_bus=configure_dallas(),
282
+ bus_id=dallas[ID],
283
+ bus_type=DALLAS,
284
+ )
276
285
  )
277
- )
286
+ except KernelModuleLoadError as err:
287
+ _LOGGER.error("Can't configure Dallas W1 device %s", err)
288
+ pass
289
+
278
290
  for sensor in sensors:
279
291
  address = _one_wire_devices.get(sensor[ADDRESS])
280
292
  if not address:
281
293
  continue
282
294
  ds2482_bus_id = sensor.get("bus_id")
283
295
  if ds2482_bus_id and ds2482_bus_id in _ds_onewire_bus:
284
- kwargs = {"bus": _ds_onewire_bus[ds2482_bus_id]}
296
+ kwargs = {
297
+ "bus": _ds_onewire_bus[ds2482_bus_id],
298
+ "cls": DallasSensorDS2482,
299
+ }
285
300
  else:
286
- kwargs = {}
301
+ kwargs = {"cls": DallasSensorW1}
287
302
  _LOGGER.debug("Configuring sensor %s for boneIO", address)
288
303
  self._temp_sensors.append(
289
304
  create_dallas_sensor(
boneio/modbus.py CHANGED
@@ -77,7 +77,7 @@ class Modbus:
77
77
  """Call sync. pymodbus."""
78
78
  async with self._lock:
79
79
  if not self._pymodbus_connect():
80
- _LOGGER.error("Can't connect to Modbus.")
80
+ _LOGGER.error("Can't connect to Modbus address %s.", address)
81
81
  return None
82
82
  kwargs = {"unit": unit, "count": count} if unit else {}
83
83
  try:
boneio/schema/schema.yaml CHANGED
@@ -326,6 +326,12 @@ input:
326
326
  required: True
327
327
  meta:
328
328
  label: Either switch or sensor. If sensor then no clicks are detected, just simple on/off on gpio.
329
+ inverted:
330
+ type: boolean
331
+ default: False
332
+ required: True
333
+ meta:
334
+ label: Check if sensor type is inverted. Only aplicable for sensor kind.
329
335
  actions:
330
336
  required: False
331
337
  type: dict
boneio/sensor/gpio.py CHANGED
@@ -14,6 +14,11 @@ class GpioInputSensor(GpioBaseClass):
14
14
  def __init__(self, **kwargs) -> None:
15
15
  """Setup GPIO Input Button"""
16
16
  super().__init__(**kwargs)
17
+ self._click_type = (
18
+ (PRESSED, RELEASED)
19
+ if kwargs.get("inverted", False)
20
+ else (PRESSED, RELEASED)
21
+ )
17
22
  edge_detect(
18
23
  self._pin,
19
24
  callback=self._handle_press,
@@ -25,13 +30,8 @@ class GpioInputSensor(GpioBaseClass):
25
30
  def _handle_press(self, pin: str) -> None:
26
31
  """Handle the button press callback"""
27
32
  # Ignore if we are in a long press
28
- if self.is_pressed:
29
- _LOGGER.debug("Pressed event on pin %s", self._pin)
30
- self._loop.call_soon_threadsafe(
31
- partial(self._press_callback, PRESSED, self._pin)
32
- )
33
- else:
34
- _LOGGER.debug("Released event on pin %s", self._pin)
35
- self._loop.call_soon_threadsafe(
36
- partial(self._press_callback, RELEASED, self._pin)
37
- )
33
+ click_type = self._click_type[0] if self.is_pressed else self._click_type[1]
34
+ _LOGGER.debug("%s event on pin %s", click_type, self._pin)
35
+ self._loop.call_soon_threadsafe(
36
+ partial(self._press_callback, click_type, self._pin)
37
+ )
@@ -219,7 +219,8 @@ class ModbusSensor(BasicMqtt, AsyncUpdater):
219
219
  payload=self._payload_online,
220
220
  )
221
221
  _LOGGER.warn(
222
- "Can't fetch data from modbus device. Will sleep for %s seconds",
222
+ "Can't fetch data from modbus device %s. Will sleep for %s seconds",
223
+ self.id,
223
224
  update_interval,
224
225
  )
225
226
  self._discovery_sent = False
boneio/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  # flake8: noqa
2
- __version__ = "0.5.0dev4"
2
+ __version__ = "0.5.0dev6"