Skip to content

Fix bioclimatic, Fix local api, fix pyoverkiz usage, ci tests - #15

Open
mikopp wants to merge 12 commits into
pzim-devdata:mainfrom
mikopp:main
Open

mikopp wants to merge 12 commits into
pzim-devdata:mainfrom
mikopp:main

Conversation

@mikopp

@mikopp mikopp commented Aug 2, 2026 •

Copy link
Copy Markdown

This pull request introduces several improvements to the project, focusing on CI/CD automation, dependency management, documentation, and some codebase refactoring. The main highlights are the addition of GitHub Actions for automated testing, Dependabot for dependency updates, expanded documentation, and code cleanup in get_devices_url.py.

** Direct new features **

  • Add support for bioclimatic pergolas with slats. Test at open/close/my/NUMBER.
  • added local support for getlist (was not working). Tested
  • made fixes so --remote and --local are explici. Tested local and remote path working
  • updated to latest pyoverkiz. Tested working.

CI/CD and Dependency Management:

  • Added a GitHub Actions workflow (.github/workflows/ci.yml) to automatically run linting and unit tests with multiple Python versions on pull requests and pushes to main.
  • Introduced Dependabot configuration (.github/dependabot.yml) to enable weekly checks for pip dependency updates.

Documentation Improvements:

  • Added a comprehensive CLAUDE.md file explaining the project structure, device categories, local vs. cloud API usage, and recommended testing workflow.
  • Updated download links in both README.md and README_FR.md to use relative paths, improving portability for forks and mirrors.

Codebase Refactoring and Cleanup:

  • Refactored get_devices_url.py by removing unused imports, switching to a new tahoma_config for configuration loading, and cleaning up legacy code related to server selection.
  • Fixed a minor logic issue in the stats update flow by removing an unnecessary assignment.

mikopp and others added 12 commits August 2, 2026 09:39
Deletes the hand-copied pyoverkiz/ directory (was shadowing the real
pip dependency already declared in requirements.txt) and migrates all
call sites to the current published API:

- OverkizClient now takes keyword-only credentials=/server= built from
  UsernamePasswordCredentials/LocalTokenCredentials and ServerConfig
- Command is attrs kw_only=True, so all constructions need name=/parameters=
- execute_command -> execute_action_group(actions=[Action(...)])
- execute_scenario -> execute_persisted_action_group
- cancel_command -> cancel_execution
- get_scenarios -> get_action_groups, Scenario -> PersistedActionGroup
- Device.id -> Device.device_url, Gateway.id -> Gateway.gateway_id
- NotAuthenticatedException -> NotAuthenticatedError

Also pins pyoverkiz==2.1.0 in both requirements files and adds
.github/dependabot.yml (pip, weekly) to track future releases.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
pyoverkiz>=2.0 requires Python >=3.12, so 3.11 can never install the
real dependency.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fix readme to point to relative path of the file instead of absolute …
@pzim-devdata

Copy link
Copy Markdown
Owner

Hello @mikopp,

Thank you for the substantial work on this pull request. Your improvements — local API support, CI/CD automation, pyoverkiz refactoring — are clearly valuable.

A note on collaboration:

I am not experienced with collaborative pull request workflows. Auditing your 12 commits thoroughly is beyond my capacity right now, and I prefer to preserve the current codebase as-is (v3.0.3) without potential risks of regression or corruption.

Suggestions for continuation:

You may consider creating your own repository with a new name, such as:

  • tahoma-Reborn (a well-recognized convention for open-source projects that continue after original maintainers step back)

It would also be helpful to clearly indicate in your README that this project is a fork of tahoma by pzim-devdata, to maintain attribution and give users context about its origins.

Additionally, you might explore publishing your own package on PyPI (for example tahoma-reborn) to facilitate installation and allow users to distinguish between versions easily.

My commitment to you:

If you proceed with this approach, I would be willing to:

  1. Keep this repository active and accessible — it continues to serve v3.0.3 users
  2. Add a prominent link at the top of my README pointing to your project
  3. Mention that an actively maintained version exists elsewhere
  4. Redirect users seeking new features or bug fixes to your repository

This arrangement could benefit everyone:

  • Existing users retain access to the stable v3.0.3 release
  • New users are guided toward your actively maintained fork
  • You gain full ownership, distribution via PyPI, and development freedom

Please feel free to let me know if this direction works for you, or share any other ideas you may have.

Best regards,
pzim-devdata

@pzim-devdata

pzim-devdata commented Aug 2, 2026 •

Copy link
Copy Markdown
Owner

here is what I could post on my README :

Tahoma CLI - Command Line Interface for Somfy Tahoma


🔗 Actively Maintained Fork

This project (v3.0.3) remains functional and available.

For active development, bug fixes, and new features, you may wish to explore:

→ tahoma-reborn by @mikopp (link pending)

(Note: This project is a fork of taHoma by pzim-devdata)

Also available on PyPI: pip install tahomareborn (pending publication)

@mikopp

mikopp commented Aug 2, 2026

Copy link
Copy Markdown
Author

hi @pzim-devdata ,

Thank you for the offer, but I won't be a regular user of this program, as I mostly use overkiz via home assistant. I really just did this because I wanted to access some manufacture data.

So I would be willing to break smaller things out of this if you want to accept them, but I don't really intend to be a maintainer for this.

the actual changes are not that big to be honest

  • the pyoverkiz directory was simply not needed, removing it makes your program work with the pip installed version
  • the getlist didn't work for local (one commit), honestly local was not really working.
  • bio climatic pergolas have a different widgits and weren't considered (one commit)
  • and then I wanted the code duplication on getlist and tahoma refactored (old programmer habbit ;).

the ci tests were really to ensure things don't break when somebody opens a pr - so to make the review burden lighter.

So if you want any of that, tell me, otherwise I am ok if you close the PR ;).

@pzim-devdata

Copy link
Copy Markdown
Owner

Hello @mikopp,

Thank you for your transparency — I appreciate it.

My position:

I don't have time right now to dedicate to modifying and publishing a new version of taHoma CLI. This means:

  • No merge of this PR in the near term
  • No v3.0.4 release planned soon
  • Limited review capacity for any future changes

What I will do:

  1. Leave this pull request open and active — I will not close it
  2. Your commits remain visible on GitHub, accessible to anyone interested
  3. The codebase stays as-is at v3.0.3 until circumstances change

What you may do:

  • Your fork with all 12 commits remains yours to maintain or repurpose
  • Should you create a separate project (taHoma-Reborn or similar), I will happily link to it from my README
  • You can reuse specific commits for other purposes without constraint

Bottom line:

No action needed from either of us right now. The PR stays open without pressure. If the situation evolves in the future, we can revisit.

On the CLAUDE.md file you created:

It's an interesting choice — this file guides Claude Code specifically during development. If you'd like broader AI discoverability across all language models, you could also add a llms.txt file at the repo root, following the spec at llmstxt.org. But this remains entirely optional depending on your priorities.

Thanks again for your effort and understanding.

Best regards,
pzim-devdata

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants