Jump to content

I am open to the use of my code!


Recommended Posts

Hello All!

 You can run plugins not available on the public stores with the developers permission as a developer.  
Sign up as a developer point at some code on GitHub, assign it to your local plugin store and run it as a plugin, Locally.

if you want with my code you will have to ask then i will make a private video on how to add a Plugin to all stores. I enjoy teaching others!

If you learn some Python (took me two years) then you can write Plugins also!

If you want any of my Plugins to have and to practice development on, simply ASK my permission! Loading them as a local plugin doesn't change any code so its relatively safe or Clone/zip the code and HACK away!

It is terrible! i hate to let people down, however i will not let that drag me down. 
I cannot release tuya for sale, however with an MIT license you can run it as non-commercial developer as this is what Python Module TinyTuya does. You will need to load pulsar first to tell you which to use.

Tuya:

PULSAR:  https://github.com/sjpbailey/udi-tuya-poly-pulsar-api-v3

LED SWITCHES: https://github.com/sjpbailey/udi-poly-tuya-cloud-ver1-v3,

RELAYS: https://github.com/sjpbailey/udi-tuya-poly-relay-api-v3,

PIR BATTERY: https://github.com/sjpbailey/udi-tuya-poly-pir-api-v3

CURTAIN: https://github.com/sjpbailey/udi-tuya-poly-curtain-prod-v3

ROBOT SWEEPER: https://github.com/sjpbailey/udi-tuya-poly-robotvacuum-api-v3

Enphase: needs development I dropped it as they charged me for their API service!  https://github.com/sjpbailey/udi-enphaseII-poly-master-v3

@kzboray can you pass this along! Anyone with or wants become a developer i will share my code as long as nothing is sold or changed.
If you ask Michel maybe he will let me put it on the non-production as is, no further device adds.
OR Until someone asks TUYA for rights.

Steve

 

  • Like 1
Link to comment

I am a new developer now how do i add a plugin?
If you have permission and are a new UDI developer, this is how you add a plugin to the local store, visually.

 So you do not have to know how to code to become a developer.  
Once you do get on Udemy or whatever your best way to learn is and learn Python or node.js.  
Then just add a template from the non-production store load it locally and start your own Plugin aka Node Server.

 

Edited by sjpbailey
  • Like 1
Link to comment

Same here.  I am sorry for the frustration you are having.  You have been a tremendous amount of help to me, much more than any other developer on the site.  You have been so unselfish with your time with our private emails and texts we have had over the last several weeks. Please email your video.  A better idea, post it on YouTube.

  • Like 1
Link to comment

@RRoyceus,

 Thank You for the Compliment as some would have the opposite opinion of me!
Sometimes you think you're helping UDI when you may be hurting someones ego at UDI.

I do not ever mind helping people! Especially people such as yourself!


Tuya for development is fine, Tuya for Commercial use is not. Still using Tuya only on their Tuya Smart phone app now.

Edited by sjpbailey
Link to comment
1 hour ago, sjpbailey said:

@DennisC

Here you go.

Sorry about the inconvenience; 

 

 

Thanks for reposting, I will watch as soon as I can.

One of the things UD is missing, is a video demonstration of how to get setup and started to developing a node server/plugin. If you haven't done it before, its hard to understand how to get started. Hoping this fills the gap.

  • Like 1
Link to comment

@DennisC,
 I have a couple. These take a while to create and for some create confusion, especially to new Developers. One thought it a how too exactly, made by UDI and i had to say I didn't work for UDI.

You can also ask for a branch to be opened up by the developer for you to work on.

It is a suggestion, not a how to. It seems when i try to help others it ends up making people upset. 

cheers!

 

Edited by sjpbailey
Link to comment

Thanks @sjpbailey for creating and posting the videos.  Creating content like that takes a lot of work.

For software developers, developing plug-ins (node servers) should be fairly straight forward.  And like most software development, there isn't one way to go about it and not even one "best" way to go about it.   A software developer figures out what type of environment works best for them and adapts it to work for PG3 plug-in development.

