diff --git a/.devcontainer.linux.json b/.devcontainer.linux.json new file mode 100644 index 0000000..cc46d2c --- /dev/null +++ b/.devcontainer.linux.json @@ -0,0 +1,61 @@ +{ + "name": "gazoodle/gecko-home-assistant", + "image": "mcr.microsoft.com/devcontainers/python:3.13", + "postCreateCommand": "scripts/setup", + "forwardPorts": [ + 8123 + ], + "portsAttributes": { + "8123": { + "label": "Home Assistant", + "onAutoForward": "notify" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "charliermarsh.ruff", + "github.vscode-pull-request-github", + "ms-python.python", + "ms-python.vscode-pylance", + "ryanluker.vscode-coverage-gutters" + ], + "settings": { + "files.eol": "\n", + "editor.tabSize": 4, + "editor.formatOnPaste": true, + "editor.formatOnSave": true, + "editor.formatOnType": false, + "files.trimTrailingWhitespace": true, + "python.analysis.typeCheckingMode": "basic", + "python.analysis.autoImportCompletions": true, + "python.defaultInterpreterPath": "/usr/local/bin/python", + "[python]": { + "editor.defaultFormatter": "charliermarsh.ruff" + } + } + } + }, + "remoteUser": "vscode", + "features": { + "ghcr.io/devcontainers-extra/features/apt-packages:1": { + "packages": [ + "ffmpeg", + "libturbojpeg0", + "libpcap-dev" + ] + } + }, + "runArgs": [ + "-v", + "${env:HOME}${env:USERPROFILE}/.ssh:/tmp/.ssh", + "--mount", + "type=bind,source=/media/psf/Home/Documents/Source/geckolib/src/geckolib,target=/usr/local/lib/python3.13/site-packages/geckolib,readonly", + "--mount", + "type=bind,source=/media/psf/Home/Documents/Source/geckolib,target=/usr/src/geckolib", + "--add-host", + "spa=10.1.209.91", + "--add-host", + "udpspa=10.1.205.154" + ] +} \ No newline at end of file diff --git a/.devcontainer.macos.json b/.devcontainer.macos.json new file mode 100644 index 0000000..c6e8a94 --- /dev/null +++ b/.devcontainer.macos.json @@ -0,0 +1,61 @@ +{ + "name": "gazoodle/gecko-home-assistant", + "image": "mcr.microsoft.com/devcontainers/python:3.13", + "postCreateCommand": "scripts/setup", + "forwardPorts": [ + 8123 + ], + "portsAttributes": { + "8123": { + "label": "Home Assistant", + "onAutoForward": "notify" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "charliermarsh.ruff", + "github.vscode-pull-request-github", + "ms-python.python", + "ms-python.vscode-pylance", + "ryanluker.vscode-coverage-gutters" + ], + "settings": { + "files.eol": "\n", + "editor.tabSize": 4, + "editor.formatOnPaste": true, + "editor.formatOnSave": true, + "editor.formatOnType": false, + "files.trimTrailingWhitespace": true, + "python.analysis.typeCheckingMode": "basic", + "python.analysis.autoImportCompletions": true, + "python.defaultInterpreterPath": "/usr/local/bin/python", + "[python]": { + "editor.defaultFormatter": "charliermarsh.ruff" + } + } + } + }, + "remoteUser": "vscode", + "features": { + "ghcr.io/devcontainers-extra/features/apt-packages:1": { + "packages": [ + "ffmpeg", + "libturbojpeg0", + "libpcap-dev" + ] + } + }, + "runArgs": [ + "-v", + "${env:HOME}${env:USERPROFILE}/.ssh:/tmp/.ssh", + "--mount", + "type=bind,source=/Users/gary/Documents/Source/geckolib/src/geckolib,target=/usr/local/lib/python3.13/site-packages/geckolib,readonly", + "--mount", + "type=bind,source=/Users/gary/Documents/Source/geckolib,target=/usr/src/geckolib", + "--add-host", + "spa=10.1.209.91", + "--add-host", + "udpspa=10.1.205.154" + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 1e1ff83..2f5d321 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ # Version History +## v0.1.24 + - Bump geckolib to 1.0.6 to handle bubble generator issues + - Fix platorm loading bug that caused errors in log file during start-up + ## v0.1.23 - Bump geckolib to fix DIV/0 diff --git a/config/configuration.yaml b/config/configuration.yaml index c97e8da..4dc2d7d 100644 --- a/config/configuration.yaml +++ b/config/configuration.yaml @@ -1,11 +1,6 @@ # https://www.home-assistant.io/integrations/default_config/ -# For gecko development, we only need a small subset -config: -history: -logbook: -stream: -notify: -homeassistant_alerts: +# Example configuration.yaml entry +default_config: # https://www.home-assistant.io/integrations/homeassistant/ homeassistant: diff --git a/custom_components/gecko/manifest.json b/custom_components/gecko/manifest.json index 447df88..06a953f 100644 --- a/custom_components/gecko/manifest.json +++ b/custom_components/gecko/manifest.json @@ -10,7 +10,7 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/gazoodle/gecko-home-assistant/issues", "requirements": [ - "geckolib==1.0.5" + "geckolib==1.0.6" ], - "version": "0.1.23" + "version": "0.1.24" } \ No newline at end of file diff --git a/custom_components/gecko/spa_manager.py b/custom_components/gecko/spa_manager.py index 31df795..d7b4b87 100644 --- a/custom_components/gecko/spa_manager.py +++ b/custom_components/gecko/spa_manager.py @@ -106,7 +106,8 @@ async def load_platforms(self) -> None: def platform_loaded(self, platform: str) -> None: """Call when a platform has loaded.""" - self.platforms.append(platform) + if platform not in self.platforms: + self.platforms.append(platform) async def reload(self) -> None: """Reload the platforms.""" diff --git a/requirements.txt b/requirements.txt index dc44d60..e0750b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ colorlog==6.9.0 -homeassistant==2025.1.2 +homeassistant==2025.2.4 pip>=21.3.1 ruff==0.9.6