Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.10.0 #65

Merged
merged 54 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
e0efc92
Make set_scg_config and set_chem_data kwargs only (#53)
dieselrabbit Oct 15, 2023
e2cfafc
Refactor tests to use json data sets that can be generated from the C…
dieselrabbit Oct 15, 2023
c4af0bd
Post-kwargs-merge test cleanup
dieselrabbit Oct 15, 2023
b3e2878
Initial request unit test
dieselrabbit Oct 24, 2023
4ca0da3
Merge branch 'master' into dev
dieselrabbit Nov 3, 2023
7acb035
V0.10.0 Spec (#62)
dieselrabbit Nov 3, 2023
bb2ec83
Set python 3.10
dieselrabbit Nov 3, 2023
62de358
Fix array padding
dieselrabbit Nov 9, 2023
55b0eb1
pytest -vv
dieselrabbit Nov 9, 2023
5579c80
Fix decode_config
dieselrabbit Nov 9, 2023
5422fdf
Add firmware and time query codes
dieselrabbit Nov 9, 2023
0ade141
Update scg setpoint step to 1
dieselrabbit Nov 9, 2023
c5ec5f5
Exception refactor (#63)
dieselrabbit Nov 11, 2023
acc7d69
Refine connection logic, add firmware response
dieselrabbit Nov 11, 2023
fd191d3
Handle bad pump number requests
dieselrabbit Nov 11, 2023
e50941a
Refactor data processing
dieselrabbit Nov 12, 2023
c31624d
Time/Date sync (#64)
dieselrabbit Nov 14, 2023
2f9b7c8
Use Enums for SCG status/state. Make super_chlorinate full entry
dieselrabbit Nov 16, 2023
5bc426b
Exception docstrings
dieselrabbit Nov 17, 2023
a4316fb
Simplify request exception handling
dieselrabbit Nov 17, 2023
e938de1
Raise on unexpected response
dieselrabbit Nov 18, 2023
24a168f
Refactor to handle ScreenLogicExceptions
dieselrabbit Nov 18, 2023
a3ff92f
Un-mock protocol
dieselrabbit Nov 19, 2023
e4ec1bd
Pass event_loop to patched gateway
dieselrabbit Nov 19, 2023
f7b84da
Tests for register_async_message_handler
dieselrabbit Nov 19, 2023
fddf9c7
Add deconstruct_response_collection
dieselrabbit Nov 20, 2023
283bc90
Cleanup unused func
dieselrabbit Nov 20, 2023
ffbad1f
Load raw responses into _last for MockConnectedGateway
dieselrabbit Nov 20, 2023
40b7aeb
Test datetime encode and decode
dieselrabbit Nov 20, 2023
47a91ba
New data set for adapter v738
dieselrabbit Nov 21, 2023
78a331e
Use ATTR consts for keys
dieselrabbit Nov 21, 2023
a2d4ac2
Include date_time in async_update
dieselrabbit Nov 21, 2023
fa70acf
Reference upgraded adapter data_set in tests
dieselrabbit Nov 21, 2023
0ddce1d
Add ScreenLogicCommunicationError
dieselrabbit Nov 21, 2023
9f06ee5
Add help for export cli arg
dieselrabbit Nov 23, 2023
6031c0a
New features for v0.10.0
dieselrabbit Nov 23, 2023
637724b
Correct maximum super chlorinate time
dieselrabbit Nov 23, 2023
f0d0181
Include host time in date_time data
dieselrabbit Nov 24, 2023
1ea5d06
Add "major" and "minor" attribute const
dieselrabbit Nov 25, 2023
15aa334
Remove old testing data
dieselrabbit Nov 25, 2023
9f4800e
Add major/minor breakdowns of version data
dieselrabbit Nov 25, 2023
97315c1
Add getAdapterVersion utility function
dieselrabbit Nov 25, 2023
023cdb1
Mask equipment flags for adapter firmware <738
dieselrabbit Nov 25, 2023
3a3b9ad
Patch adapter version in decoding tests
dieselrabbit Nov 25, 2023
64ebdc4
Rename test data files
dieselrabbit Nov 25, 2023
05abe97
Remove dependency on getAdapterVersion
dieselrabbit Nov 26, 2023
7372ae6
Update equipment flags
dieselrabbit Nov 26, 2023
ea60d53
Exclude source diagnostics exports
dieselrabbit Nov 27, 2023
f571787
Add additional suspected scg_state flags
dieselrabbit Nov 27, 2023
8cdcd78
Support multiple testing datasets
dieselrabbit Nov 27, 2023
344cf75
Remove unintended spacing
dieselrabbit Nov 27, 2023
17ea75e
Update actions
dieselrabbit Nov 27, 2023
0970a23
Fix path for response collections
dieselrabbit Nov 27, 2023
14faae6
Force all datetime objects to utc
dieselrabbit Nov 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@ name: Python package

on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ master ]
branches: [master]

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.9, "3.10", 3.11]
python-version: ["3.10", 3.11]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,12 @@ dmypy.json

# Pyre type checker
.pyre/

# personal
notes/notes.txt
notes/circuit_names*.txt
scratchpad/local_*
notes/8060_set_sys_data.txt

# source data
diagnostics/
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@
"capsys",
"intellichem",
"screenlogicpy"
]
],
"python.defaultInterpreterPath": "~\\AppData\\Local\\Programs\\Python\\Python310\\python.exe"
}
252 changes: 187 additions & 65 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions notes/8058_sys_data.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

