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

[HELP WANTED]: Tester(s) and maintainer(s) needed #67

Closed
CoMPaTech opened this issue Sep 5, 2023 · 26 comments
Closed

[HELP WANTED]: Tester(s) and maintainer(s) needed #67

CoMPaTech opened this issue Sep 5, 2023 · 26 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@CoMPaTech
Copy link
Member

CoMPaTech commented Sep 5, 2023

β›”πŸš© Help wanted πŸš©β›”

As a team we have been unable to maintain communications with the main tester and developer for the USB legacy devices. If you want to help us maintain the USB code by joining (or reaching out to @brefra) contact us through this issue.

Warm welcome to @dirixmjm who joined efforts on the USB side as of December 2023. Welcome to the team!

@CoMPaTech CoMPaTech added bug Something isn't working help wanted Extra attention is needed and removed bug Something isn't working labels Sep 5, 2023
@CoMPaTech CoMPaTech assigned CoMPaTech and brefra and unassigned CoMPaTech Sep 5, 2023
@CoMPaTech CoMPaTech pinned this issue Sep 6, 2023
@ArnoutD
Copy link

ArnoutD commented Sep 6, 2023

@brefra, @CoMPaTech I am using the usb stick on my (production) homeassistant for a few years now. If you can help me how to setup a dev hass instance for development/testing of this module I can help you test/maintain it.

@brefra
Copy link
Contributor

brefra commented Sep 10, 2023

Just to let you know, I'm still around but unfortunately less active and involved as people would like to see. Sorry about that.
A long time ago I already started to (re)write the backend library to kind of resolve most of the current performance issues, especially for larger setups or when the communication is less stable.
Due to the minimal spare time I have this will take some more time.

@CoMPaTech
Copy link
Member Author

@brefra good to hear from you again, glad you are still with us - as life has priority I'd suggest we still leave this open to have another maintainer on the USB side of the project? If you can get in touch with @ArnoutD in the meantime so USB has another tester that would be great.

For those new to our repositories, I'm one of the maintainers but unfortunately have no USB hardware to functionally test, if we have someone able to write proper tests this would make the code better maintainable.

@supermarcie
Copy link

I still using the USB stick, if you like I can help you with testing.

@CoMPaTech
Copy link
Member Author

@supermarcie highly welcome on behalf of the community

@brefra I've modified the team/codeowners setup as to limit the amount of notifications/emails (saving precious time on your behalf I hope)

@joostwestra
Copy link

I have quite a big plugwise system. And some experience from OpenHab and other development on plugwise. Could help with testing and coding.

@mvdwetering
Copy link
Contributor

FYI, I am planning to look deeper into the memory issues I am facing (see issue tracker) and data being dropped after some time, but realisticly not before November.

@Laphroaig79
Copy link

I’m also a user of quite some plugwise circles with the usb stick in home assistant. Would love to help testing not much of a help if it comes to coding a’m afraid.

@joostwestra
Copy link

I think part of the problem is that some of timeout are just too tight for a bigger system (that needs to go over multiple hops)

@danmattsson
Copy link

Hi all - I have a big box of Plugwise sticks, plugs, switches and circles that I have inherited. Unfortunately I haven't been able to get it to run on HA - if there's anything I can do to assist I'd be happy to help, including coding and testing. Afraid there might be some hurdles to get over as I'm no HW dev and - as previously noted - not been able to even get it to run... 😬
If someone has the actual documentation for the legacy products and is able to get it online, that would be a start.

@dirixmjm
Copy link
Contributor

Hi all - I have a big box of Plugwise sticks, plugs, switches and circles that I have inherited. Unfortunately I haven't been able to get it to run on HA - if there's anything I can do to assist I'd be happy to help, including coding and testing. Afraid there might be some hurdles to get over as I'm no HW dev and - as previously noted - not been able to even get it to run... 😬 If someone has the actual documentation for the legacy products and is able to get it online, that would be a start.

Probably you need to start with using the original software and check if the sticks and circles have the latest firmware.

@dirixmjm
Copy link
Contributor

dirixmjm commented Dec 22, 2023

