Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
dd538da
Update subscription for pushing events like motion detection
brefra Jan 28, 2024
53b046a
Fix retrieval of relay state
brefra Jan 29, 2024
9ae86f8
Remove debug logging
brefra Jan 29, 2024
c0b433b
Correct receive motion state
brefra Jan 29, 2024
1b6693d
Fix switching relay
brefra Jan 31, 2024
a8f5cb2
Rewrite
brefra Feb 6, 2024
53b18b9
Add sensors for sense node
brefra Feb 6, 2024
93c7cf4
Remove await as function is no coroutine
brefra Feb 8, 2024
e434ad9
Correct translation strings
brefra Feb 11, 2024
1453ec1
Add entity unique ID migration
brefra Feb 13, 2024
4850605
Correct imports for async backend lib
brefra Feb 13, 2024
4e7f737
Set unique id for config back to original id
brefra Feb 13, 2024
b06a427
Use device name from backend lib
brefra Feb 13, 2024
8a0827f
Update manifest.json
brefra Feb 13, 2024
14c8105
Update exceptions
brefra Feb 13, 2024
f3224b2
Utilize available state for coordinator
brefra Mar 8, 2024
d0b48b6
Bump async lib to 0.40.0.a6
brefra Mar 8, 2024
f9b42e3
Bump backend lib to v0.40.0a9
brefra Mar 13, 2024
744e34f
Bump version to 0.50.0a1
brefra Mar 13, 2024
96791e5
Remove dependency to coordinator data during initialization
brefra Mar 28, 2024
a64ffb1
No need to refresh before loading
brefra Mar 28, 2024
7a28cc2
Remove initial update
brefra Mar 28, 2024
997f6af
Retrieve features directly from node
brefra Mar 28, 2024
3fcdb1b
Bump backend lib to 0.40.0a10
brefra Mar 28, 2024
629731a
Bump version to 0.50.0a2
brefra Mar 28, 2024
90d1378
Bump backend lib to 0.40.0a11
brefra May 20, 2024
f8ac08a
Bump version to 0.50.0a3
brefra May 20, 2024
4ba45c2
Update workflows
brefra May 20, 2024
44f1fd9
Update pre-commits
brefra May 20, 2024
c03c806
Add missing test packages
brefra May 20, 2024
0132fd8
Correct patching async lib api
brefra May 20, 2024
3c36c7c
Fix manually configured connection
brefra May 20, 2024
a421800
Update test_config_flow.py
brefra May 20, 2024
f9bbdd3
Improve logging
brefra Aug 23, 2024
35b0266
Update coordinator name
brefra Aug 23, 2024
8f9183c
Filter duplicate feature requests
brefra Aug 23, 2024
be45efb
Update error message
brefra Aug 23, 2024
915ae2a
Bump backend lib to 0.40.0a12
brefra Aug 23, 2024
ffc0ae7
Bump version to 0.50.0a4
brefra Aug 23, 2024
b15f7e8
Bump backend lib to 0.40.0a13
brefra Aug 24, 2024
7737beb
Bump version to v0.50.0.a5
brefra Aug 24, 2024
d594724
Bump backend lib to 0.40.0a14
brefra Aug 24, 2024
1f3f22f
Bump version to v0.50.0.a6
brefra Aug 24, 2024
604cbcc
Bump backend lib to 0.40.0a15
brefra Aug 24, 2024
2894e0a
Allow creating missing cache folder at initialization
brefra Aug 24, 2024
6c7a4cf
Bump version to v0.50.0.a7
brefra Aug 24, 2024
b6a3e17
Bump backend lib to 0.40.0a16
brefra Aug 26, 2024
546c716
Bump version to v0.50.0.a8
brefra Aug 26, 2024
845cbe9
Lower log level
brefra Aug 26, 2024
0c51916
Bump backend lib to 0.40.0a17
brefra Aug 26, 2024
8063b07
Bump version to v0.50.0a9
brefra Aug 26, 2024
86b5bbc
Bump backend lib to 0.40.0a18
brefra Aug 26, 2024
59e5ec7
Bump backend lib to v0.40.0a19
brefra Aug 26, 2024
162ea85
Bump version to v0.50.0a10
brefra Aug 26, 2024
07bb2c3
Use runtime_data
brefra Aug 27, 2024
e3de82d
Bump minimal HA version to 2024.8
brefra Aug 27, 2024
83da90f
Fix HA test
brefra Aug 27, 2024
173a390
Add model type to device info
brefra Aug 27, 2024
6b54141
Bump backend library to v0.40.0a21
brefra Aug 27, 2024
f7906a8
Bump version to v0.50.0a11
brefra Aug 27, 2024
9ef08a4
try to fix tests
brefra Aug 27, 2024
369eaa6
pre-commit fixes
bouwew Nov 9, 2024
fc583d0
Test-code fixing
bouwew Nov 9, 2024
31b713b
Fix ruff in script
bouwew Nov 9, 2024
ab98c8c
More fixes
bouwew Nov 9, 2024
387dd33
Script: disable blacking
bouwew Nov 9, 2024
4025a59
Script: disable mypy-checking too for now
bouwew Nov 9, 2024
4c73c61
Script: make running hassfest-check conditionally
bouwew Nov 9, 2024
422c66d
More test-improvements
bouwew Nov 9, 2024
059ce73
Small ruff-fixes
bouwew Nov 9, 2024
108b23b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 9, 2024
871ce34
Pre-commit fix
bouwew Nov 9, 2024
7f84427
Revert asyncio removal
bouwew Nov 9, 2024
1379741
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 9, 2024
ad95c16
Test using https://github.com/boralyl/github-custom-component-tutoria…
ArnoutD Nov 19, 2024
36f27a6
Formatr files
ArnoutD Nov 19, 2024
a4efc9f
Add github test instead of using cached HA core checkout
ArnoutD Nov 19, 2024
74ac941
Fix test workflow
ArnoutD Nov 19, 2024
c03ebc1
fix underscores in startup
ArnoutD Nov 19, 2024
e961058
alter precommit file for missing stages
ArnoutD Nov 19, 2024
9851035
make script exec
ArnoutD Nov 19, 2024
30936c1
do not install pre-commit on test
ArnoutD Nov 19, 2024
fe38d9e
use ruff for linting
ArnoutD Nov 19, 2024
7ae1237
test and coverage
ArnoutD Nov 19, 2024
6775729
Add devcontainer and ignore new .venv
ArnoutD Nov 21, 2024
929841d
look if version increase has effect
ArnoutD Nov 21, 2024
b6c799e
Move to src layout
ArnoutD Nov 21, 2024
8cf56b8
Fix SQ issues
ArnoutD Nov 21, 2024
9a0021d
Add missing sensor translations
bouwew Dec 1, 2024
aa67b15
Add Number platform
brefra Jan 5, 2025
13d3484
Update API
brefra Jan 5, 2025
226b355
Apply formatting
brefra Jan 5, 2025
8b26dcb
Correct entity_id conversion
brefra Jan 5, 2025
68b232d
Remove step_id's
brefra Jan 5, 2025
40524e0
Change log level
brefra Jan 5, 2025
7816941
Update translantions
brefra Jan 5, 2025
2dde300
Add missing entries to string.json
bouwew Jan 21, 2025
6c76d19
Update NL translation
bouwew Jan 21, 2025
efb6086
Fix typo
bouwew Jan 21, 2025
d399acf
Link to latest library test-version
bouwew Feb 6, 2025
a7e803c
Config_flow: add step_id's
bouwew Feb 7, 2025
c55d2c8
Ruff fixes
bouwew Feb 7, 2025
edc1bc4
Remove B320
ArnoutD Feb 7, 2025
6ca4fce
update to usb module a27
ArnoutD Feb 7, 2025
1619f30
remove pytest-deprecation-warning
ArnoutD Feb 7, 2025
d0c4434
Add aiousbwatcher
ArnoutD Feb 7, 2025
7adb236
Move out of source folder, doesn't work for HACS component
ArnoutD Feb 7, 2025
01c2833
Update version no
ArnoutD Feb 7, 2025
542e29f
Remove self-build
ArnoutD Feb 7, 2025
ea93a24
50.0.0a13
ArnoutD Feb 7, 2025
f97aa63
Add entity hardware version
bouwew Feb 8, 2025
1d8ad17
Stripping leading zero's is not needed
bouwew Feb 8, 2025
a2125a3
Add Power sensor state class
ArnoutD Feb 8, 2025
2afd234
More stateclasses
ArnoutD Feb 8, 2025
ea07d7e
Add state_class for rtt
bouwew Feb 9, 2025
257421c
Add Stick as device, add via_device to all entity-configs
bouwew Feb 9, 2025
13b8959
Implement PlugwiseUSBConfigEntry
bouwew Feb 9, 2025
33c6ab7
Move registering of Stick
bouwew Feb 10, 2025
f1d3256
Link to a29
bouwew Feb 10, 2025
fa0be2b
Add missing config_entry argument
bouwew Feb 10, 2025
4304cac
Change
bouwew Feb 10, 2025
efbc4a1
Remove LOGGER
bouwew Feb 10, 2025
b5adc20
Correct via_device
bouwew Feb 12, 2025
65a5da2
Add connections to DeviceInfo
bouwew Feb 12, 2025
24265d2
Link to a30
bouwew Feb 12, 2025
bbf0f0f
Add hw_/sw_version for Stick
bouwew Feb 12, 2025
d519df5
Add missing model name
bouwew Feb 12, 2025
092df02
User api-name
bouwew Feb 13, 2025
d8e0b32
Adapt further to a31
bouwew Feb 13, 2025
7873b20
Link to a31
bouwew Feb 13, 2025
5732b32
Link to a32
bouwew Feb 13, 2025
cd5727f
Implement suggestion
bouwew Feb 13, 2025
227a5d8
Add docstring
bouwew Feb 13, 2025
47e3b77
Force strings for safety
bouwew Feb 13, 2025
bcd7156
Fix typos
bouwew Feb 13, 2025
bfea703
Sorted
bouwew Feb 13, 2025
080b095
Model_id can be None
bouwew Feb 13, 2025
664bcfa
Bump to a14
bouwew Feb 13, 2025
3fb63cc
Add cumulative production sensors
bouwew Feb 19, 2025
0ca5ee1
Link to a33, bump to a15
bouwew Feb 21, 2025
3cf3c94
Add translation-strings, translations for the added sensors
bouwew Feb 21, 2025
99ddd37
Bump to a16
bouwew Feb 21, 2025
4cd1932
Revert back to state_class TOTAL due to last_reset being present
bouwew Feb 21, 2025
f39b0f9
Bump to a17
bouwew Feb 21, 2025
8e14d1b
Remove invalid SensorStateClass for last_seen
bouwew Mar 2, 2025
67c9a0b
Bump to a18
bouwew Mar 2, 2025
5f44259
Link to a34
bouwew Mar 3, 2025
f9b37d8
Link to a60
bouwew Mar 24, 2025
c089fad
Bump to a19 test-version
bouwew Mar 24, 2025
5bf6a30
Link to backend a89, bump to a20
bouwew Apr 12, 2025
361ec59
Add available property to all entities
bouwew Apr 13, 2025
e3963b1
Update requirements_test for latest backend-version
bouwew Apr 13, 2025
0927b17
Improve
bouwew Apr 13, 2025
8cea9b4
Show device MAC address as serial_number as suggested
bouwew Apr 15, 2025
2001efb
Link to plugwise-usb v0.40.0b1, bump to a21
bouwew Apr 17, 2025
3c78862
Update link to plugwise_usb in requirements_test.txt
bouwew Apr 17, 2025
93a9df2
Fix core-testing.sh
bouwew Apr 18, 2025
5091a10
Fix pre-commit-config
bouwew Apr 18, 2025
873d475
Line up use of BRANCH
bouwew Apr 18, 2025
a9ec4aa
Pass enable/disable adding new entities
bouwew Apr 21, 2025
1b6c7ae
Link to plugwise_usb v0.40.0a90, bump to a22
bouwew Apr 21, 2025
e8a51f5
Link to a91
bouwew Apr 21, 2025
87b79b1
Set/reset accept_join_request down later
bouwew Apr 21, 2025
075795e
Use config_entry.async_create_background_task()
bouwew Apr 21, 2025
9847c80
Set accept_join_request after discover_nodes task has finished
bouwew Apr 21, 2025
5df0ee6
Improve comments
bouwew Apr 21, 2025
0a37faf
Import asyncio
bouwew Apr 21, 2025
5b8f5b8
Simplify
bouwew Apr 21, 2025
44e3f83
Try
bouwew Apr 21, 2025
832797e
Wait for network_discovered before calling allow_join_requests()
bouwew Apr 22, 2025
8e7056d
Link to a93
bouwew Apr 22, 2025
c9b4bc6
Import asyncio
bouwew Apr 22, 2025
03dcb98
Await asyncio_sleep()
bouwew Apr 22, 2025
e42c224
Fix F841 error
bouwew Apr 23, 2025
f457369
test-reqs: link to a93 too
bouwew Apr 23, 2025
8e43e6f
Link to a94
bouwew Apr 23, 2025
00ae598
Disable adding new entities, improve
bouwew Apr 23, 2025
82244d1
Update actions/setup-python
bouwew Apr 23, 2025
b513069
Link to a95
bouwew Apr 24, 2025
53f5015
Link to a96
bouwew Apr 25, 2025
59ec5e2
Link to a99
bouwew Apr 25, 2025
376670f
Add device_add/_remove services
bouwew Apr 25, 2025
6360148
Add missing awaits
bouwew Apr 25, 2025
332f59c
Move service-registering before discovering nodes
bouwew Apr 25, 2025
dba09be
Make use of boolean returns
bouwew Apr 26, 2025
2026e80
Update services-related code
bouwew Apr 26, 2025
850faec
Add config_entry update_listener
bouwew Apr 26, 2025
280f7e9
Add output typing
bouwew Apr 26, 2025
849bb55
Link to b105
bouwew Apr 26, 2025
e41d7c6
Don't set pref_disable_new_entities @init, unable to enable this way
bouwew Apr 26, 2025
02d6406
Set to a23 test-version
bouwew Apr 26, 2025
317e90a
Break-out remove_deleted_device() function
bouwew Apr 26, 2025
45013b4
unregister_node() does not return anything
bouwew Apr 26, 2025
7827334
Improve debug-message
bouwew Apr 26, 2025
4823611
Bump to a24
bouwew Apr 26, 2025
dda3227
device_remove(): add fault-handling
bouwew Apr 27, 2025
b5cca33
Link to a107
bouwew Apr 28, 2025
6000937
Link to a111
bouwew Apr 30, 2025
031aa83
Bump to a25
bouwew Apr 30, 2025
096dd52
Link to a112
bouwew Apr 30, 2025
f8f8b95
Add async_remove_config_entry_device() function
bouwew May 1, 2025
f2722e2
Block deletion of Stick and ZigBee coordinator
bouwew May 1, 2025
268fda1
Add device deletion
bouwew May 2, 2025
c840c6f
Improve logging
bouwew May 2, 2025
01aab12
More logging message improvements
bouwew May 2, 2025
b3cd102
Change to using set_accept_join_request()
bouwew May 4, 2025
729a895
Link to a113, bump to a26
bouwew May 5, 2025
52dc003
Bump to a27
bouwew May 5, 2025
6cb7fa6
Improve fault-handling for device-add service
bouwew May 7, 2025
43f289d
Link to a116
bouwew May 7, 2025
b920749
Bump to a28
bouwew May 7, 2025
152d773
Add try-excepts for auto-joining enable/disable
bouwew May 7, 2025
e046fa3
Link to a117, bump to a28
bouwew May 7, 2025
10c4b68
Fix
bouwew May 7, 2025
5c47049
Link to a118, bump to a30
bouwew May 9, 2025
d112aae
Link to a128, bump to a31
bouwew May 15, 2025
7caed56
Remove device-remove service, use the DELETE button instead
bouwew May 16, 2025
f36f0e6
Correct/simplify service function
bouwew May 16, 2025
af55a52
Clean up device-delete related
bouwew May 16, 2025
a36a19f
Link to a129, bump to a32
bouwew May 16, 2025
485c222
Delete unused import
bouwew May 16, 2025
1f79dfe
Adapt to backend changes
bouwew May 16, 2025
8e65a9f
Improve
bouwew May 16, 2025
0ed6e32
Link to a133, bump to a34
bouwew May 18, 2025
ff9fb63
Link to a136, bump to a35
bouwew May 20, 2025
840efdf
Debug, guard device-adding
bouwew May 20, 2025
4399ab0
Modify device-add() for testing
bouwew May 20, 2025
88b81a3
Adapt device_add() further
bouwew May 21, 2025
385c5ab
Replace device_add service by enable_auto_joining
bouwew May 21, 2025
6c1378d
Link to a139
bouwew May 21, 2025
5b12098
Add missing bracket
bouwew May 21, 2025
0dfbf72
Fix service-call
bouwew May 21, 2025
bac3ac9
Update strings and translation jsons
bouwew May 21, 2025
ba17ef2
Fix ident
bouwew May 21, 2025
498e8bf
Fix translations
bouwew May 21, 2025
cbf941b
Remove unused import
bouwew May 21, 2025
ed78e58
Bump to a36
bouwew May 21, 2025
403a550
Link to a140
bouwew May 21, 2025
ad6d830
Bump to a37
bouwew May 21, 2025
42ba5a0
Fix spelling mistake
bouwew May 21, 2025
49048ab
Link to plugwise_usb v0.40.0, bump to a38
bouwew May 25, 2025
bec3de3
Lint fix -typo
bouwew May 25, 2025
12797b1
Implement CodeRabbitAI suggestions
bouwew May 25, 2025
4e903a7
Remove unused function parameter hass
bouwew May 25, 2025
b310341
Update CHANGELOG
bouwew May 25, 2025
8c06c82
Improve/amend CHANGELOG
bouwew May 25, 2025
a8898f8
Implement CodeRabbitAI suggestions
bouwew May 25, 2025
c1c3ad1
Bump version to v0.50.0 release-version
bouwew May 25, 2025
721a8c5
Remove unused function parameter hass
bouwew May 25, 2025
34a987c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 25, 2025
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
58 changes: 58 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{
"name": "Python 3",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/python:3.12",
"features": {
"ghcr.io/devcontainers-contrib/features/pylint:2": {}
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "git config --global --add safe.directory /workspaces/plugwise_usb-beta && scripts/python-venv.sh && . .venv/bin/activate",
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
// Customizations
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.pylint",
"github.vscode-pull-request-github",
"ryanluker.vscode-coverage-gutters",
"ms-python.vscode-pylance",
"donjayamanne.python-extension-pack"
],
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
}
},
"files.eol": "\n",
"editor.tabSize": 4,
"python.pythonPath": "/usr/bin/python3",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update deprecated Python path setting.