However, when a non software developer (someone who doesn't have any real world experience developing software) wants to create a PG3 plug-in, it can get confusing very quickly.  They'll get conflicting information because all the existing developers do things differently.  They not only have to figure how to create a plug-in, but they may have to learn a new programming language.  They may have to learn what a source control repository is and how it works.  They may have to learn how to use an IDE.  It's a lot all at once.

I've been doing professional software development for about 40 years now.  I've worked on drivers for the Linux kernel for a number of years.   So I have processes, tools, development environments that I've tweaked for many years and lot of the stuff is just second nature to me.  When I explain how I work to someone just starting out, it will typically just confuse them as it's hard for me to articulate all the steps I go through without really having to think about them.

I've tried to create documentation and even a tutorial for plug-in development, but it seems like nobody reads any of that because I keep seeing questions in the developer discord that are answered in the documentation.

I haven't created a step by step guide because, as I said, I don't think anyone would find it that helpful.  For example, @sjpbailey's step one video above is usually my last step in creating a plugin.  For me, github isn't really part of the development process, it's an off-site backup solution.

Link to comment
3 hours ago, bpwwer said:

Thanks @sjpbailey for creating and posting the videos.  Creating content like that takes a lot of work.

For software developers, developing plug-ins (node servers) should be fairly straight forward.  And like most software development, there isn't one way to go about it and not even one "best" way to go about it.   A software developer figures out what type of environment works best for them and adapts it to work for PG3 plug-in development.

However, when a non software developer (someone who doesn't have any real world experience developing software) wants to create a PG3 plug-in, it can get confusing very quickly.  They'll get conflicting information because all the existing developers do things differently.  They not only have to figure how to create a plug-in, but they may have to learn a new programming language.  They may have to learn what a source control repository is and how it works.  They may have to learn how to use an IDE.  It's a lot all at once.

I've been doing professional software development for about 40 years now.  I've worked on drivers for the Linux kernel for a number of years.   So I have processes, tools, development environments that I've tweaked for many years and lot of the stuff is just second nature to me.  When I explain how I work to someone just starting out, it will typically just confuse them as it's hard for me to articulate all the steps I go through without really having to think about them.

I've tried to create documentation and even a tutorial for plug-in development, but it seems like nobody reads any of that because I keep seeing questions in the developer discord that are answered in the documentation.

I haven't created a step by step guide because, as I said, I don't think anyone would find it that helpful.  For example, @sjpbailey's step one video above is usually my last step in creating a plugin.  For me, github isn't really part of the development process, it's an off-site backup solution.

Hi Bob,

I fully understand what you are saying. I wasn't suggesting a step by step procedure on how to program. I was suggesting a high level snapshot of how to setup to create the plugin's using UD's tools. I feel that is what is missing.

Learning a programming language is a lot easer today then it was when you did it. There are plenty of tutorials and guides for each language, that wasn't what I was looking for.

I have read some of the available documentation for creating a plugin and I think it will be most helpful during the actual development process.

Before getting to that, however, you need to complete certain steps that I haven't been able to find documentation for. 

As an example, I have a spare Polisy that I planned to use to attempt a plugin development with. I know to click on the Developers tab and add that. There information there that will be helpful, but what I feel is missing is where to go from there. What is the next step before starting to code.

Not so much a step by step of the development process, but more of a high level guide on what steps need to be taken prior to coding, followed by high level goals or milestones. Not so much the how to setup and develop but the "what must be done" to setup & develop.

I hope that makes sense and is somewhat clear.

Link to comment
5 hours ago, sjpbailey said:

It is a suggestion, not a how to. It seems when i try to help others it ends up making people upset.

I can use all the help I can get!

5 hours ago, sjpbailey said:

It is a suggestion, not a how to. It seems when i try to help others it ends up making people upset. 

As I explained above, I was looking more for the steps that need to be completed, rather than how to do the steps. 

 

I very much appreciate you taking the time to make these, and for reposting them so I can benefit from your tutorials. Thank you.

Link to comment

@DennisC It's not really clear to me what you think is missing which is probably why I've never created what you need.  To me, creating a node server is basically the same process as creating a Linux kernel driver or creating a phone app or creating any type of software.  There's nothing really special about node server development which is why I don't really know how to answer what steps need to be completed.

For me, it starts with wanting a node server for some device/service so I start with what I want.

Step 2 is to come up with the design, how do I want the node server to work and interact with the user and the device/service. (this is mostly done in my head).

Step 3 is copy most of the files from another node server as many of the required files are common.  I think modify the ones that need modifying (README.md, POLYGLOT_CONFIG.md, etc.).  

Step 4 is to create a git repository and check in these basic files.

Step 5 is to do all the coding to get the basic node server working.

Step 6 is to create a local store entry for the node server

Step 7 is to install the node server and start testing.

Step 8 is to debug/test/enhance the node server, going back to step 7 and repeating this until it is fully working.

Step 9 is to determine how I want to release it (packaged in a .zip file or via github)

Step 10 is to create the production store entry and publish that posting anything that needs posting in the forum about it.

Is that helpful?  To me it doesn't seem like it would be but I could be wrong.  And this is just how I generally proceed, it sometimes varies.  Others probably have a different set of steps.  Details on what's actually needed for some of the steps are in the developer's documentation which does tend to focus on creating the store entries and what's needed code wise.

If you're asking more about how to set up a development environment on the Polisy, that goes back to what I was trying to explain above, it's really a personal choice so there's no one answer.  You'll likely get very different answers from the different developers.  I know the way I set up my environment is very different from the way @Jimbo.Automates sets up his.  I keep everything on the Polisy and I use command line tools like git/vim pretty much exclusively while others will use a Windows machine running some IDE like pycharm and allowing the Polisy to access the files via SAMBA. 

Some HA systems use a specific development environment.  HomeSeer for example mostly requires that you use Visual Studio as the plug-ins are developed using .NET. But even there, that's about as much info as you'll find for getting started creating HomeSeer plug-ins. 

@sjpbailey's videos can be very helpful, but keep in mind that that's only showing the processes he's using, not what everyone uses so it can be hard for anyone else to help if you have questions about things that are being done in the videos.

  • Thanks 1
Link to comment
On 11/19/2023 at 8:45 PM, bpwwer said:

Is that helpful?  To me it doesn't seem like it would be but I could be wrong.

Yes, it is extremely helpful and I appreciate you taking the time to spell it out for me.

On 11/19/2023 at 8:45 PM, bpwwer said:

Details on what's actually needed for some of the steps are in the developer's documentation which does tend to focus on creating the store entries and what's needed code wise.

I have read some of the documents and think they will be helpful.

On 11/19/2023 at 8:45 PM, bpwwer said:

I keep everything on the Polisy

Polisy is what I will be attempting this on.

While I would not ask this of anyone, I think there would be some interest in a one time Zoom session (maybe recorded so it is available for review) that takes you through the process of creating a simple plugin, or maybe just walks through one of the example plugins.

I very much appreciate you taking the time to explain all of this.

Link to comment

I really thought most of those steps would be obvious which I guess explains why I suck at creating documentation.  I do tend to assume that stuff that is obvious to me is also going to be obvious to others and that's a bad assumption to make when creating documentation.

@DennisC I think that having a zoom session (or sessions) is a great idea.   @bmercier is this something you would be able to do?

Link to comment

Hello everyone,

We spent a lot of time creating: https://developer.isy.io with step-by-step instructions. Please do let us know what's missing.

On 11/18/2023 at 4:34 AM, sjpbailey said:

Sometimes you think you're helping UDI when you may be hurting someones ego at UDI.

@sjpbailey, as much as I appreciate all you have done, I am quite shocked at your comment. Please clarify. 

With kind regards,
Michel

Link to comment
19 minutes ago, bpwwer said:

I really thought most of those steps would be obvious which I guess explains why I suck at creating documentation.  I do tend to assume that stuff that is obvious to me is also going to be obvious to others and that's a bad assumption to make when creating documentation.

@bpwwer, sometimes when you create something, it is hard to evaluate if everything is included/covered. We (human mind) tend to fill in the gaps as we read when we know the topic matter.

Don't get me wrong, I think the documentation you have created is great, from the perspective of already knowing how it's done. When you are just starting out, the step by step roadmap you created above is extremely helpful, at least to me.

Thank you 

  • Like 1
Link to comment
16 minutes ago, Michel Kohanim said:

@DennisC,

I cannot reproduce. Would you please expand Getting Started and then click on each menu below (these are the steps). Do they render?

With kind regards,
Michel

@Michel Kohanim

It appears the page displays differently on a tablet than on a computer. I have been accessing the page on a tablet using the menus at the bottom of the page for convenience. When I just accessed the site from my computer and tried the top menu, the links work. 

However, even using a computer, the menu at the bottom of the page will take you to Getting Started, but the hyperlinks on the page for developer, development environment, & developing & testing do not work.

Here are some examples:

image.png.6dd039a5ba1acd2fefdd9d7819f8f0e7.png

image.png.cc6c46b08a4ce252bda29fd904e70fab.png

image.png.452832561add318d5f117e6bf645a059.png

Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...