In a nutshell, the main issue I am facing is that the stick gets flooded when there are plugs in the network with spotty connectivity. Basically what starts to happen is that the information requests get repeated (retries) as well as new requests are added to those plugs. As a result the outstanding messages start piling up in the sticks memory which slows down the stick communication, and as a result the reply messages back to the controller get so much delayed that the controller already timed out the messages and starts saying those replies unexpected.

By tuning message_time_out and message_retry constants you can see some improvements, but so far I have not been able to get it working stable. At some point the stick is just congested.

For months now it is my intention to dive into it myself but I am a Python novice and this backend is probably not the easiest to start. I am also wondering about the best approach here. Initially I am thinking that
(a) Somehow it is not working out well to mark spotty connected plugs as unreachable. I need to investigate why this is not happening
(b) Somehow we need to mark spotty connected plugs and ratelimit the requests to that stick
(c) Create an overall rate limit messages sent to the stick.

Any ideas and thoughts are welcome.

@CoMPaTech
Copy link
Member Author

CoMPaTech commented Dec 24, 2023

@ArnoutD

@brefra, @CoMPaTech I am using the usb stick on my (production) homeassistant for a few years now. If you can help me how to setup a dev hass instance for development/testing of this module I can help you test/maintain it.

It would be best to check this with @brefra though @ArnoutD to ensure everything is aligned between maintainers. As an upcoming post will depict, I'm still willing to help out, but not on actual code.

