@sihui You have my full understanding. I was somehow not happy, because a lot of input was given as feedback on the issue, but there was not a real response.
Also, I assume, the Amazon control binding, is somehow used more than something special.
Additional to that, the HA guys have had the same scenario and fix it in a couple of days. So, my assumption (as NON DEVELOPER) is, that there is no rocket sign behind.
On the other hand, for me it works with 4.3.6 when selected the first config value and not the last, with skills.
And on the 5.0.0 from yesterday I can use all four values and the thing become online and works for me. I have to say that I use my echo only as a âspeakerââŠ
So, we need to find out, why my configuration works, and your is not working.
Fixed now. I missed that I was missing the dot between the filename and extension.
However, I canât get the marketplace entries to come up at all right now, even after a restart of OH. I can see the official add-ons and add-ons from smarthome/j but not the marketplace.
Maybe there is some weird edge case that appears when there are two postings with the same name (minus the version stuff) and there is an error with the one you try to install, particularly this error where the file had no extension/wrong extension.
There definitely is a âflawâ in the handling of the installation of rule templates without a valid source. Iâve made a small fix for this that I will make into a PR:
.../internal/community/CommunityRuleTemplateAddonHandler.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/bundles/org.openhab.core.addon.marketplace/src/main/java/org/openhab/core/addon/marketplace/internal/community/CommunityRuleTemplateAddonHandler.java b/bundles/org.openhab.core.addon.marketplace/src/main/java/org/openhab/core/addon/marketplace/internal/community/CommunityRuleTemplateAddonHandler.java
index 589cd77781..1e408286f0 100644
--- a/bundles/org.openhab.core.addon.marketplace/src/main/java/org/openhab/core/addon/marketplace/internal/community/CommunityRuleTemplateAddonHandler.java
+++ b/bundles/org.openhab.core.addon.marketplace/src/main/java/org/openhab/core/addon/marketplace/internal/community/CommunityRuleTemplateAddonHandler.java
@@ -89,6 +89,9 @@ public class CommunityRuleTemplateAddonHandler implements MarketplaceAddonHandle
marketplaceRuleTemplateProvider.addTemplateAsJSON(addon.getUid(), jsonContent);
} else if (yamlContent != null) {
marketplaceRuleTemplateProvider.addTemplateAsYAML(addon.getUid(), yamlContent);
+ } else {
+ logger.error("Rule template {} has neither download URL nor embedded content", addon.getUid());
+ throw new MarketplaceHandlerException("Rule template has neither download URL nor embedded content", null);
}
} catch (IOException e) {
logger.error("Rule template from marketplace cannot be downloaded: {}", e.getMessage());
With this âfixâ it so that the system will know that the installation failed. The problem was that essentially âinstallationâ seemed to go like it should, except that it didnât install anything. This led to confusion.
But, I think thereâs another problem still there, related to the names. I will have to try to recreate the situation to try to figure out what happens. I have debugged it some already, and itâs not âobviousâ what goes wrong, but it seems like we end up in an endless loop somehow. This should be found a prevented.
Because itâs not so simple to implement. There are at least half a dozen supported ways to install and run OH with at least that many unofficial ways. And since most of them start OH in different ways, each would need to restart OH in a different way. And then OH needs to know how itâs installed in the first place so it can restart itself.
This is the same reason why efforts to implement upgrades through the UI were abandoned. Itâs just too hard technically. Definitely not impossible but hard enough that no one is willing to volunteer to do it.
Depending on the platform you can implement a reboot with a script called from a rule if need be, to reboot just OH or the whole OS and trigger it however you like. I did this when dealing with some memory leak issues some time ago, but frankly it shouldnât be needed unless you have some other underlying problem.
Understood completely regarding the complexity of supporting on so many platform though.
Also, offering such a button does more harm than good.
It would make many people simply click it rather than to start looking for the reasons for your problem. Thatâs not really any better than to power cycle your box.
Under normal operating conditions though, OH should be running 24/7 and itâs simply not needed at all to reboot.
And if for some unfortunate out-of-the-ordinary reason like a mem leak you have to restart it, you can do so manually and should not be rebooting the whole box but secure logs and analyze the system state to help you with finding the root cause.
There are plenty of reasons why that wouldnât work, like the reported problems we have now with UPnP just âstop workingâ after a while, or mDNS threads becoming deadlocked, so that Things stop updating (because the ThingHandler threadpool is starved when all threads are waiting for a lock held by a deadlocked thread). So, while ideally, you should never need to restart OH, the reality might be different.
Iâm not sure a full reboot of the box would be needed though, a restart of the JVM would probably suffice in more or less all circumstances.
I can see how this could be helpful if youâre not at home and discover that some of these issues have happened again, and you need to get things up and running again.
I also understand that itâs not easy to make in a way that would work universally, Iâm just saying that if it was doable, it shouldnât be rejected âbecause itâs a bad thingâ. Iâm pretty sure that most users would prefer not to have to restart OH if they could, but if you have a recurring issue that you havenât been able to solve, what can you do?
Well, the OP asked for a genuine button for everybody, and as stated, in the general case it does more harm than good, this being another reason why thereâs none of the capable volunteers willing to give a genuine implementation a shot.
Then again, to build it into your specific personal system isnât too hard (at least for the Linux based ones) so if you really suffer from being unable to reset your home to a working state from remote then feel free to implement it yourself.
But then youâre one of those 1 or less percent that the system is not designed to cover so yes, you have to build it yourself.