boneIO 0.3.0.dev6__py3-none-any.whl → 0.3.0.dev7__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.
boneio/const.py CHANGED
@@ -2,12 +2,13 @@
2
2
  from datetime import timedelta
3
3
 
4
4
  try:
5
- from Adafruit_BBIO.GPIO import HIGH, LOW, BOTH, FALLING
5
+ from Adafruit_BBIO.GPIO import HIGH, LOW, BOTH, FALLING, RISING
6
6
  except ModuleNotFoundError:
7
7
  HIGH = "high"
8
8
  LOW = "low"
9
9
  BOTH = "both"
10
10
  FALLING = "falling"
11
+ RISING = "rising"
11
12
  pass
12
13
  from typing_extensions import Literal
13
14
 
@@ -50,12 +51,6 @@ UARTS = {
50
51
  "uart4": {ID: "/dev/ttyS4", TX: "P9.13", RX: "P9.11"},
51
52
  }
52
53
 
53
- # TIMINGS FOR BUTTONS
54
- DEBOUNCE_DURATION = timedelta(seconds=0.2)
55
- LONG_PRESS_DURATION = timedelta(seconds=0.7)
56
- DELAY_DURATION = 0.1
57
- SECOND_DELAY_DURATION = 0.3
58
-
59
54
  # HA CONSTS
60
55
  HOMEASSISTANT = "homeassistant"
61
56
  HA_DISCOVERY = "ha_discovery"
@@ -9,8 +9,8 @@ mqtt:
9
9
  oled:
10
10
 
11
11
  lm75:
12
- id: temp
13
- address: 0x48
12
+ - id: temp
13
+ address: 0x48
14
14
 
15
15
  mcp23017:
16
16
  - id: mcp1
@@ -2,7 +2,7 @@ cover:
2
2
  - id: kitchen
3
3
  open_relay: test1
4
4
  close_relay: test2
5
- open_time: 20
6
- close_time: 22
5
+ open_time: 20s
6
+ close_time: 22s
7
7
  show_in_ha: yes
8
8
  restore_state: yes
boneio/helper/config.py CHANGED
@@ -2,6 +2,7 @@
2
2
  Module to provide basic config options.
