TISControlProtocol 0.2.1__tar.gz → 0.2.3__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 (41) hide show
  1. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/PKG-INFO +1 -1
  2. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/pyproject.toml +1 -1
  3. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/ProtocolHandler.py +72 -1
  4. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/.gitignore +0 -0
  5. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/.vscode/c_cpp_properties.json +0 -0
  6. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/.vscode/launch.json +0 -0
  7. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/.vscode/settings.json +0 -0
  8. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/.vscode/tasks.json +0 -0
  9. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/LICENSE +0 -0
  10. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/README.md +0 -0
  11. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/dev/pump_version.py +0 -0
  12. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/BytesHelper.py +0 -0
  13. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/__init__.py +0 -0
  14. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/AckCoordinator.py +0 -0
  15. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketDispatcher.py +0 -0
  16. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketExtractor.py +0 -0
  17. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/AutoBinaryFeedbackHandler.py +0 -0
  18. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/BinaryFeedbackHandler.py +0 -0
  19. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateBinaryFeedbackHandler.py +0 -0
  20. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ClimateControlFeedbackHandler.py +0 -0
  21. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/ControlResponseHandler.py +0 -0
  22. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/DiscoveryFeedbackHandler.py +0 -0
  23. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/LunaTempFeedbackHandler.py +0 -0
  24. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/RealTimeFeedbackHandler.py +0 -0
  25. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/SearchResponseHandler.py +0 -0
  26. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/UpdateResponseHandler.py +0 -0
  27. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketHandlers/__init__.py +0 -0
  28. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketProtocol.py +0 -0
  29. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketReceiver.py +0 -0
  30. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/PacketSender.py +0 -0
  31. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/UpdateCoordinator.py +0 -0
  32. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/Protocols/udp/__init__.py +0 -0
  33. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/ST7789/__init__.py +0 -0
  34. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/__init__.py +0 -0
  35. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/api.py +0 -0
  36. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/crc.py +0 -0
  37. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/dev_api.py +0 -0
  38. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/logo.png +0 -0
  39. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/mock_api.py +0 -0
  40. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/src/TISControlProtocol/shared.py +0 -0
  41. {tiscontrolprotocol-0.2.1 → tiscontrolprotocol-0.2.3}/tests/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: TISControlProtocol
3
- Version: 0.2.1
3
+ Version: 0.2.3
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 = "0.2.1"
7
+ version = "0.2.3"
8
8
  description = "A library for TIS Control Protocol"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,7 +1,7 @@
1
1
  """Class for handling the UDP protocol"""
2
2
 
3
3
  from ...BytesHelper import build_packet
4
- from typing import List, Tuple
4
+ from typing import List, Literal, Tuple
5
5
 
6
6
 
7
7
  class TISPacket:
@@ -131,6 +131,21 @@ class TISProtocolHandler:
131
131
  additional_bytes=[],
132
132
  )
133
133
 
134
+ def generate_light_control_packet(self, entity, brightness: int) -> TISPacket:
135
+ """
136
+ Generate packets to control a light.
137
+ :param entity: The entity object containing device information.
138
+ :param brightness: An integer representing the brightness level.
139
+ :return: A Packet instance.
140
+ """
141
+ return TISPacket(
142
+ device_id=entity.device_id,
143
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
144
+ source_ip=entity.api.host,
145
+ destination_ip=entity.gateway,
146
+ additional_bytes=[entity.channel_number, brightness, 0x00, 0x00],
147
+ )
148
+
134
149
  def generate_rgb_light_control_packet(
135
150
  self, entity, color: Tuple[int, int, int]
136
151
  ) -> Tuple[TISPacket]:
@@ -163,3 +178,59 @@ class TISProtocolHandler:
163
178
  additional_bytes=[entity.b_channel, color[2], 0x00, 0x00],
164
179
  ),
165
180
  )
181
+
182
+ def generate_no_pos_cover_packet(
183
+ self, entity, mode: Literal["open", "close", "stop"]
184
+ ) -> tuple[TISPacket, TISPacket]:
185
+ if mode == "open":
186
+ return (
187
+ TISPacket(
188
+ device_id=entity.device_id,
189
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
190
+ source_ip=entity.api.host,
191
+ destination_ip=entity.gateway,
192
+ additional_bytes=[entity.up_channel_number, 0x64, 0x00, 0x00],
193
+ ),
194
+ TISPacket(
195
+ device_id=entity.device_id,
196
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
197
+ source_ip=entity.api.host,
198
+ destination_ip=entity.gateway,
199
+ additional_bytes=[entity.down_channel_number, 0x00, 0x00, 0x00],
200
+ ),
201
+ )
202
+ elif mode == "close":
203
+ return (
204
+ TISPacket(
205
+ device_id=entity.device_id,
206
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
207
+ source_ip=entity.api.host,
208
+ destination_ip=entity.gateway,
209
+ additional_bytes=[entity.down_channel_number, 0x64, 0x00, 0x00],
210
+ ),
211
+ TISPacket(
212
+ device_id=entity.device_id,
213
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
214
+ source_ip=entity.api.host,
215
+ destination_ip=entity.gateway,
216
+ additional_bytes=[entity.up_channel_number, 0x00, 0x00, 0x00],
217
+ ),
218
+ )
219
+
220
+ elif mode == "stop":
221
+ return (
222
+ TISPacket(
223
+ device_id=entity.device_id,
224
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
225
+ source_ip=entity.api.host,
226
+ destination_ip=entity.gateway,
227
+ additional_bytes=[entity.up_channel_number, 0x00, 0x00, 0x00],
228
+ ),
229
+ TISPacket(
230
+ device_id=entity.device_id,
231
+ operation_code=TISProtocolHandler.OPERATION_CONTROL,
232
+ source_ip=entity.api.host,
233
+ destination_ip=entity.gateway,
234
+ additional_bytes=[entity.down_channel_number, 0x00, 0x00, 0x00],
235
+ ),
236
+ )