HomeSeer / Plugin-SDK

Plugin development kit for the 4th major edition of the HomeSeer platform.
https://www.nuget.org/packages/HomeSeer-PluginSDK/
GNU Affero General Public License v3.0
21 stars 4 forks source link

HS 4.2.11.0 breaks my plugin with Error Do not set Image directly. #272

Closed Enigmatheatre closed 2 years ago

Enigmatheatre commented 2 years ago

When you install HS 4.2.11.0 it breaks my Arduino plugin when creating devices and it returns the error: Do not set Image directly.

Reported this to Rich and he asked to post here to get a fix. See: https://forums.homeseer.com/forum/hs4-products/hs4-software/hs4-pro-beta-releases/1531296-hs4-beta-4-2-10-0-is-available?p=1535106#post1535106

Please can this be fixed in HS as I guess other plugins will have the same problem? For when I do get time to look at this what is the error and what do I have to change to sort it as I can not understand what has changed.

Greig.

alexbk66 commented 2 years ago

Duplicate https://github.com/HomeSeer/Plugin-SDK/issues/264

Enigmatheatre commented 2 years ago

OK so you see the problem too but as this has broken the plugin is this to be fixed in HS?

alexbk66 commented 2 years ago

OK so you see the problem too but as this has broken the plugin is this to be fixed in HS?

Did you read https://github.com/HomeSeer/Plugin-SDK/issues/264?

Enigmatheatre commented 2 years ago

OK so you see the problem too but as this has broken the plugin is this to be fixed in HS?

Did you read #264?

Yes, and I do have this being set like you did but the point is how is it ok to point out in the beta that this will break plugins and then they update it to a release and expect the plugin authors to spend the time on the fix while the users are struggling with non-working systems! I don't have the time at the moment to go through and rebuild my dev system and then update my plugin and again my point is I should not have to as the problem is a HS update.

@jldubz is there to be a fix?

rjhelmke commented 2 years ago

We did not think anyone would have been using that call as it did not do anything anyway. If you can just remove it or add a try/catch around it, you will be all set. Ideally, you should just remove the call. If you already have a try/catch around it then you should be ok and I would guess users are just seeing a log entry for the error.

alexbk66 commented 2 years ago

We did not think anyone would have been using that call as it did not do anything anyway

So what was the point changing it to throw an exception then?

Enigmatheatre commented 2 years ago

We did not think anyone would have been using that call as it did not do anything anyway. If you can just remove it or add a try/catch around it, you will be all set. Ideally, you should just remove the call. If you already have a try/catch around it then you should be ok and I would guess users are just seeing a log entry for the error.

Well, I know of 3 plugin authors who have had problems with this bug so people were setting it as it was used in HS3 and I am not sure why it was removed as having images of the device you are controlling is a standard thing in a web interface and I see no other way of adding this feature. I know the HSTeam had trouble keeping up with the images in the Zwave plugin but is that a reason to remove all device images from the interface? Can there be some sort of user repository for them?

I have spent the time rebuilding my dev system, removing the call and updating my plugin but it now looks like there is something else changed that is stopping the webpages of the plugin from functioning properly so now I have to track down this problem to make the plugin uses happy that have run the HS update. I am sure your team have the plugin developer's email addresses and could have asked if anyone was using this call before changing it.

So what was the point changing it to throw an exception then?

Sorry if I sound frustrated but I am and I just don't get it and think some things are going backwards at HS. I do like HS4 but losing things like device images has made the UI much harder to like.

rjhelmke commented 2 years ago

There is no way to display the device image in HS4 so there is no sense in setting it, so this has never worked. We did put a Beta out and I saw your response and responded but did not hear back so I figured it was not a big issue. I apologize that this is causing you issues. I am willing to help if you cannot get your plugin working. I don't have any other reports right now about this causing an issue. If there are other plugins not working, let me know which ones or have the authors contact me.

The device images in HS3 looked terrible, there was not consistency to the images, and it just made the application look bad. That is why we removed it. There is nothing stopping authors to add their own images to their UI if they like. No one actually used the device images except for the Z-Wave plugin and we could not keep the images organized, just too many.

alexbk66 commented 2 years ago

We did not think anyone would have been using that call as it did not do anything anyway

Rich, I understand the reasons, and I don't care about the device image at all. The problem is - you just decide to add the exception in the call which was there for years, and nobody was using it anyways.

But the exception breaks existing plugins for no reason, causes troubles for the plugin users, and forces developers to re-build and republish the plugins.

We did put a Beta out and I saw your response and responded but did not hear back so I figured it was not a big issue.

Do you expect plugins developers to monitor your changes in real time and respond immediately?

Enigmatheatre commented 2 years ago

There is no way to display the device image in HS4 so there is no sense in setting it, so this has never worked. We did put a Beta out and I saw your response and responded but did not hear back so I figured it was not a big issue. I apologize that this is causing you issues. I am willing to help if you cannot get your plugin working. I don't have any other reports right now about this causing an issue. If there are other plugins not working, let me know which ones or have the authors contact me.

The device images in HS3 looked terrible, there was not consistency to the images, and it just made the application look bad. That is why we removed it. There is nothing stopping authors to add their own images to their UI if they like. No one actually used the device images except for the Z-Wave plugin and we could not keep the images organized, just too many.

OK, I have my plugin fixed and the users that reported it are all up and going again. Myself, alexbk66 and w.vuyk all had to track this down.

As @alexbk66 said I also don't get why it was changed to an exception if it was not being used as it did no harm before and could have been added again at some point down the line if things changed without too many problems.

When you say "No one actually used the device images except for the Z-Wave plugin" this is not true as I used them in my plugin and I had other plugins that used it to otherwise we would not have done it in HS4. I get you are trying to improve the UI but I think things should be optional and not just removed as this can then be the user's choice on how they want the UI to be and makes things more customisable which is how people like it to be.

I guess at the end of the day we are asking for communication with the developers if anything that could cause a problem is implemented or even if it is put in place like this was then an email to say X has been done and the fix is Y but a heads up would be preferred so we don't have to monitor every forum post and check if we need to update something.

I know things are much better with communication on the forum and that you are now updating and asking the users their thoughts which I would like to thank you for. Can I suggest you ask users about the images as I would be very interested to see the results?

alexbk66 commented 2 years ago

I just want to add that plugin developers don't work for HST full time - we are kind of freelancers who may get back to the plugin months later, not in real time...

rjhelmke commented 2 years ago

I agree with you guys 100% in that we messed up with this one. Our goal is to not break existing users with underlying changes. We will do a better job reviewing changes in the future. We do have a developer mailing list and I would like to take better advantage of this. We can at least notify all the developers of upcoming changes and Beta postings so they can test their plugins. I do understand that not all authors have the time to keep up with changes, or even test, so we do need to keep that in mind.