jaybz / TP-HomeAssistant

Home Assistant plugin for Touch Portal
MIT License
23 stars 1 forks source link

Code rewrite #20

Open jaybz opened 2 years ago

jaybz commented 2 years ago

TouchPortalAPI is no longer being maintained by the original dev. I have considered either writing my own C# API Library or taking over maintenance of TouchPortalAPI through my fork, however, this also presents an opportunity to just re-write the code using a language that is more portable than C#.

So what does this mean for the current version? With the exception of #18, I will still be work on fixing bugs in the older version up until I get feature parity with the new version. New features will likely not get implemented on either version until I achieve feature parity unless the feature is necessary to address usability issues.

What does this mean for the re-written version? Switching to the re-written version may be a bit more involved than just upgrading the plugin. I will try to make the switch as painless as possible, but I can't make any guarantees. The new version will also be useless for most people until I achieve feature parity between the two versions. That said, I would prefer if people helped test the re-written version to make sure that it is as bug free as possible. I will also be using a programming language that is more portable than C# currently is. This may allow the plugin to work on Macs, but this is by no means a commitment to officially support platforms other than Windows.

When will the re-written version be released? When it is done. I've been quite busy as of late and I don't really know how much time I will be able to spend on this. I also want to spend time thinking about how everything will come together instead of just starting to write code and seeing where that gets me. Hopefully, the more thoughtful approach will mean that it will be easier for me to maintain the re-written version.

GiladShoham commented 2 years ago

Hi, I'm Gilad, I'm highly involved in OSS projects (just see my profile), and in the HA community as well (I even host a podcast and a blog about it - it's in Hebrew so probably not relevant for you). Anyway, if you want to start a new project to re-write this plugin using Node.js using this touch portal API for example, I can definitely help. I plan to start working on this anyway, but better to do it together:) (I'm also using mac, so I really need it to work on mac) Let me know what you think Have a great day!

jaybz commented 2 years ago

Hi @GiladShoham. I appreciate the offer, however, I can't really make any time commitments for the project at the moment. It wouldn't feel right for me to work as a part of a team without committing any time to actually do any work.

As for getting the plugin to work on a Mac, it may be possible to get it to work via Mono with some modifications to the .tp file. I believe Mono even works on M1 Macs via Rosetta. Since I don't have a Mac myself, I can't really try it out though. I do suspect this might be a faster way to get the plugin to work on a Mac. That said, it seems clunky so rewriting to Node.js or Java is likely going to be easier to support down the line.

GiladShoham commented 2 years ago

Thanks for the honest response. In that case I would start my own project. I would try to make something similar to what you did (and hopefully can add even more features). I'm not sure about my availability for this as well. So I'll take my time. Anyway I will put a link to this project as a source of inspiration and the reasons I have started a new one. If at any time in the future you will want to contribute, even small stuff, feel free:)

GiladShoham commented 2 years ago

I'm going to put my work here - https://github.com/GiladShoham/TouchPortal-HomeAssistant/blob/main/README.md feel free to jump in any time in the future:) Thanks!