The python.pythonPath setting has been deprecated in favor of python.defaultInterpreterPath.

-        "python.pythonPath": "/usr/bin/python3",
+        "python.defaultInterpreterPath": "/usr/bin/python3",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"python.pythonPath": "/usr/bin/python3",
"python.defaultInterpreterPath": "/usr/bin/python3",
🤖 Prompt for AI Agents
In .devcontainer/devcontainer.json at line 41, replace the deprecated setting
"python.pythonPath" with the new "python.defaultInterpreterPath". Update the key
to "python.defaultInterpreterPath" while keeping the value "/usr/bin/python3"
unchanged to ensure compatibility with the latest Python extension
configuration.

"python.analysis.autoSearchPaths": false,
// This makes sure the home assistant types are loaded into the editor
"python.analysis.extraPaths": [
"/home/vscode/.local/lib/python3.12/site-packages/"
],
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "ruff",
Comment on lines +47 to +49
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update deprecated Python linting and formatting settings.

The Python extension has deprecated these linting and formatting settings in favor of language server configurations and separate formatter extensions.

-        "python.linting.pylintEnabled": true,
-        "python.linting.enabled": true,
-        "python.formatting.provider": "ruff",
+        "python.analysis.autoImportCompletions": true,
+        "[python]": {
+          "editor.defaultFormatter": "charliermarsh.ruff",
+          "editor.codeActionsOnSave": {
+            "source.organizeImports": true
+          }
+        },