13 00|7b 1f|94 00 00 00|50 00 00 00|50 00 00 00|11 00 00 00|50 65 6e 74 61 69 72 3a 20 XX XX 2d XX XX 2d XX XX 00 00 00|05 00 00 00|XX XX XX XX XX 00 00 00|XX XX XX XX|XX XX XX XX|fb ff ff ff|19 00 00 00|50 4f 4f 4c 3a 20 35 2e 32 20 42 75 69 6c 64 20 37 33 36 2e 30 20 52 65 6c 00 00 00|01 00 00 00|00 00 00 00|00 00 00 00|01 00 00 00|30 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|0b 00 00 00|52 61 62 62 69 74 20 43 6f 72 65 00|05 00 00 00|42 52 49 43 4b 00 00 00
msgID|msgCD|msgLength | | |aptrNameLen|adapterName |zipLen |zipCode |latitudeN |longitudeW?| |versionLen |version | | | | | | | | |coreLen |core |styleLen |style
13 8058 148 |80 |80 |17 |P e n t a i r : X X - X X - X X |5 |X X X X X XX/1000 XX/1000 25 P O O L : 5 . 2 B u i l d 7 3 6 . 0 R e l 1 0 0 1 48 0 0 0 11 R a b b i t C o r e |5 |B R I C K
msgID|msgCD|msgLength | | |aptrNameLen|adapterName |zipLen |zipCode |latitudeN |longitudeW?|tz_adjust |versionLen |version | | | | | | | | |coreLen |core |styleLen |style
13 8058 148 |80 |80 |17 |P e n t a i r : X X - X X - X X |5 |X X X X X XX/1000 XX/1000 -5 25 P O O L : 5 . 2 B u i l d 7 3 6 . 0 R e l 1 0 0 1 48 0 0 0 11 R a b b i t C o r e |5 |B R I C K
15 changes: 12 additions & 3 deletions notes/8110_get_datetime.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
e7 07|01 00|04 00|1b 00|0e 00|13 00|1f 00|00 00|01 00|00 00
year |month|dayOw|date |hour |min |sec |ms |aDST |isDST?
2023 |1 |4 |27 |14 |19 |31 |0 |1 |?
Request:
b""

Response:
e7 07|01 00|04 00|1b 00|0e 00|13 00|1f 00|00 00|01 00 00 00
year |month|dayOw|date |hour |min |sec |ms |autoDST |
2023 |1 |4 |27 |14 |19 |31 |0 |1 |


e7 07 03 00 06 00 0c 00 0a 00 22 00 1b 00 00 00 01 00 00 00
year |month|dayOw|date |hour |min |sec |ms |autoDST |
2023 |3 |6 |12 |10 |34 |27 |0 |1 |
12 changes: 6 additions & 6 deletions notes/8112_set_datetime.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
e7 07|01 00|04 00|1b 00|0e 00|13 00|00 00|cc 01|00 00|00 00
year |month|dayOw|date |hour |min |sec |ms |aDST |isDST?
2023 |1 |4 |27 |14 |19 |00 |460 |0 |?
e7 07|01 00|04 00|1b 00|0e 00|13 00|00 00|cc 01|00 00 00 00
year |month|dayOw|date |hour |min |sec |ms |aDST
2023 |1 |4 |27 |14 |19 |00 |460 |0

e7 07|01 00|04 00|1b 00|0e 00|15 00|00 00|1d 03|01 00|00 00
year |month|dayOw|date |hour |min |sec |ms |aDST |isDST?
2023 |1 |4 |27 |14 |21 |00 |797 |1 |?
e7 07|01 00|04 00|1b 00|0e 00|15 00|00 00|1d 03|01 00 00 00
year |month|dayOw|date |hour |min |sec |ms |aDST
2023 |1 |4 |27 |14 |21 |00 |797 |1


dayOw Monday = 0
6 changes: 5 additions & 1 deletion notes/scg_state_flags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Active 0001
Very Low Salt ?
Low Salt ?
Good Salt ?
High Salt ?
UNKNOWN 1000 0000
IntelliChem in Control 1000 0000 0000 0000
IntelliChem in Control? 1000 0000 0000 0000
4 changes: 2 additions & 2 deletions screenlogicpy/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__version__ = "0.9.4"
__version__ = "0.10.0"
# flake8: noqa F401
from screenlogicpy.gateway import ScreenLogicGateway
from screenlogicpy.const.common import ScreenLogicError, ScreenLogicRequestError
from screenlogicpy.const.common import ScreenLogicError, ScreenLogicCommunicationError
from screenlogicpy.discovery import async_discover
Loading