If you want to test the waters, feel free to clone the repository on a machine with (preferably) python 3.12 (or 3.11 for the module, see both issues #107 here and in the module repo (coincidence that the numbers are equal). It 'should work' when you clone the repo, and just run scripts/setup.sh or python3.12 -m venv venv followed by setup.sh if you have multiple python versions available. From there you should be able to run scripts/core-testing.sh showing 'all green'. The testing script is also ran by pre-commit so if you git commit it should pick up any problems beforehand.#104

(And apologies for the late reply, but as also depicted in the upcoming post, my focus is not on the code as it's lacking maintenance)

@CoMPaTech
Copy link
Member Author

CoMPaTech commented Dec 24, 2023

To all following this thread + afterthought dec 28th; we misread 3.12 on HA-Core it is not (yet) required (but will be at some time)
Just interjecting here that the wheels are still on the bus, but they need some TLC soon (before falling off). I've just (as per upstream) removed black from both USB repositories (i.e. this one and the module one), but as the code was due for quality before and definitely is now I also disabled other quality checks to ensure the process for chore maintenance (i.e. through renovate) still keeps running. This took about 2 hours tonight to get everything going again and I'm not sure next time will be quicker or more work with the stale condition of the actual code.

Be aware though that (testable) compatibility with python 3.12 (module remains at 3.11, the component is run against 3.12) and could become an issue for newer versions of HA.
Also this would be one of the final efforts, besides bumping the build-cache every now and then until we have a new (preferably set of) (additional) maintainer(s) besides @brefra.
I'd still be willing to help out on the quality parts and keeping the wheels greased, but won't be coding as I have no hardware to test it against nor does the code have the appropriate testing in place to be able to virtually ensure functionality.

@dirixmjm
Copy link
Contributor

To all following this thread Just interjecting here that the wheels are still on the bus, but they need some TLC soon (before falling off). I've just (as per upstream) removed black from both USB repositories (i.e. this one and the module one), but as the code was due for quality before and definitely is now I also disabled other quality checks to ensure the process for chore maintenance (i.e. through renovate) still keeps running. This took about 2 hours tonight to get everything going again and I'm not sure next time will be quicker or more work with the stale condition of the actual code.

Be aware though that (testable) compatibility with python 3.12 (module remains at 3.11, the component is run against 3.12) and could become an issue for newer versions of HA. Also this would be one of the final efforts, besides bumping the build-cache every now and then until we have a new (preferably set of) (additional) maintainer(s) besides @brefra. I'd still be willing to help out on the quality parts and keeping the wheels greased, but won't be coding as I have no hardware to test it against nor does the code have the appropriate testing in place to be able to virtually ensure functionality.

I'm happy to support this effort, however I'll need some help getting started because I don't think I understand what any of the above means. I'll start with try the contents of your former message.

@CoMPaTech
Copy link
Member Author

CoMPaTech commented Dec 25, 2023

@dirixmjm and others; firstly: merry x-mas

I'm happy to support this effort, however I'll need some help getting started because I don't think I understand what any of the above means. I'll start with try the contents of your former message.

If started a very rough (and not intentionally scary, though it might be) write-up at Content moved to https://github.com/plugwise/plugwise-generic/wiki not to further dilute this issue. (I'll probably re-edit the start post a couple of times while at it, just know it's there a a starting point)

@joostwestra
Copy link

I might dive into it as well. Thanks for the write-up @CoMPaTech

@ArnoutD
Copy link

ArnoutD commented Dec 28, 2023

@ArnoutD

@brefra, @CoMPaTech I am using the usb stick on my (production) homeassistant for a few years now. If you can help me how to setup a dev hass instance for development/testing of this module I can help you test/maintain it.

It would be best to check this with @brefra though @ArnoutD to ensure everything is aligned between maintainers. As an upcoming post will depict, I'm still willing to help out, but not on actual code.

If you want to test the waters, feel free to clone the repository on a machine with (preferably) python 3.12 (or 3.11 for the module, see both issues #107 here and in the module repo (coincidence that the numbers are equal). It 'should work' when you clone the repo, and just run scripts/setup.sh or python3.12 -m venv venv followed by setup.sh if you have multiple python versions available. From there you should be able to run scripts/core-testing.sh showing 'all green'. The testing script is also ran by pre-commit so if you git commit it should pick up any problems beforehand.#104

(And apologies for the late reply, but as also depicted in the upcoming post, my focus is not on the code as it's lacking maintenance)
@CoMPaTech ... I contacted @brefra in september but was waiting for him to publish his asyncio branch not to start with ending up in a merge conflict.... will read through your #109 to get a development environment up and running. My HA instance will start failing after 2023.12 then as well as far as I am now suspecting, so I will look on how to at least make it 2024.01 compatible

@CoMPaTech
Copy link
Member Author

@ArnoutD well, the python3.12 thingy was (too) ambitious as we just found out on the 'Smile' side, but eventually Core will drop 3.11. So while premature we might indeed still need to catch up at some point. @dirixmjm is trying his first PR now so that is good news for everyone. As per his https://github.com/brefra personal page there is some activity latest mid October but you might want to DM or ping, maybe there is something to share and to pick up from. Unfortunately we do not have more information than you have at this time (i.e. the September response and status).

@bouwew
Copy link
Contributor

bouwew commented Dec 29, 2023

I've created a test-version of the plugwise-usb backend with the changes proposed by @dirixmjm.

You can switch to using this test-version by updating the plugwise-usb version in the plugwise_usb-beta custom_component by changing the version-number in the manifest-json file from 0.31.0 to 0.31.1b0.
Save the updated file and then restart HA Core.

In my case the update does not seem to break anything (yet), all devices are up and I can switch the Circles (8, plus a Stealth M+)

I'll create a separate discussion for sharing your results: #110

@herwinjan
Copy link

Hi, how can I check if I have te right component?
Not all my devices are online now after the change to 0.31.1b0 and a restart.

@bouwew
Copy link
Contributor

bouwew commented Dec 29, 2023

I can take a while before all devices are back online, inherent to Zigbee :)

How can you check: look at the contents of the manifest.json-file after the restart.
If the version of plugwise-usb is still 0.31.1b0 then your good.

@bouwew
Copy link
Contributor

bouwew commented Dec 29, 2023

Please, let's discuss further here: #110

@CoMPaTech
Copy link
Member Author

CoMPaTech commented Dec 30, 2023

Just as a heads-up; Warm welcome to @dirixmjm who joined efforts on Plugwise USB projects (both as maintainer and tester. Welcome to the team!

We'll leave the issue open/up for now for other enthusiasts to join in (either just testing or also becoming a maintainer). Feel free to look at our https://github.com/plugwise/plugwise-generic/wiki for more insides.

@CoMPaTech
Copy link
Member Author

@ArnoutD also joined - with that, the USB project is steaming ahead, should we close this issue for now?

@CoMPaTech CoMPaTech unpinned this issue Feb 1, 2024
@dirixmjm
Copy link
Contributor

dirixmjm commented Feb 1, 2024

Ok for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests