nitaybz / homebridge-sensibo-ac

Homebridge plugin for Sensibo - Smart AC Control
GNU General Public License v3.0
70 stars 15 forks source link

Added typing hints and type checking across the board + implementation of "RepeatClimateReactAction" feature #136

Open seidnerj opened 6 months ago

seidnerj commented 6 months ago

I was working on a small feature but got carried away and eventually typed and introduced type checking for almost the entire project (but unfortunately did not do any work on the original feature I had planned, oh well...). This took a while... BUT - I believe everything is working properly. I can't be sure though since I couldn't test everything given I do not have all the types of devices the plugin supports.

The great thing about this change, is that when one uses VSCode, pretty much everything is typed which really really helps avoiding mistakes, and hence prevents introducing bugs. I guess the next step is just move everything to TypeScript but we'll leave this for the future.

@benwebbbenwebb @nitaybz I realize validating this PR is going to be a lot of work, but I hope it'll get merged since it should make working on, developing and improving this plugin much much (!) easier.

I'm currently in the testing phase, but thought it made sense to already share this while I complete the testing to the best of my ability.

Thanks in advance!

benwebbbenwebb commented 5 months ago

Hi @seidnerj

Let me know when you have (mostly) finished - I’ve seen you make some additional updates every week or so - and I’ll start to review the changes.

seidnerj commented 5 months ago

Hey @benwebbbenwebb, I've been running this version for a while now. Everything (that I can test) seems to work as expected. I don't own all types of devices so can't test everything. Apart from that, looks like it's ready for prime time 🙂

seidnerj commented 4 months ago

I addressed all issues except ones where I added a comment. Please take a look.

seidnerj commented 4 months ago

Sure - will take a look when I have a bit of time.

seidnerj commented 4 months ago

I think I addressed everything either directly or indrectly, lmk if you have any questions.

seidnerj commented 3 months ago

Hey @benwebbbenwebb, I'm not sure when I'll get to this, I'm swamped at the moment, will work on this when I can. Sorry!

benwebbbenwebb commented 3 months ago

No worries at all @seidnerj, I totally understand as I’m often the same!

And sorry for the pushback, I’m being quite cautious as I don’t want to introduce any issues that may then take more time to hunt down (when we are busy with other things).

seidnerj commented 3 months ago

No worries at all, I just didn't expect this up this much time - I am currently using this version without any real issues on my end, but then again - I don't use every single feature. I completely understand your stance, I just don't have the time at the moment to work on it. Hopefully in a few weeks. Will update when I can.