Note: This assumes the Ruff VS Code extension (charliermarsh.ruff) is added to the extensions list.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "ruff",
"python.analysis.autoImportCompletions": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
🤖 Prompt for AI Agents
In .devcontainer/devcontainer.json around lines 47 to 49, the Python linting and
formatting settings use deprecated keys. Replace "python.linting.pylintEnabled"
and "python.linting.enabled" with the recommended language server
configurations, and remove "python.formatting.provider" since formatting should
be handled by the Ruff VS Code extension. Also, ensure the "charliermarsh.ruff"
extension is included in the extensions list to enable Ruff formatting and
linting properly.

"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
}
}
},
"appPort": 8123
}
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Autodetect text files
* text=auto eol=lf

# ...Unless the name matches the following
# overriding patterns

# Definitively text files
*.py text
*.sh lf
Comment on lines +8 to +9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix invalid .gitattributes attribute for shell scripts
The line *.sh lf uses an unsupported attribute lf. To enforce LF line endings for .sh files, combine text with eol=lf.

Proposed fix:

-*.sh lf
+*.sh text eol=lf
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
*.py text
*.sh lf
*.py text
-*.sh lf
+*.sh text eol=lf
🤖 Prompt for AI Agents
In the .gitattributes file at lines 8 to 9, the attribute `lf` used for `*.sh`
files is invalid. Replace `*.sh lf` with `*.sh text eol=lf` to correctly enforce
LF line endings for shell scripts.

