TISControlProtocol 1.0.65__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.
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/PKG-INFO +1 -1
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/pyproject.toml +1 -1
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/api.py +34 -23
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/.gitignore +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/.vscode/c_cpp_properties.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/.vscode/launch.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/.vscode/settings.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/.vscode/tasks.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/LICENSE +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/MANIFEST.in +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/README.md +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/dev/pump_version.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/BytesHelper.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/AckCoordinator.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketDispatcher.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketExtractor.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/AnalogFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/AutoBinaryFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/BinaryFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateBinaryFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateControlFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ControlResponseHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/DiscoveryFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/EnergyFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/FloorBinaryFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/HealthFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/LunaTempFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/RealTimeFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/SearchResponseHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/SecurityFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/UpdateResponseHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/UpdateSecurityHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/WeatherFeedbackHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketHandlers/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketProtocol.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketReceiver.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/PacketSender.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/ProtocolHandler.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/UpdateCoordinator.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/udp/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/bill_config_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/change_password_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/get_bill_config_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/get_key_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/password_dashboard.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/password_form_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/passwords_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/restart_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/scan_devices_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/shared.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/submit_password.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/tis_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/update_endpoint.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/crc.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/logo.png +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/package-lock.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/package.json +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/postcss.config.mjs +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/dashboard.css +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/password_dashboard_loader.js +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/shared.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/__init__.py +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_dashboard/index.html +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_dashboard/styles.css +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_form/index.html +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/password_form/styles.css +0 -0
- {tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/tests/test.py +0 -0
|
@@ -32,11 +32,13 @@ from .apis import (
|
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
try:
|
|
35
|
-
import
|
|
36
|
-
import
|
|
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,32 @@ class TISApi:
|
|
|
219
221
|
def run_display(self, style="dots"):
|
|
220
222
|
try:
|
|
221
223
|
if HAS_ST7789:
|
|
222
|
-
|
|
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
|
-
|
|
236
|
-
GPIO.setmode(GPIO.BCM)
|
|
237
|
-
GPIO.setup(12, GPIO.OUT)
|
|
238
|
-
self._display_pwm = GPIO.PWM(12, 1000)
|
|
239
|
-
self._display_pwm.start(100)
|
|
240
|
-
|
|
241
|
-
# Initialize display.
|
|
242
|
-
self.display.begin()
|
|
249
|
+
|
|
243
250
|
self.set_display_image()
|
|
244
251
|
else:
|
|
245
252
|
logging.error("Can't start display, some packages are missing")
|
|
@@ -254,12 +261,16 @@ class TISApi:
|
|
|
254
261
|
version_text = f"V {self.version}"
|
|
255
262
|
|
|
256
263
|
draw = ImageDraw.Draw(img)
|
|
257
|
-
|
|
264
|
+
try:
|
|
265
|
+
font = ImageFont.load_default(size=28)
|
|
266
|
+
except TypeError:
|
|
267
|
+
font = ImageFont.load_default()
|
|
268
|
+
|
|
258
269
|
x, y = 78, 235
|
|
259
270
|
draw.text((x, y), version_text, font=font, fill=(255, 255, 255))
|
|
260
271
|
img = img.rotate(-90, expand=True)
|
|
261
272
|
|
|
262
|
-
self.display.
|
|
273
|
+
self.display.image(img)
|
|
263
274
|
|
|
264
275
|
async def parse_device_manager_request(self, data: dict) -> None:
|
|
265
276
|
"""Parse the device manager request."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/BytesHelper.py
RENAMED
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/Protocols/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/apis/tis_endpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/package-lock.json
RENAMED
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/postcss.config.mjs
RENAMED
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/__init__.py
RENAMED
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/public/dashboard.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tiscontrolprotocol-1.0.65 → tiscontrolprotocol-1.0.66}/src/TISControlProtocol/views/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|