TISControlProtocol 1.0.64__tar.gz → 1.0.66__tar.gz

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.
Files changed (71) hide show
  1. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/PKG-INFO +1 -1
  2. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/pyproject.toml +1 -1
  3. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/api.py +35 -22
  4. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/.gitignore +0 -0
  5. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/.vscode/c_cpp_properties.json +0 -0
  6. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/.vscode/launch.json +0 -0
  7. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/.vscode/settings.json +0 -0
  8. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/.vscode/tasks.json +0 -0
  9. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/LICENSE +0 -0
  10. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/MANIFEST.in +0 -0
  11. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/README.md +0 -0
  12. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/dev/pump_version.py +0 -0
  13. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/BytesHelper.py +0 -0
  14. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/__init__.py +0 -0
  15. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/AckCoordinator.py +0 -0
  16. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketDispatcher.py +0 -0
  17. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketExtractor.py +0 -0
  18. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/AnalogFeedbackHandler.py +0 -0
  19. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/AutoBinaryFeedbackHandler.py +0 -0
  20. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/BinaryFeedbackHandler.py +0 -0
  21. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateBinaryFeedbackHandler.py +0 -0
  22. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateControlFeedbackHandler.py +0 -0
  23. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ControlResponseHandler.py +0 -0
  24. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/DiscoveryFeedbackHandler.py +0 -0
  25. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/EnergyFeedbackHandler.py +0 -0
  26. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/FloorBinaryFeedbackHandler.py +0 -0
  27. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/HealthFeedbackHandler.py +0 -0
  28. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/LunaTempFeedbackHandler.py +0 -0
  29. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/RealTimeFeedbackHandler.py +0 -0
  30. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/SearchResponseHandler.py +0 -0
  31. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/SecurityFeedbackHandler.py +0 -0
  32. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/UpdateResponseHandler.py +0 -0
  33. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/UpdateSecurityHandler.py +0 -0
  34. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/WeatherFeedbackHandler.py +0 -0
  35. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/__init__.py +0 -0
  36. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketProtocol.py +0 -0
  37. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketReceiver.py +0 -0
  38. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketSender.py +0 -0
  39. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/ProtocolHandler.py +0 -0
  40. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/UpdateCoordinator.py +0 -0
  41. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/__init__.py +0 -0
  42. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/__init__.py +0 -0
  43. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/__init__.py +0 -0
  44. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/bill_config_endpoint.py +0 -0
  45. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/change_password_endpoint.py +0 -0
  46. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/get_bill_config_endpoint.py +0 -0
  47. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/get_key_endpoint.py +0 -0
  48. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/password_dashboard.py +0 -0
  49. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/password_form_endpoint.py +0 -0
  50. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/passwords_endpoint.py +0 -0
  51. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/restart_endpoint.py +0 -0
  52. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/scan_devices_endpoint.py +0 -0
  53. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/shared.py +0 -0
  54. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/submit_password.py +0 -0
  55. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/tis_endpoint.py +0 -0
  56. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/update_endpoint.py +0 -0
  57. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/crc.py +0 -0
  58. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/logo.png +0 -0
  59. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/package-lock.json +0 -0
  60. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/package.json +0 -0
  61. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/postcss.config.mjs +0 -0
  62. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/__init__.py +0 -0
  63. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/dashboard.css +0 -0
  64. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/password_dashboard_loader.js +0 -0
  65. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/shared.py +0 -0
  66. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/__init__.py +0 -0
  67. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_dashboard/index.html +0 -0
  68. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_dashboard/styles.css +0 -0
  69. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_form/index.html +0 -0
  70. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_form/styles.css +0 -0
  71. {tiscontrolprotocol-1.0.64 → tiscontrolprotocol-1.0.66}/tests/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TISControlProtocol
3
- Version: 1.0.64
3
+ Version: 1.0.66
4
4
  Summary: A library for TIS Control Protocol
5
5
  Project-URL: Homepage, https://github.com/TISControlHass
6
6
  Project-URL: Issues, https://github.com/TISControlHass/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "TISControlProtocol"
7
- version = "1.0.64"
7
+ version = "1.0.66"
8
8
  description = "A library for TIS Control Protocol"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -32,11 +32,13 @@ from .apis import (
32
32
  )
33
33
 
34
34
  try:
35
- import RPi.GPIO as GPIO
36
- import ST7789
35
+ import board
36
+ import digitalio
37
+ import busio
38
+ from adafruit_rgb_display import st7789
37
39
 
38
40
  HAS_ST7789 = True
39
- except (ImportError, RuntimeError) as e:
41
+ except (ImportError, RuntimeError, NotImplementedError) as e:
40
42
  HAS_ST7789 = False
41
43
  logging.error(
42
44
  "Failed to load display dependencies. Display will be disabled. Error: %s", e
@@ -219,27 +221,35 @@ class TISApi:
219
221
  def run_display(self, style="dots"):
220
222
  try:
221
223
  if HAS_ST7789:
222
- self.display = ST7789.ST7789(
224
+ # 1. Initialize the SPI bus
225
+ spi = board.SPI()
226
+
227
+ # 2. Define the GPIO pins
228
+ cs_pin = digitalio.DigitalInOut(board.CE0)
229
+ dc_pin = digitalio.DigitalInOut(board.D23)
230
+ rst_pin = digitalio.DigitalInOut(board.D25)
231
+ bl_pin = digitalio.DigitalInOut(board.D12)
232
+
233
+ # 3. Turn on the backlight physically
234
+ bl_pin.direction = digitalio.Direction.OUTPUT
235
+ bl_pin.value = True
236
+ self._bl_pin = bl_pin # Store to prevent garbage collection
237
+
238
+ # 4. Initialize the ST7789 Display
239
+ self.display = st7789.ST7789(
240
+ spi,
241
+ cs=cs_pin,
242
+ dc=dc_pin,
243
+ rst=rst_pin,
244
+ baudrate=60000000,
223
245
  width=320,
224
246
  height=240,
225
- rotation=0,
226
- port=0,
227
- cs=0,
228
- dc=23,
229
- rst=25,
230
- backlight=12,
231
- spi_speed_hz=60 * 1000 * 1000,
232
- offset_left=0,
233
- offset_top=0,
247
+ rotation=0
234
248
  )
235
- GPIO.setmode(GPIO.BCM)
236
- GPIO.setup(12, GPIO.OUT)
237
- pwm = GPIO.PWM(12, 1000)
238
- pwm.start(100)
239
249
 
240
- # Initialize display.
241
- self.display.begin()
242
250
  self.set_display_image()
251
+ else:
252
+ logging.error("Can't start display, some packages are missing")
243
253
 
244
254
  except Exception as e:
245
255
  logging.error(f"error initializing display, {e}")
@@ -251,13 +261,16 @@ class TISApi:
251
261
  version_text = f"V {self.version}"
252
262
 
253
263
  draw = ImageDraw.Draw(img)
254
- font = ImageFont.load_default(size=28)
264
+ try:
265
+ font = ImageFont.load_default(size=28)
266
+ except TypeError:
267
+ font = ImageFont.load_default()
268
+
255
269
  x, y = 78, 235
256
270
  draw.text((x, y), version_text, font=font, fill=(255, 255, 255))
257
271
  img = img.rotate(-90, expand=True)
258
272
 
259
- self.display.set_backlight(0)
260
- self.display.display(img)
273
+ self.display.image(img)
261
274
 
262
275
  async def parse_device_manager_request(self, data: dict) -> None:
263
276
  """Parse the device manager request."""