3
3
  """
4
4
  from boneio.const import BONEIO, HOMEASSISTANT
5
+ from _collections_abc import dict_values
5
6
 
6
7
 
7
8
  class ConfigHelper:
@@ -14,6 +15,7 @@ class ConfigHelper:
14
15
  self._topic_prefix = topic_prefix
15
16
  self._ha_discovery = ha_discovery
16
17
  self._ha_discovery_prefix = ha_discovery_prefix
18
+ self._autodiscovery_messages = {}
17
19
 
18
20
  @property
19
21
  def topic_prefix(self) -> str:
@@ -34,3 +36,12 @@ class ConfigHelper:
34
36
  @property
35
37
  def subscribe_topic(self) -> str:
36
38
  return f"{self.cmd_topic_prefix}+/+/#"
39
+
40
+ def add_autodiscovery_msg(self, topic: str, payload: str):
41
+ """Add autodiscovery message."""
42
+ self._autodiscovery_messages[topic] = {"topic": topic, "payload": payload}
43
+
44
+ @property
45
+ def autodiscovery_msgs(self) -> dict_values:
46
+ """Get autodiscovery messages"""
47
+ return self._autodiscovery_messages.values()
boneio/helper/gpio.py CHANGED
@@ -97,7 +97,7 @@ class GpioBaseClass:
97
97
  self._pin = pin
98
98
  gpio = kwargs.get("rest_pin", {GPIO_MODE: GPIO_STR})
99
99
  gpio_mode = gpio.get(GPIO_MODE, GPIO_STR)
100
- self._bounce_time = gpio.get("bounce_time", TimePeriod(milliseconds=25))
100
+ self._bounce_time = gpio.get("bounce_time", TimePeriod(milliseconds=10))
101
101
  self._loop = asyncio.get_running_loop()
102
102
  self._press_callback = press_callback
103
103
  setup_input(pin=self._pin, pull_mode=gpio_mode)
boneio/input/gpio.py CHANGED
@@ -1,19 +1,21 @@
1
1
  """GPIOInputButton to receive signals."""
2
2
  import logging
3
- from datetime import datetime
3
+ from datetime import datetime, timedelta
4
4
  from functools import partial
5
5
 
6
6
  from boneio.const import (
7
- DEBOUNCE_DURATION,
8
- DELAY_DURATION,
9
7
  DOUBLE,
10
8
  LONG,
11
- LONG_PRESS_DURATION,
12
- SECOND_DELAY_DURATION,
13
9
  SINGLE,
14
10
  )
15
11
  from boneio.helper import edge_detect, GpioBaseClass
16
12
 
13
+ # TIMINGS FOR BUTTONS
14
+ DEBOUNCE_DURATION = timedelta(microseconds=150000)
15
+ LONG_PRESS_DURATION = timedelta(microseconds=700000)
16
+ DELAY_DURATION = 0.08
17
+ SECOND_DELAY_DURATION = 0.14
18
+
17
19
  _LOGGER = logging.getLogger(__name__)
18
20
 
19
21
 
@@ -54,7 +56,6 @@ class GpioInputButton(GpioBaseClass):
54
56
  and now - self._second_press_timestamp < DEBOUNCE_DURATION
55
57
  ):
56
58
  return
57
-
58
59
  if not self._first_press_timestamp:
59
60
  self._first_press_timestamp = now
60
61
  elif not self._second_press_timestamp:
@@ -105,7 +106,7 @@ class GpioInputButton(GpioBaseClass):
105
106
  if self._second_check:
106
107
  if self._second_press_timestamp:
107
108
  _LOGGER.debug(
108
- "Double click event on pin %s, roznica %s",
109
+ "Double click event on pin %s, diff %s",
109
110
  self._pin,
110
111
  self._second_press_timestamp - self._first_press_timestamp,
111
112
  )
boneio/manager.py CHANGED
@@ -374,14 +374,14 @@ class Manager:
374
374
  if not self._config_helper.ha_discovery:
375
375
  return
376
376
  topic_prefix = topic_prefix or self._config_helper.topic_prefix
377
- msg = availability_msg_func(topic=topic_prefix, id=id, name=name, **kwargs)
377
+ payload = availability_msg_func(topic=topic_prefix, id=id, name=name, **kwargs)
378
378
  topic = f"{self._config_helper.ha_discovery_prefix}/{ha_type}/{topic_prefix}/{id}/config"
379
379
  _LOGGER.debug("Sending HA discovery for %s, %s.", ha_type, name)
380
- self._autodiscovery_messages.append({"topic": topic, "payload": msg})
381
- self.send_message(topic=topic, payload=msg, retain=True)
380
+ self._config_helper.add_autodiscovery_msg(topic=topic, payload=payload)
381
+ self.send_message(topic=topic, payload=payload, retain=True)
382
382
 
383
383
  def resend_autodiscovery(self):
384
- for msg in self._autodiscovery_messages:
384
+ for msg in self._config_helper.autodiscovery_msgs:
385
385
  self.send_message(**msg, retain=True)
386
386
 
387
387
  async def receive_message(self, topic: str, message: str) -> None:
@@ -122,20 +122,20 @@ class ModbusSensor(BasicMqtt):
122
122
  ) -> None:
123
123
  """Send HA autodiscovery information for each Modbus sensor."""
124
124
  _LOGGER.debug("Sending HA discovery for sensor %s %s.", sdm_name, sensor_id)
125
- self._send_message(
126
- topic=(
127
- f"{self._config_helper.ha_discovery_prefix}/{SENSOR}/{self._config_helper.topic_prefix}{id}"
128
- f"/{id}{sensor_id.replace('_', '').replace(' ', '').lower()}/config"
129
- ),
130
- payload=modbus_sensor_availabilty_message(
131
- topic=self._config_helper.topic_prefix,
132
- id=id,
133
- name=sdm_name,
134
- model=self._model,
135
- sensor_id=sensor_id,
136
- **kwargs,
137
- ),
125
+ topic = (
126
+ f"{self._config_helper.ha_discovery_prefix}/{SENSOR}/{self._config_helper.topic_prefix}{id}"
127
+ f"/{id}{sensor_id.replace('_', '').replace(' ', '').lower()}/config"
138
128
  )
129
+ payload = modbus_sensor_availabilty_message(
130
+ topic=self._config_helper.topic_prefix,
131
+ id=id,
132
+ name=sdm_name,
133
+ model=self._model,
134
+ sensor_id=sensor_id,
135
+ **kwargs,
136
+ )
137
+ self._config_helper.add_autodiscovery_msg(topic=topic, payload=payload)
138
+ self._send_message(topic=topic, payload=payload)
139
139
 
140
140
  def _send_discovery_for_all_registers(self, register: int = 0) -> bool:
141
141
  """Send discovery message to HA for each register."""
boneio/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  # flake8: noqa
2
- __version__ = "0.3.0.dev6"
2
+ __version__ = "0.3.0.dev7"
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: boneio
3
- Version: 0.3.0.dev6
3
+ Version: 0.3.0.dev7
4
4
  Summary: Python App for BoneIO
5
5
  Home-page: https://github.com/boneIO-eu/app_bbb
6
- Download-URL: https://github.com/boneIO-eu/app_bbb/archive/0.3.0.dev6.zip
6
+ Download-URL: https://github.com/boneIO-eu/app_bbb/archive/0.3.0.dev7.zip
7
7
  License: GNU General Public License v3.0
8
8
  Platform: UNKNOWN
9
9
  Classifier: Programming Language :: Python
@@ -1,26 +1,26 @@
1
1
  boneio/__init__.py,sha256=hoLKnu6h1uEsiCHA9Ql2MMDC7VQS0E-s_2cxBS-CTOg,147
2
2
  boneio/bonecli.py,sha256=Alvpbf3gZteV3IMX7DBUD6F_XV_-juKfZ1d4YpIM7PI,3093
3
- boneio/const.py,sha256=nkL8SAMnZT3SfQiNOhWQ5RKoxUIoJV_9dH0BwLAJzXI,2636
3
+ boneio/const.py,sha256=XnmTQ9eDjpQegUiUmom4ROJJHpzNq5HP_JsmC9xODxE,2506
4
4
  boneio/cover.py,sha256=Oi25Be0umRfKJ12kEBZYASw07bvRbLOT2s0emh4Kals,8298
5
- boneio/manager.py,sha256=jyQSbPOTbXWj1YuLviwugs5F4eKnG2DIEhc4F0Uf3TY,16321
5
+ boneio/manager.py,sha256=0VrwPKf8PiACIGNenElR6W6EM9sUmN_iU5pvNnd8DWU,16341
6
6
  boneio/modbus.py,sha256=QWUAYHXLcP7A_vVKTMbZ7x8KS72qLw65t_UzTDI3448,4003
7
7
  boneio/mqtt_client.py,sha256=Y_Vt0pKEETIy1XKQ-WFhowlRJhuv9tWLtyoD8Vdz7hk,6983
8
8
  boneio/oled.py,sha256=Be9QeTHX1mmCQOshYY1KNGvqt4nzEtJCD3gCE3gRSsc,4836
9
9
  boneio/runner.py,sha256=IdAV1Yu--LncQYbNjx6w2uGjqUDBxNcNPW5ZH3hZuBo,2162
10
- boneio/version.py,sha256=x346uF6-PqYb8v3BN7X9RPPWeWgBJitJpH-sVmzKGEg,42
10
+ boneio/version.py,sha256=CWun651lWjDS9iEJ1-V43b0GxjyUOvsUQUgWMvkO8hk,42
11
11
  boneio/example_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  boneio/example_config/adc.yaml,sha256=KaNfPuZmrhpiKJVUKC6uQXQ0YRCp0DoXVxYtqsbiSGI,168
13
- boneio/example_config/config.yaml,sha256=_gNf0Yo6p10Ao_rcSmHA_gCGMtDsvAdso3jNt3r3gqE,322
14
- boneio/example_config/cover.yaml,sha256=CltHkNRbIAM8tDEcj5Qbv-1EULfhrIqvQzc-WeiPXIw,148
13
+ boneio/example_config/config.yaml,sha256=JBUNy-dnsxUzDnvXBf4CLBTcNCuqa1EXyO0HaeMTB-4,326
14
+ boneio/example_config/cover.yaml,sha256=rs7lv3vIEgAb3q96RKsJL7VMRsEvSNHG848dzZzSKsI,150
15
15
  boneio/example_config/input.yaml,sha256=U5pN5Dyb8XrhqHeXsa3rYE5VFI4Y_BapNJkv9c1ireQ,2883
16
16
  boneio/example_config/output24x16A.yaml,sha256=uCj6U1j8qrnb3-Ui78-UjSFNZ3h_evNlab1p6P0H3-g,1691
17
17
  boneio/example_config/output32x5A.yaml,sha256=HuNSZ7S1qGMQi_XDAGJiMDe-W-aPcigvm6v-FYPgMeE,2471
18
18
  boneio/fonts/danube__.ttf,sha256=KBRPUcGvmroCjrWC8zK4MulUb9lV8R0lXkOY7lNnQWc,19372
19
19
  boneio/helper/__init__.py,sha256=zXVY9cTcFumVLf4wuNIutkL5UATTKL-ODcv8VjjxGfw,1816
20
- boneio/helper/config.py,sha256=WuHsEP7FazMuCB55Qgc6m-X2gMsSoscmXTS8BoX8vPE,881
20
+ boneio/helper/config.py,sha256=8oct6dzp1SRF7yE8DcJpnDCQr6ms3OsZUNTxFxnJBTc,1310
21
21
  boneio/helper/events.py,sha256=jXRyWyq_yFJHURs0YPyhKo4tR6dQ7FvGGqen9RfGqp4,5261
22
22
  boneio/helper/exceptions.py,sha256=2t7WvfE2vS17eK9cV4l_RmBEug1ZlkPXWLRMxDSPLFI,474
23
- boneio/helper/gpio.py,sha256=HOImpow_6rVOtgZ5FAZd-En61jNyigp2AVZMXYW0x3U,2765
23
+ boneio/helper/gpio.py,sha256=5EJwzrSTTurAolp2VHLSJm1T78_BluUgNYSSz_BaEKs,2765
24
24
  boneio/helper/ha_discovery.py,sha256=0Ab5xwplKoxArYTSwt5xyBtn5MaVbKlzdoRNw3tpRN8,5480
25
25
  boneio/helper/loader.py,sha256=qF0AKEz6TQhB0WLCHMx8LVV8l2CkiFgooW1ejvJtc34,11427
26
26
  boneio/helper/logger.py,sha256=8B0qeNPALGG5Dlz0cfujjknbf-TOPv4axLF3xj_Bzs8,1800
@@ -36,7 +36,7 @@ boneio/helper/ds2482/__init__.py,sha256=Zsh_6hLOta9gjognR_ECideMmwtMTYpWN757eybC
36
36
  boneio/helper/ds2482/ds2482.py,sha256=c2t_hdAMtFsHw4Vw41QzO_hEDDNMeb3J71mEwEMUBhM,5169
37
37
  boneio/helper/ds2482/onewire.py,sha256=KTNFmFFhNQsxnu0ue_GpBjilv54F1XJnWgVly-0BTIU,1085
38
38
  boneio/input/__init__.py,sha256=u9wuehuC_TNizL4tyn7EygZW5LaTFjSnFaZeZr3zZ1U,99
39
- boneio/input/gpio.py,sha256=kLsi6KRD_cZGnmsIp758TZ3tj5hegNYQPyEXYlkmc-s,4318
39
+ boneio/input/gpio.py,sha256=dGWVB10FY8FCwoZFDa1zIzcxVCTjA3dcLa-veuw2fuk,4408
40
40
  boneio/relay/__init__.py,sha256=L_Peoep10-DdeMrEe-5YnnNCS-mxHtavCqtAesTPWFQ,135
41
41
  boneio/relay/basic.py,sha256=QTax7fGU3YrVx1wBH2Z91w3Hv_ALMs8EiJ4Tdkh1xno,2629
42
42
  boneio/relay/gpio.py,sha256=miuE2fOozmBnFf2Es4wqa5RivtZlUR8NFDGNAoajUk0,1163
@@ -48,7 +48,7 @@ boneio/schema/schema.yaml,sha256=uSA-o14-l7hcOb9Iu9OFiSGDHwBjlMEvsL4YWmyc5po,111
48
48
  boneio/sensor/__init__.py,sha256=jE2rgBN3eR0mh2nYA3J-H15RSjZB0J7k1eYNjnm47f4,419
49
49
  boneio/sensor/adc.py,sha256=mAxzgs0Eul1V6Fmye9V7TsJiPRnc59TQ-s7nb_PV7G8,1245
50
50
  boneio/sensor/gpio.py,sha256=9f_hNcCYvrEb7FvA00Xm-L5-fUXdH4SM-jZiOamOz2Q,1230
51
- boneio/sensor/modbus/__init__.py,sha256=Pk1xrgRl126-9WkIXMair6H9HZWpD9_WoKfgFKVrA8M,8430
51
+ boneio/sensor/modbus/__init__.py,sha256=Ioym7nViLQPWqb0Be1iKezTB8dQSdyNzrnCe6zi-iqc,8483
52
52
  boneio/sensor/modbus/sdm120.json,sha256=4sueFfSw7G6a77gdIUhbfJvE-MNVJFOeVbRvHDw5Rvk,4145
53
53
  boneio/sensor/modbus/sdm630.json,sha256=6LbIfXWk_PVRW-OuJwrsFEnRGLVEmEqqGIbj-1FDaiI,10969
54
54
  boneio/sensor/modbus/sofar.json,sha256=A_YztQN_ctyItIm2LH1tfcs-pSyG18I530qleLd2tOw,5592
@@ -56,9 +56,9 @@ boneio/sensor/temp/__init__.py,sha256=AgjEbpkyY1D2Wo7tOGSFKr_uD2LexwLiezkaYP36yE
56
56
  boneio/sensor/temp/dallas.py,sha256=K-dOme8s1AGEvsbHeb3Tt3pkHrFwhX7_CAXiq8Se2uY,1168
57
57
  boneio/sensor/temp/lm75.py,sha256=aTvNlG6z7Kk2QnKtjTxq6NLV46-BH7AVHFt7g9XExbY,241
58
58
  boneio/sensor/temp/mcp9808.py,sha256=1DKfZyzFHA425xNSPS5is8nWWsClT-D0AbrQx9zgAJg,269
59
- boneio-0.3.0.dev6.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
60
- boneio-0.3.0.dev6.dist-info/METADATA,sha256=NUHm0qYpXDomocRBX9T2RPNAjqvi_HT9dmF5TPVcw-Y,1944
61
- boneio-0.3.0.dev6.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
62
- boneio-0.3.0.dev6.dist-info/entry_points.txt,sha256=JX7gluDIkQ6MBlzzxGHMItnBjciiJ73tsXwYcazMW_U,47
63
- boneio-0.3.0.dev6.dist-info/top_level.txt,sha256=ag9S5n1_KXZfyk9tN8R0YUDYbdA--e5a2w2FOD_yMdg,7
64
- boneio-0.3.0.dev6.dist-info/RECORD,,
59
+ boneio-0.3.0.dev7.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
60
+ boneio-0.3.0.dev7.dist-info/METADATA,sha256=tZGNGrZaKKi7VxIU2udrcpH23qa1ZvjG_MJ9ihvUlxY,1944
61
+ boneio-0.3.0.dev7.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
62
+ boneio-0.3.0.dev7.dist-info/entry_points.txt,sha256=JX7gluDIkQ6MBlzzxGHMItnBjciiJ73tsXwYcazMW_U,47
63
+ boneio-0.3.0.dev7.dist-info/top_level.txt,sha256=ag9S5n1_KXZfyk9tN8R0YUDYbdA--e5a2w2FOD_yMdg,7
64
+ boneio-0.3.0.dev7.dist-info/RECORD,,