33 changes: 11 additions & 22 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Test against HA-core (master/released)
name: Test against HA-core using pytest-homeassistant-custom-component

env:
CACHE_VERSION: 10
Expand All @@ -18,35 +18,24 @@ jobs:
# Prepare default python version environment
ha-core-prepare:
runs-on: ubuntu-latest
name: Setup for HA-core (release)
name: Setup for HA-core
steps:
- name: Check out committed code
uses: actions/[email protected]
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5
uses: actions/setup-python@v5.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base HA-core Python ${{ env.DEFAULT_PYTHON }} environment
id: cache-hacore
uses: actions/cache@v4
env:
cache-name: cache-hacore
with:
path: ./
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-hacore-${{
steps.python.outputs.python-version }}-${{
hashFiles('./custom_components/plugwise_usb/manifest.json') }}-${{
hashFiles('./ha-core/.git/plugwise-tracking') }}
restore-keys: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-hacore-${{ steps.python.outputs.python-version }}-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-hacore
${{ env.CACHE_VERSION}}-${{ runner.os }}
${{ env.CACHE_VERSION}}
- name: Test through HA-core (master/release)
- name: Prepare virtual env for testing
run: |
scripts/setup_test.sh
- name: Test
run: |
scripts/tests_and_coverage.sh test_and_coverage
- name: Quality
run: |
GITHUB_ACTIONS="" BRANCH="master" scripts/core-testing.sh
scripts/tests_and_coverage.sh linting

shellcheck:
name: Shellcheck
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@ __pycache__
.vscode
ha-core
venv
.venv
build
dist
*.egg-info
*.sedbck
*.swp
*.rej
*.orig
manual_clone_ha
.coverage
14 changes: 12 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,18 @@

## Versions from 0.4x

### Ongoing

### v0.50.0

- Link to plugwise_usb v0.40.0 - fully reworked [async version](https://github.com/plugwise/python-plugwise-usb/releases/tag/v0.40.0)
- Rework custom_component code to async
- Replace `device-add` service by `enable auto-joining` service
- Remove device-remove service, remove a device via its DELETE-button (shown in HA)
- Import and use DeviceInfo, add the Stick as the `via_device`, the other devices are linked to the Stick
- Implement a [HA Core improvement](https://github.com/home-assistant/core/pull/138039)
- Add support for devices showing energy production data
- Add initial support for Scan and Sense (untested - please test if you have such devices)
- Bump python to `3.13`
- Add/improve test-code
- Fix `pre-commit` `prettier` (replace with `biome`)
- Fix python`3.12` compatibility, use of `uv` and improved ha-core handling from `plugwise-beta`
- TODO: running hasfest with `--requirements` takes forever (apparently checking all), skipped it for now
Expand Down
Loading