-
Notifications
You must be signed in to change notification settings - Fork 779
Conversation
@maggu2810 Can you try out this fix for #2094 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @kgoderis, I have had a look at the code first. Will test it now.
logger.error("An exception occurred while setting the start date : '{}'", e.getMessage()); | ||
} | ||
} | ||
|
||
if (getCandidates().isEmpty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use a else if
here. If it is a foating start date, set start date has been already called. If this results in an empty candidates list, is there any reason to call it again?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mmh... true enough. It should be called again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be called again
Does this mean if setStartDate(afterTime);
results in an empty candidate list another call to setStartDate(afterTime)
(using the same aster time) can result in an non empty candidate list? Or why should it be called again?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Damn. I meant "should not be called again". my mistake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kgoderis Do you consider to change the if
to else if
? I think the remaining stuff is fine and we could merge this PR.
} else { | ||
while (getCandidates().size() > 1) { | ||
|
||
Collections.sort(getCandidates()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it make sense to move the sort method to the place the candidates are generated instead of every getTimeAfter call?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possibly, to be checked that nowhere else we modify the order of that Collection.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, should we keep the sort ATM as it is? And have a look at performance improvements later? Okay for me.
if (getCandidates().size() == 1) { | ||
return getCandidates().get(0); | ||
} else { | ||
while (getCandidates().size() > 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you use > 1 here?
If this loop is iterated multiple times, isn't it valid, that the candidates consist of exactly one element?
At the end of the iteration you call setStartDate(newStartDate);
I assume this could result in a candidates list of the minimum size (1, now).
Shouldn't it be !getCandidates().isEmpty()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
size()==1 is to cover DateExpression or alike, which always have getCandidates().size()=1.
In the end we could indeed arrive at a candidate list that contains a single candidate, being the startDate itself. So, if I am not wrong, getCandidates() should never be empty
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I comment the else branch, so let's have a look at the code in that branch only (getCandidates().size() == 1
is checked outside of the else branch).
while (getCandidates().size() > 1) {
Collections.sort(getCandidates());
Date newStartDate = null;
try {
for (Date candidate : getCandidates()) {
newStartDate = candidate;
if (candidate.after(afterTime)) {
setStartDate(currentStartDate);
return candidate;
}
}
clearCandidates();
setStartDate(newStartDate);
} catch (IllegalArgumentException | ParseException e) {
logger.error("An exception occurred while parsing the expression : '{}'", e.getMessage());
}
}
If the last call to setStartDate(newStartDate);
results in a candidate list of size 1, the condition if false and the while loop body is not executed again. Shouldn't also the one remaining candidate be checked if it is after the after time and returned if this is true.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that single final date is checked, but in the previous iteration of the loop, in the "for (Date candidate : getCandidates()) " loop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I do not get it.
Isn't at the end in the while loop by using clearCandidates()
and setStartDate(newStartDate)
the candidate set new calculated?
Then the next iteration starts with the check for > 1...
// First loop iteration
// Let's assume: getCandidates().size() == 5 (at least something > 1)
// The condition "getCandidates().size() > 1" is checked
// All fine
Collections.sort(getCandidates());
Date newStartDate = null;
try {
for (Date candidate : getCandidates()) {
newStartDate = candidate;
if (candidate.after(afterTime)) {
setStartDate(currentStartDate);
return candidate;
}
}
// No of the current 5 candidates is after(afterTime)
// So we are here
// Clear the candidates and get new candidates by setting the start date
clearCandidates();
setStartDate(newStartDate);
// Let's assume the number of caluclated candidates 1: getCandidates().size() == 1
} catch (IllegalArgumentException | ParseException e) {
logger.error("An exception occurred while parsing the expression : '{}'", e.getMessage());
}
// Second iteration loop
// The condition "getCandidates().size() > 1" is checked
// The size is 1 so not greater then 1 and the loop is not entered.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// First loop iteration
// Let's assume: getCandidates().size() == 5 (at least something > 1)
// The condition "getCandidates().size() > 1" is checked
// All fine
Collections.sort(getCandidates());
Date newStartDate = null;
try {
for (Date candidate : getCandidates()) {
newStartDate = candidate;
if (candidate.after(afterTime)) {
setStartDate(currentStartDate);
return candidate;
}
}
// No of the current 5 candidates is after(afterTime)
// So we are here
// [@kgoderis] Ok - none of them are Ok, so the last candidate will become the new startDate. Bare in mind that this date is checked, and not valid
// Clear the candidates and get new candidates by setting the start date
clearCandidates();
setStartDate(newStartDate);
// Let's assume the number of caluclated candidates 1: getCandidates().size() == 1
} catch (IllegalArgumentException | ParseException e) {
logger.error("An exception occurred while parsing the expression : '{}'", e.getMessage());
}
// Second iteration loop
// The condition "getCandidates().size() > 1" is checked
// The size is 1 so not greater then 1 and the loop is not entered.
// [@kgoderis] the startDate is always a candidate, so that last non-fulfilling candidate of the previous iteration is part of the candidates, and it is already checked. So, it does not need to be checked again, and therefore, we are only interested to do another iteration if we have more than 1 candidate, since the first one, the new startDate, is not of interest to us anymore. If we have no other candidate except this startDate, we return without a valid result
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
startDate is always a candidate
Ah, that is the point I missed. Thanks
As startDate is taken from the candidate list, it will be a valid candidate for the new evaluation again. Sounds plausible 🎐
} else { | ||
|
||
while (getCandidates().size() == maximumCandidates) { | ||
Collections.sort(getCandidates()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment above
lastCandidate = getCandidates().get(0); | ||
} else { | ||
|
||
while (getCandidates().size() == maximumCandidates) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we used a floating start date, couldn't the size be equal to maximum candidates, too?
You set the minimum number in the constructor to 0 for CronExpression, but is this a grant, that there aren't the maximum number be used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure I fully understand your comment here. For cron the overall number of candidates can be limited (as per Quartz definition), but for practical reasons, in case there are unlimited number of candidates (like in your infamous example), the YEARS parameters is limited to 2100 anyways. So, infinite series are finite from a practical point of view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I try to understand why you try to differentiate between floating start date and non-floating start date wrt getfinalfiretime()....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the YEARS parameters is limited to 2100 anyways
Didn't know that cron ends working in the year 2100 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I try to understand why you try to differentiate between floating start date and non-floating start date wrt getfinalfiretime()....
By a mistake 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't know that cron ends working in the year 2100
It is the to limit the algorithm. Maybe 2100 is even too long, but one has to be optimist and believe that your ESH/OH2 instance can run unattended and without rebooting for the next 84 years. Maybe for performance reasons we can limit that something like "current time" + 1 year, no?
@@ -63,4 +62,22 @@ public void getFinalTimeCheck() throws ParseException { | |||
|
|||
assertEquals(checkDate, nextDate); | |||
} | |||
|
|||
@Test | |||
public void runForever() throws ParseException, InterruptedException { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You shouldn't name a test "run forever", this could be a little bit misleading 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, forever is anything more than maxcandidates. Or until one looses his patience, which for a lot of people is just over 60 seconds ;-)
@kgoderis "* * * * * ?" runs for a while now. Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please have a look at the one left comment about the else
in front of the if
.
Thanks for your work.
if (getCandidates().size() == 1) { | ||
return getCandidates().get(0); | ||
} else { | ||
while (getCandidates().size() > 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
startDate is always a candidate
Ah, that is the point I missed. Thanks
As startDate is taken from the candidate list, it will be a valid candidate for the new evaluation again. Sounds plausible 🎐
logger.error("An exception occurred while setting the start date : '{}'", e.getMessage()); | ||
} | ||
} | ||
|
||
if (getCandidates().isEmpty()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kgoderis Do you consider to change the if
to else if
? I think the remaining stuff is fine and we could merge this PR.
} else { | ||
while (getCandidates().size() > 1) { | ||
|
||
Collections.sort(getCandidates()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, should we keep the sort ATM as it is? And have a look at performance improvements later? Okay for me.
Yeah - let's do that. Will push a mod for the "else if" in a second and you are good to go. Sorry for the delay, I am currently swamped @maggu2810 done. |
Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @kgoderis
Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com>
Signed-off-by: chaton78 <plarin@gmail.com> Fix NPE in RulesItemRefresher which occurs during shutdown (eclipse-archived#2263) Signed-off-by: Michael Vorburger <mike@vorburger.ch> adapted groovy version (eclipse-archived#2265) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> defer creation of sound input until its first use (eclipse-archived#2261) Signed-off-by: Kai Kreuzer <kai@openhab.org> Bug fix: item creation while channel linking (eclipse-archived#2262) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> added Karaf feature for rest.voice (eclipse-archived#2273) Signed-off-by: Kai Kreuzer <kai@openhab.org> removing generics from OSGiTest base class (eclipse-archived#2274) since the framework requires minimum OSGi version 4.2 Generics was added to ServiceReference in OSGi v.4.3 Signed-off-by: Miki Jankov <miki.jankov87@gmail.com> Contribution of an HumanLanguageInterpreter that allows to process voice commands in DSL rules (eclipse-archived#2272) Signed-off-by: Kai Kreuzer <kai@openhab.org> replaced apache by jetty http client (eclipse-archived#2275) Signed-off-by: Kai Kreuzer <kai@openhab.org> fetch supported locales only once instead of three times (eclipse-archived#2276) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> added sitemap event subscription mechanism (eclipse-archived#2030) * added sitemap event subscription mechanism Signed-off-by: Kai Kreuzer <kai@openhab.org> * allow setting the current page on the initial request and added logging Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: SSE sitemap events support (eclipse-archived#5) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * added clean up of closed SSE connections Signed-off-by: Kai Kreuzer <kai@openhab.org> * avoided servlet exception on unknown subscription id Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: refactor: move some template processing code to abstract class Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix widget referencing for SSE stream Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix icon and value update for some widgets Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: remove test logging Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * refactored code to avoid duplicate events Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed cleanup of page change listeners Signed-off-by: Kai Kreuzer <kai@openhab.org> * also consider change events of group items Signed-off-by: Kai Kreuzer <kai@openhab.org> Dbus transport fixes (eclipse-archived#2280) * fix indentation * add dbus transport bundle aggregate io pom * fix version * add karaf feature Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix type in javasound pom (eclipse-archived#2279) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Type: differ between a full and simple string representation (eclipse-archived#2230) * Type: differ between full string representation and toString() * The full string representation must be compatible to the static `valueOf(String)` method of the respective Type implementation. * The toString() returned representation should be as usable a concise but informative representation that is easy for a concise but informative representation that is easy for a person to read. It does not need to be compatible to the `valueOf(String)` method of the respective Type implementation. So, whenever you need a representation that can be consumed by `valueOf(String)` later, you should use the full string representation. Until now `toString()` returned the full string representation which has been changed now. If you rely on a representation that can be consumed by `valueOf(String)` later, you need to adapt your code. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> easy way to add third party JARs to TP for development only (eclipse-archived#2283) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix esh-ui-basic feature dependencies (eclipse-archived#2284) Fixes: eclipse-archived#2281 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> addressed performance worries (eclipse-archived#2288) Signed-off-by: Kai Kreuzer <kai@openhab.org> Send sitemap events on sitemap visibility updates (eclipse-archived#2290) Signed-off-by: Kai Kreuzer <kai@openhab.org> extended firmware version test by additional assertions required for a binding that will use a combined firmware version, i.e. a version that consist of actual two versions (eclipse-archived#2244) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Create an action which can enable or disable a set of rules. (eclipse-archived#1914) Signed-off-by: Plamen Peev <p.peev@prosyst.bg> add capability to feature because it is missing in the bundle manifest (eclipse-archived#2291) Adds for I18nProvider service capability as it is missing in the esh.core bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Introduction of an AudioServlet to provide audio streams through HTTP (eclipse-archived#2287) * Introduction of an AudioServlet to provide audio streams through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed missing stream removal Signed-off-by: Kai Kreuzer <kai@openhab.org> Fix for eclipse-archived#2249; Add handling of REFRESH command and introduce lastMotionDetected channel for MotionSensor (eclipse-archived#2277) Signed-off-by: Hans-Jörg Merk <hans-joerg.merk@t-online.de> changed volume of AudioSink from float to PercentType (eclipse-archived#2286) Signed-off-by: Kai Kreuzer <kai@openhab.org> temporarily ignore failing test (eclipse-archived#2293) Signed-off-by: Kai Kreuzer <kai@openhab.org> Rewind and Fast forward in player widget (eclipse-archived#2292) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI updates (eclipse-archived#2294) * BasicUI: sitemap visibility events support * BasicUI: fix text widget icon update Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> Implemented configuration status handling for hue bridge. (eclipse-archived#1819) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> updated license headers of archetype (eclipse-archived#2296) Signed-off-by: Kai Kreuzer <kai@openhab.org> check for uniqueness of channels (eclipse-archived#2266) ...in ThingHelper and ThingBuilder so no duplicate channels can be created. The ChannelUID is used as the only parameter as it defines the identity of a Channel. fixes eclipse-archived#2256 fixes eclipse-archived#2210 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Also-by: Markus Rathgeb <maggu2810@gmail.com> Changed ESH-PREFIX and cleaned up warnings (eclipse-archived#2298) Signed-off-by: Kai Kreuzer <kai@openhab.org> remove error message on successful thing creation (eclipse-archived#2299) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Added X-Accel-Buffering=no header to SSE response in order to disable response buffering when using nginx as a proxy server. (eclipse-archived#2300) This allows you to use nginx proxy buffering and still have working SSE. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> Some improvements on audio streams: (eclipse-archived#2302) - Introduced FixedLengthAudioStream - Provide Content-Length in AudioServlet - Ignore file extensions in urls in AudioServlet - added ability to reset a FileAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> some code cleanup on sonos (eclipse-archived#2303) Signed-off-by: Kai Kreuzer <kai@openhab.org> Set the notification sound volume on first access instead of initialisation (eclipse-archived#2307) Signed-off-by: Kai Kreuzer <kai@openhab.org> added support to serve a single AudioStream multiple times concurrently through HTTP (eclipse-archived#2305) * added support to serve a single AudioStream multiple times concurrently through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * incorporated review feedback Signed-off-by: Kai Kreuzer <kai@openhab.org> Audio servlet improvements (eclipse-archived#2310) * use seconds directly * reorder code to allow usage of try-with-resources Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> adapted MacTTS to use FixedLengthAudioStream (eclipse-archived#2311) * adapted MacTTS to use FixedLengthAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> * set length only once Signed-off-by: Kai Kreuzer <kai@openhab.org> * removed null check Signed-off-by: Kai Kreuzer <kai@openhab.org> persisting group functions in the ManagedItemProvider (eclipse-archived#2309) fixes eclipse-archived#2269 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> initial contribution of a web audio sink (eclipse-archived#2313) * initial contribution of a web audio sink Signed-off-by: Kai Kreuzer <kai@openhab.org> * Make sure that streams are closed correctly. Signed-off-by: Kai Kreuzer <kai@openhab.org> Support audio events (eclipse-archived#2314) * Support audio events Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI: minor fixes (eclipse-archived#2316) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> add capability to feature because it is missing in the bundle manifest (eclipse-archived#2319) Adds for AudioHTTPServer service capability as it is missing in the esh.core.audio bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> [LIFX] FindBugs issues fix (eclipse-archived#2318) * Unlock lightCounterLock when exceptions occur * Potential NPE in handlePowerStatus Signed-off-by: Wouter Born <eclipse@maindrain.net> Improved README files for all bindings (typos, grammar, text). (eclipse-archived#2328) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Removed unnecessary explicit call of parent constructor (parent class is the Object class). (eclipse-archived#2330) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Room and Outside temperature now working Add support for set point temperature and mode. Add support for heat level New Library sinope-core 0.0.1 snapshot Updated documentation Update readme.md Update readme.md Update readme.md Added Headers, Java Cleanup and Format Formatting Project compliance Update readme.md Implemented tests for the Wemo Binding. (eclipse-archived#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (eclipse-archived#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (eclipse-archived#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes eclipse-archived#2322 Basic UI no longer updates icons (eclipse-archived#2338) * Fixes eclipse-archived#2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (eclipse-archived#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (eclipse-archived#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (eclipse-archived#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (eclipse-archived#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes eclipse-archived#2332 Selection sitemap item does not show current selection after (eclipse-archived#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (eclipse-archived#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (eclipse-archived#2351) Related to: eclipse-archived#2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (eclipse-archived#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (eclipse-archived#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (eclipse-archived#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (eclipse-archived#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix eclipse-archived#2105 (eclipse-archived#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (eclipse-archived#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (eclipse-archived#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes eclipse-archived#2322 Basic UI no longer updates icons (eclipse-archived#2338) * Fixes eclipse-archived#2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (eclipse-archived#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> Squash'ed commit Signed-off-by: chaton78 <plarin@gmail.com> renamed channelType to channelKind in the model (eclipse-archived#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (eclipse-archived#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (eclipse-archived#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes eclipse-archived#2332 Selection sitemap item does not show current selection after (eclipse-archived#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (eclipse-archived#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (eclipse-archived#2351) Related to: eclipse-archived#2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Squashed commits Signed-off-by: chaton78 <plarin@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (eclipse-archived#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (eclipse-archived#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (eclipse-archived#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (eclipse-archived#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix eclipse-archived#2105 (eclipse-archived#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> allow referencing a channel type in the DSL (eclipse-archived#2343) in the Thing DSL it is possible to define channels manually. However, it was not possible so far to reference a binding's channel type which is defined in the XMLs. Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> fixed UpnpDiscoveryService to call thingDiscovered for each RemoteDevice already available in the upnp registry (eclipse-archived#2367) Signed-off-by: Andre Fuechsel <andre.fuechsel@telekom.de> Refactored automation.core module && adapted to use Declarative Services (eclipse-archived#2194) Signed-off-by: Vasil Ilchev <v.ilchev@prosyst.bg> NTP Binding Tests Fix (eclipse-archived#2377) Fixed the bug in the NTP Binding, related to the time change. Signed-off-by: Petar Valchev <petar.valchev@musala.com> avoid NPE if no services are found (eclipse-archived#2373) Signed-off-by: Kai Kreuzer <kai@openhab.org> Changed AudioHTTPServer to return relative urls instead of absolute (eclipse-archived#2374) This moves the responsibility of constructing the absolute url to call to the consumer - which is imho the much better approach, as e.g. a consumer like a web browser might request it remotely (from a different network) and thus only it knows which server+port to contact (and with this to avoid any cross origin problems). - adapted Sonos binding to make relative url absolute - added configuration parameter for callback url to Sonos binding (if not set, heuristic approach through scanning available network interfaces is taken) - tested it also successfully with webaudio sink in Paper UI Signed-off-by: Kai Kreuzer <kai@openhab.org> removed duplicate thing and channel definitions (looks like they are still there only by accident) (eclipse-archived#2375) Signed-off-by: Kai Kreuzer <kai@openhab.org> Added space above channel group name (eclipse-archived#2382) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> converting state types into accepted type before sending item state events (eclipse-archived#2334) fixes eclipse-archived#2253 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Allow to define channel labels in the DSL (eclipse-archived#2381) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Prevent scriptarea from overlapping with outputs (eclipse-archived#2346) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> SetupPageController tests (eclipse-archived#2358) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Removed readOnly switch's state text (eclipse-archived#2336) * Hide readOnly item * Removed switch item state text Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Support multiselect with custom values (eclipse-archived#2355) * Support multiselect with custom values Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Use jQuery-ui from npm (eclipse-archived#2385) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Supported contexts' documentation (eclipse-archived#2168) Supported contexts' documentation Signed-off-by: Aoun Bukhari <bukhari@itemis.de> fix Paper UI build (eclipse-archived#2317) Fixes: eclipse-archived#2219 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Updated Thing types Sample left-over. Updated pom.xml Signed-off-by: chaton78 <plarin@gmail.com> Update Config comments Signed-off-by: Pascal Larin <plarin@gmail.com> Squashed Commits Signed-off-by: chaton78 <plarin@gmail.com>
Signed-off-by: chaton78 <plarin@gmail.com> Fix NPE in RulesItemRefresher which occurs during shutdown (eclipse-archived#2263) Signed-off-by: Michael Vorburger <mike@vorburger.ch> adapted groovy version (eclipse-archived#2265) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> defer creation of sound input until its first use (eclipse-archived#2261) Signed-off-by: Kai Kreuzer <kai@openhab.org> Bug fix: item creation while channel linking (eclipse-archived#2262) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> added Karaf feature for rest.voice (eclipse-archived#2273) Signed-off-by: Kai Kreuzer <kai@openhab.org> removing generics from OSGiTest base class (eclipse-archived#2274) since the framework requires minimum OSGi version 4.2 Generics was added to ServiceReference in OSGi v.4.3 Signed-off-by: Miki Jankov <miki.jankov87@gmail.com> Contribution of an HumanLanguageInterpreter that allows to process voice commands in DSL rules (eclipse-archived#2272) Signed-off-by: Kai Kreuzer <kai@openhab.org> replaced apache by jetty http client (eclipse-archived#2275) Signed-off-by: Kai Kreuzer <kai@openhab.org> fetch supported locales only once instead of three times (eclipse-archived#2276) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> added sitemap event subscription mechanism (eclipse-archived#2030) * added sitemap event subscription mechanism Signed-off-by: Kai Kreuzer <kai@openhab.org> * allow setting the current page on the initial request and added logging Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: SSE sitemap events support (eclipse-archived#5) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * added clean up of closed SSE connections Signed-off-by: Kai Kreuzer <kai@openhab.org> * avoided servlet exception on unknown subscription id Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: refactor: move some template processing code to abstract class Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix widget referencing for SSE stream Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix icon and value update for some widgets Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: remove test logging Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * refactored code to avoid duplicate events Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed cleanup of page change listeners Signed-off-by: Kai Kreuzer <kai@openhab.org> * also consider change events of group items Signed-off-by: Kai Kreuzer <kai@openhab.org> Dbus transport fixes (eclipse-archived#2280) * fix indentation * add dbus transport bundle aggregate io pom * fix version * add karaf feature Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix type in javasound pom (eclipse-archived#2279) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Type: differ between a full and simple string representation (eclipse-archived#2230) * Type: differ between full string representation and toString() * The full string representation must be compatible to the static `valueOf(String)` method of the respective Type implementation. * The toString() returned representation should be as usable a concise but informative representation that is easy for a concise but informative representation that is easy for a person to read. It does not need to be compatible to the `valueOf(String)` method of the respective Type implementation. So, whenever you need a representation that can be consumed by `valueOf(String)` later, you should use the full string representation. Until now `toString()` returned the full string representation which has been changed now. If you rely on a representation that can be consumed by `valueOf(String)` later, you need to adapt your code. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> easy way to add third party JARs to TP for development only (eclipse-archived#2283) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix esh-ui-basic feature dependencies (eclipse-archived#2284) Fixes: eclipse-archived#2281 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> addressed performance worries (eclipse-archived#2288) Signed-off-by: Kai Kreuzer <kai@openhab.org> Send sitemap events on sitemap visibility updates (eclipse-archived#2290) Signed-off-by: Kai Kreuzer <kai@openhab.org> extended firmware version test by additional assertions required for a binding that will use a combined firmware version, i.e. a version that consist of actual two versions (eclipse-archived#2244) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Create an action which can enable or disable a set of rules. (eclipse-archived#1914) Signed-off-by: Plamen Peev <p.peev@prosyst.bg> add capability to feature because it is missing in the bundle manifest (eclipse-archived#2291) Adds for I18nProvider service capability as it is missing in the esh.core bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Introduction of an AudioServlet to provide audio streams through HTTP (eclipse-archived#2287) * Introduction of an AudioServlet to provide audio streams through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed missing stream removal Signed-off-by: Kai Kreuzer <kai@openhab.org> Fix for eclipse-archived#2249; Add handling of REFRESH command and introduce lastMotionDetected channel for MotionSensor (eclipse-archived#2277) Signed-off-by: Hans-Jörg Merk <hans-joerg.merk@t-online.de> changed volume of AudioSink from float to PercentType (eclipse-archived#2286) Signed-off-by: Kai Kreuzer <kai@openhab.org> temporarily ignore failing test (eclipse-archived#2293) Signed-off-by: Kai Kreuzer <kai@openhab.org> Rewind and Fast forward in player widget (eclipse-archived#2292) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI updates (eclipse-archived#2294) * BasicUI: sitemap visibility events support * BasicUI: fix text widget icon update Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> Implemented configuration status handling for hue bridge. (eclipse-archived#1819) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> updated license headers of archetype (eclipse-archived#2296) Signed-off-by: Kai Kreuzer <kai@openhab.org> check for uniqueness of channels (eclipse-archived#2266) ...in ThingHelper and ThingBuilder so no duplicate channels can be created. The ChannelUID is used as the only parameter as it defines the identity of a Channel. fixes eclipse-archived#2256 fixes eclipse-archived#2210 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Also-by: Markus Rathgeb <maggu2810@gmail.com> Changed ESH-PREFIX and cleaned up warnings (eclipse-archived#2298) Signed-off-by: Kai Kreuzer <kai@openhab.org> remove error message on successful thing creation (eclipse-archived#2299) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Added X-Accel-Buffering=no header to SSE response in order to disable response buffering when using nginx as a proxy server. (eclipse-archived#2300) This allows you to use nginx proxy buffering and still have working SSE. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> Some improvements on audio streams: (eclipse-archived#2302) - Introduced FixedLengthAudioStream - Provide Content-Length in AudioServlet - Ignore file extensions in urls in AudioServlet - added ability to reset a FileAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> some code cleanup on sonos (eclipse-archived#2303) Signed-off-by: Kai Kreuzer <kai@openhab.org> Set the notification sound volume on first access instead of initialisation (eclipse-archived#2307) Signed-off-by: Kai Kreuzer <kai@openhab.org> added support to serve a single AudioStream multiple times concurrently through HTTP (eclipse-archived#2305) * added support to serve a single AudioStream multiple times concurrently through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * incorporated review feedback Signed-off-by: Kai Kreuzer <kai@openhab.org> Audio servlet improvements (eclipse-archived#2310) * use seconds directly * reorder code to allow usage of try-with-resources Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> adapted MacTTS to use FixedLengthAudioStream (eclipse-archived#2311) * adapted MacTTS to use FixedLengthAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> * set length only once Signed-off-by: Kai Kreuzer <kai@openhab.org> * removed null check Signed-off-by: Kai Kreuzer <kai@openhab.org> persisting group functions in the ManagedItemProvider (eclipse-archived#2309) fixes eclipse-archived#2269 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> initial contribution of a web audio sink (eclipse-archived#2313) * initial contribution of a web audio sink Signed-off-by: Kai Kreuzer <kai@openhab.org> * Make sure that streams are closed correctly. Signed-off-by: Kai Kreuzer <kai@openhab.org> Support audio events (eclipse-archived#2314) * Support audio events Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI: minor fixes (eclipse-archived#2316) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> add capability to feature because it is missing in the bundle manifest (eclipse-archived#2319) Adds for AudioHTTPServer service capability as it is missing in the esh.core.audio bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> [LIFX] FindBugs issues fix (eclipse-archived#2318) * Unlock lightCounterLock when exceptions occur * Potential NPE in handlePowerStatus Signed-off-by: Wouter Born <eclipse@maindrain.net> Improved README files for all bindings (typos, grammar, text). (eclipse-archived#2328) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Removed unnecessary explicit call of parent constructor (parent class is the Object class). (eclipse-archived#2330) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Room and Outside temperature now working Add support for set point temperature and mode. Add support for heat level New Library sinope-core 0.0.1 snapshot Updated documentation Update readme.md Update readme.md Update readme.md Added Headers, Java Cleanup and Format Formatting Project compliance Update readme.md Implemented tests for the Wemo Binding. (eclipse-archived#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (eclipse-archived#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (eclipse-archived#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes eclipse-archived#2322 Basic UI no longer updates icons (eclipse-archived#2338) * Fixes eclipse-archived#2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (eclipse-archived#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (eclipse-archived#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (eclipse-archived#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (eclipse-archived#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes eclipse-archived#2332 Selection sitemap item does not show current selection after (eclipse-archived#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (eclipse-archived#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (eclipse-archived#2351) Related to: eclipse-archived#2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (eclipse-archived#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (eclipse-archived#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (eclipse-archived#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (eclipse-archived#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix eclipse-archived#2105 (eclipse-archived#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (eclipse-archived#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (eclipse-archived#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes eclipse-archived#2322 Basic UI no longer updates icons (eclipse-archived#2338) * Fixes eclipse-archived#2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (eclipse-archived#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> Squash'ed commit Signed-off-by: chaton78 <plarin@gmail.com> renamed channelType to channelKind in the model (eclipse-archived#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (eclipse-archived#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (eclipse-archived#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes eclipse-archived#2332 Selection sitemap item does not show current selection after (eclipse-archived#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (eclipse-archived#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (eclipse-archived#2351) Related to: eclipse-archived#2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Squashed commits Signed-off-by: chaton78 <plarin@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (eclipse-archived#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (eclipse-archived#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (eclipse-archived#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (eclipse-archived#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix eclipse-archived#2105 (eclipse-archived#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> allow referencing a channel type in the DSL (eclipse-archived#2343) in the Thing DSL it is possible to define channels manually. However, it was not possible so far to reference a binding's channel type which is defined in the XMLs. Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> fixed UpnpDiscoveryService to call thingDiscovered for each RemoteDevice already available in the upnp registry (eclipse-archived#2367) Signed-off-by: Andre Fuechsel <andre.fuechsel@telekom.de> Refactored automation.core module && adapted to use Declarative Services (eclipse-archived#2194) Signed-off-by: Vasil Ilchev <v.ilchev@prosyst.bg> NTP Binding Tests Fix (eclipse-archived#2377) Fixed the bug in the NTP Binding, related to the time change. Signed-off-by: Petar Valchev <petar.valchev@musala.com> avoid NPE if no services are found (eclipse-archived#2373) Signed-off-by: Kai Kreuzer <kai@openhab.org> Changed AudioHTTPServer to return relative urls instead of absolute (eclipse-archived#2374) This moves the responsibility of constructing the absolute url to call to the consumer - which is imho the much better approach, as e.g. a consumer like a web browser might request it remotely (from a different network) and thus only it knows which server+port to contact (and with this to avoid any cross origin problems). - adapted Sonos binding to make relative url absolute - added configuration parameter for callback url to Sonos binding (if not set, heuristic approach through scanning available network interfaces is taken) - tested it also successfully with webaudio sink in Paper UI Signed-off-by: Kai Kreuzer <kai@openhab.org> removed duplicate thing and channel definitions (looks like they are still there only by accident) (eclipse-archived#2375) Signed-off-by: Kai Kreuzer <kai@openhab.org> Added space above channel group name (eclipse-archived#2382) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> converting state types into accepted type before sending item state events (eclipse-archived#2334) fixes eclipse-archived#2253 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Allow to define channel labels in the DSL (eclipse-archived#2381) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Prevent scriptarea from overlapping with outputs (eclipse-archived#2346) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> SetupPageController tests (eclipse-archived#2358) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Removed readOnly switch's state text (eclipse-archived#2336) * Hide readOnly item * Removed switch item state text Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Support multiselect with custom values (eclipse-archived#2355) * Support multiselect with custom values Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Use jQuery-ui from npm (eclipse-archived#2385) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Supported contexts' documentation (eclipse-archived#2168) Supported contexts' documentation Signed-off-by: Aoun Bukhari <bukhari@itemis.de> fix Paper UI build (eclipse-archived#2317) Fixes: eclipse-archived#2219 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Updated Thing types Sample left-over. Updated pom.xml Signed-off-by: chaton78 <plarin@gmail.com> Update Config comments Signed-off-by: Pascal Larin <plarin@gmail.com> Squashed Commits Signed-off-by: chaton78 <plarin@gmail.com>
Fix NPE in RulesItemRefresher which occurs during shutdown (#2263) Signed-off-by: Michael Vorburger <mike@vorburger.ch> adapted groovy version (#2265) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> defer creation of sound input until its first use (#2261) Signed-off-by: Kai Kreuzer <kai@openhab.org> Bug fix: item creation while channel linking (#2262) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> added Karaf feature for rest.voice (#2273) Signed-off-by: Kai Kreuzer <kai@openhab.org> removing generics from OSGiTest base class (#2274) since the framework requires minimum OSGi version 4.2 Generics was added to ServiceReference in OSGi v.4.3 Signed-off-by: Miki Jankov <miki.jankov87@gmail.com> Contribution of an HumanLanguageInterpreter that allows to process voice commands in DSL rules (#2272) Signed-off-by: Kai Kreuzer <kai@openhab.org> replaced apache by jetty http client (#2275) Signed-off-by: Kai Kreuzer <kai@openhab.org> fetch supported locales only once instead of three times (#2276) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> added sitemap event subscription mechanism (#2030) * added sitemap event subscription mechanism Signed-off-by: Kai Kreuzer <kai@openhab.org> * allow setting the current page on the initial request and added logging Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: SSE sitemap events support (#5) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * added clean up of closed SSE connections Signed-off-by: Kai Kreuzer <kai@openhab.org> * avoided servlet exception on unknown subscription id Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: refactor: move some template processing code to abstract class Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix widget referencing for SSE stream Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix icon and value update for some widgets Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: remove test logging Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * refactored code to avoid duplicate events Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed cleanup of page change listeners Signed-off-by: Kai Kreuzer <kai@openhab.org> * also consider change events of group items Signed-off-by: Kai Kreuzer <kai@openhab.org> Dbus transport fixes (#2280) * fix indentation * add dbus transport bundle aggregate io pom * fix version * add karaf feature Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix type in javasound pom (#2279) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Type: differ between a full and simple string representation (#2230) * Type: differ between full string representation and toString() * The full string representation must be compatible to the static `valueOf(String)` method of the respective Type implementation. * The toString() returned representation should be as usable a concise but informative representation that is easy for a concise but informative representation that is easy for a person to read. It does not need to be compatible to the `valueOf(String)` method of the respective Type implementation. So, whenever you need a representation that can be consumed by `valueOf(String)` later, you should use the full string representation. Until now `toString()` returned the full string representation which has been changed now. If you rely on a representation that can be consumed by `valueOf(String)` later, you need to adapt your code. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> easy way to add third party JARs to TP for development only (#2283) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix esh-ui-basic feature dependencies (#2284) Fixes: https://github.com/eclipse/smarthome/issues/2281 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> addressed performance worries (#2288) Signed-off-by: Kai Kreuzer <kai@openhab.org> Send sitemap events on sitemap visibility updates (#2290) Signed-off-by: Kai Kreuzer <kai@openhab.org> extended firmware version test by additional assertions required for a binding that will use a combined firmware version, i.e. a version that consist of actual two versions (#2244) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Create an action which can enable or disable a set of rules. (#1914) Signed-off-by: Plamen Peev <p.peev@prosyst.bg> add capability to feature because it is missing in the bundle manifest (#2291) Adds for I18nProvider service capability as it is missing in the esh.core bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Introduction of an AudioServlet to provide audio streams through HTTP (#2287) * Introduction of an AudioServlet to provide audio streams through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed missing stream removal Signed-off-by: Kai Kreuzer <kai@openhab.org> Fix for #2249; Add handling of REFRESH command and introduce lastMotionDetected channel for MotionSensor (#2277) Signed-off-by: Hans-Jörg Merk <hans-joerg.merk@t-online.de> changed volume of AudioSink from float to PercentType (#2286) Signed-off-by: Kai Kreuzer <kai@openhab.org> temporarily ignore failing test (#2293) Signed-off-by: Kai Kreuzer <kai@openhab.org> Rewind and Fast forward in player widget (#2292) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI updates (#2294) * BasicUI: sitemap visibility events support * BasicUI: fix text widget icon update Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> Implemented configuration status handling for hue bridge. (#1819) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> updated license headers of archetype (#2296) Signed-off-by: Kai Kreuzer <kai@openhab.org> check for uniqueness of channels (#2266) ...in ThingHelper and ThingBuilder so no duplicate channels can be created. The ChannelUID is used as the only parameter as it defines the identity of a Channel. fixes #2256 fixes #2210 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Also-by: Markus Rathgeb <maggu2810@gmail.com> Changed ESH-PREFIX and cleaned up warnings (#2298) Signed-off-by: Kai Kreuzer <kai@openhab.org> remove error message on successful thing creation (#2299) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Added X-Accel-Buffering=no header to SSE response in order to disable response buffering when using nginx as a proxy server. (#2300) This allows you to use nginx proxy buffering and still have working SSE. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> Some improvements on audio streams: (#2302) - Introduced FixedLengthAudioStream - Provide Content-Length in AudioServlet - Ignore file extensions in urls in AudioServlet - added ability to reset a FileAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> some code cleanup on sonos (#2303) Signed-off-by: Kai Kreuzer <kai@openhab.org> Set the notification sound volume on first access instead of initialisation (#2307) Signed-off-by: Kai Kreuzer <kai@openhab.org> added support to serve a single AudioStream multiple times concurrently through HTTP (#2305) * added support to serve a single AudioStream multiple times concurrently through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * incorporated review feedback Signed-off-by: Kai Kreuzer <kai@openhab.org> Audio servlet improvements (#2310) * use seconds directly * reorder code to allow usage of try-with-resources Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> adapted MacTTS to use FixedLengthAudioStream (#2311) * adapted MacTTS to use FixedLengthAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> * set length only once Signed-off-by: Kai Kreuzer <kai@openhab.org> * removed null check Signed-off-by: Kai Kreuzer <kai@openhab.org> persisting group functions in the ManagedItemProvider (#2309) fixes #2269 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> initial contribution of a web audio sink (#2313) * initial contribution of a web audio sink Signed-off-by: Kai Kreuzer <kai@openhab.org> * Make sure that streams are closed correctly. Signed-off-by: Kai Kreuzer <kai@openhab.org> Support audio events (#2314) * Support audio events Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI: minor fixes (#2316) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> add capability to feature because it is missing in the bundle manifest (#2319) Adds for AudioHTTPServer service capability as it is missing in the esh.core.audio bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> [LIFX] FindBugs issues fix (#2318) * Unlock lightCounterLock when exceptions occur * Potential NPE in handlePowerStatus Signed-off-by: Wouter Born <eclipse@maindrain.net> Improved README files for all bindings (typos, grammar, text). (#2328) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Removed unnecessary explicit call of parent constructor (parent class is the Object class). (#2330) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Room and Outside temperature now working Add support for set point temperature and mode. Add support for heat level New Library sinope-core 0.0.1 snapshot Updated documentation Update readme.md Update readme.md Update readme.md Added Headers, Java Cleanup and Format Formatting Project compliance Update readme.md Implemented tests for the Wemo Binding. (#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix #2105 (#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> Implemented tests for the Wemo Binding. (#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix #2105 (#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> allow referencing a channel type in the DSL (#2343) in the Thing DSL it is possible to define channels manually. However, it was not possible so far to reference a binding's channel type which is defined in the XMLs. Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> fixed UpnpDiscoveryService to call thingDiscovered for each RemoteDevice already available in the upnp registry (#2367) Signed-off-by: Andre Fuechsel <andre.fuechsel@telekom.de> Refactored automation.core module && adapted to use Declarative Services (#2194) Signed-off-by: Vasil Ilchev <v.ilchev@prosyst.bg> NTP Binding Tests Fix (#2377) Fixed the bug in the NTP Binding, related to the time change. Signed-off-by: Petar Valchev <petar.valchev@musala.com> avoid NPE if no services are found (#2373) Signed-off-by: Kai Kreuzer <kai@openhab.org> Changed AudioHTTPServer to return relative urls instead of absolute (#2374) This moves the responsibility of constructing the absolute url to call to the consumer - which is imho the much better approach, as e.g. a consumer like a web browser might request it remotely (from a different network) and thus only it knows which server+port to contact (and with this to avoid any cross origin problems). - adapted Sonos binding to make relative url absolute - added configuration parameter for callback url to Sonos binding (if not set, heuristic approach through scanning available network interfaces is taken) - tested it also successfully with webaudio sink in Paper UI Signed-off-by: Kai Kreuzer <kai@openhab.org> removed duplicate thing and channel definitions (looks like they are still there only by accident) (#2375) Signed-off-by: Kai Kreuzer <kai@openhab.org> Added space above channel group name (#2382) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> converting state types into accepted type before sending item state events (#2334) fixes #2253 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Allow to define channel labels in the DSL (#2381) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Prevent scriptarea from overlapping with outputs (#2346) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> SetupPageController tests (#2358) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Removed readOnly switch's state text (#2336) * Hide readOnly item * Removed switch item state text Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Support multiselect with custom values (#2355) * Support multiselect with custom values Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Use jQuery-ui from npm (#2385) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Supported contexts' documentation (#2168) Supported contexts' documentation Signed-off-by: Aoun Bukhari <bukhari@itemis.de> fix Paper UI build (#2317) Fixes: https://github.com/eclipse/smarthome/issues/2219 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Updated Thing types Sample left-over. Updated pom.xml Signed-off-by: chaton78 <plarin@gmail.com> Update Config comments Signed-off-by: Pascal Larin <plarin@gmail.com> Initial Release Signed-off-by: chaton78 <plarin@gmail.com> Fix NPE in RulesItemRefresher which occurs during shutdown (#2263) Signed-off-by: Michael Vorburger <mike@vorburger.ch> adapted groovy version (#2265) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> defer creation of sound input until its first use (#2261) Signed-off-by: Kai Kreuzer <kai@openhab.org> Bug fix: item creation while channel linking (#2262) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> added Karaf feature for rest.voice (#2273) Signed-off-by: Kai Kreuzer <kai@openhab.org> removing generics from OSGiTest base class (#2274) since the framework requires minimum OSGi version 4.2 Generics was added to ServiceReference in OSGi v.4.3 Signed-off-by: Miki Jankov <miki.jankov87@gmail.com> Contribution of an HumanLanguageInterpreter that allows to process voice commands in DSL rules (#2272) Signed-off-by: Kai Kreuzer <kai@openhab.org> replaced apache by jetty http client (#2275) Signed-off-by: Kai Kreuzer <kai@openhab.org> fetch supported locales only once instead of three times (#2276) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> added sitemap event subscription mechanism (#2030) * added sitemap event subscription mechanism Signed-off-by: Kai Kreuzer <kai@openhab.org> * allow setting the current page on the initial request and added logging Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: SSE sitemap events support (#5) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * added clean up of closed SSE connections Signed-off-by: Kai Kreuzer <kai@openhab.org> * avoided servlet exception on unknown subscription id Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: refactor: move some template processing code to abstract class Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix widget referencing for SSE stream Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix icon and value update for some widgets Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: remove test logging Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * refactored code to avoid duplicate events Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed cleanup of page change listeners Signed-off-by: Kai Kreuzer <kai@openhab.org> * also consider change events of group items Signed-off-by: Kai Kreuzer <kai@openhab.org> Dbus transport fixes (#2280) * fix indentation * add dbus transport bundle aggregate io pom * fix version * add karaf feature Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix type in javasound pom (#2279) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Type: differ between a full and simple string representation (#2230) * Type: differ between full string representation and toString() * The full string representation must be compatible to the static `valueOf(String)` method of the respective Type implementation. * The toString() returned representation should be as usable a concise but informative representation that is easy for a concise but informative representation that is easy for a person to read. It does not need to be compatible to the `valueOf(String)` method of the respective Type implementation. So, whenever you need a representation that can be consumed by `valueOf(String)` later, you should use the full string representation. Until now `toString()` returned the full string representation which has been changed now. If you rely on a representation that can be consumed by `valueOf(String)` later, you need to adapt your code. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> easy way to add third party JARs to TP for development only (#2283) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix esh-ui-basic feature dependencies (#2284) Fixes: https://github.com/eclipse/smarthome/issues/2281 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> addressed performance worries (#2288) Signed-off-by: Kai Kreuzer <kai@openhab.org> Send sitemap events on sitemap visibility updates (#2290) Signed-off-by: Kai Kreuzer <kai@openhab.org> extended firmware version test by additional assertions required for a binding that will use a combined firmware version, i.e. a version that consist of actual two versions (#2244) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Create an action which can enable or disable a set of rules. (#1914) Signed-off-by: Plamen Peev <p.peev@prosyst.bg> add capability to feature because it is missing in the bundle manifest (#2291) Adds for I18nProvider service capability as it is missing in the esh.core bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Introduction of an AudioServlet to provide audio streams through HTTP (#2287) * Introduction of an AudioServlet to provide audio streams through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed missing stream removal Signed-off-by: Kai Kreuzer <kai@openhab.org> Fix for #2249; Add handling of REFRESH command and introduce lastMotionDetected channel for MotionSensor (#2277) Signed-off-by: Hans-Jörg Merk <hans-joerg.merk@t-online.de> changed volume of AudioSink from float to PercentType (#2286) Signed-off-by: Kai Kreuzer <kai@openhab.org> temporarily ignore failing test (#2293) Signed-off-by: Kai Kreuzer <kai@openhab.org> Rewind and Fast forward in player widget (#2292) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI updates (#2294) * BasicUI: sitemap visibility events support * BasicUI: fix text widget icon update Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> Implemented configuration status handling for hue bridge. (#1819) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> updated license headers of archetype (#2296) Signed-off-by: Kai Kreuzer <kai@openhab.org> check for uniqueness of channels (#2266) ...in ThingHelper and ThingBuilder so no duplicate channels can be created. The ChannelUID is used as the only parameter as it defines the identity of a Channel. fixes #2256 fixes #2210 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Also-by: Markus Rathgeb <maggu2810@gmail.com> Changed ESH-PREFIX and cleaned up warnings (#2298) Signed-off-by: Kai Kreuzer <kai@openhab.org> remove error message on successful thing creation (#2299) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Added X-Accel-Buffering=no header to SSE response in order to disable response buffering when using nginx as a proxy server. (#2300) This allows you to use nginx proxy buffering and still have working SSE. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> Some improvements on audio streams: (#2302) - Introduced FixedLengthAudioStream - Provide Content-Length in AudioServlet - Ignore file extensions in urls in AudioServlet - added ability to reset a FileAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> some code cleanup on sonos (#2303) Signed-off-by: Kai Kreuzer <kai@openhab.org> Set the notification sound volume on first access instead of initialisation (#2307) Signed-off-by: Kai Kreuzer <kai@openhab.org> added support to serve a single AudioStream multiple times concurrently through HTTP (#2305) * added support to serve a single AudioStream multiple times concurrently through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * incorporated review feedback Signed-off-by: Kai Kreuzer <kai@openhab.org> Audio servlet improvements (#2310) * use seconds directly * reorder code to allow usage of try-with-resources Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> adapted MacTTS to use FixedLengthAudioStream (#2311) * adapted MacTTS to use FixedLengthAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> * set length only once Signed-off-by: Kai Kreuzer <kai@openhab.org> * removed null check Signed-off-by: Kai Kreuzer <kai@openhab.org> persisting group functions in the ManagedItemProvider (#2309) fixes #2269 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> initial contribution of a web audio sink (#2313) * initial contribution of a web audio sink Signed-off-by: Kai Kreuzer <kai@openhab.org> * Make sure that streams are closed correctly. Signed-off-by: Kai Kreuzer <kai@openhab.org> Support audio events (#2314) * Support audio events Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI: minor fixes (#2316) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> add capability to feature because it is missing in the bundle manifest (#2319) Adds for AudioHTTPServer service capability as it is missing in the esh.core.audio bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> [LIFX] FindBugs issues fix (#2318) * Unlock lightCounterLock when exceptions occur * Potential NPE in handlePowerStatus Signed-off-by: Wouter Born <eclipse@maindrain.net> Improved README files for all bindings (typos, grammar, text). (#2328) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Removed unnecessary explicit call of parent constructor (parent class is the Object class). (#2330) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Room and Outside temperature now working Add support for set point temperature and mode. Add support for heat level New Library sinope-core 0.0.1 snapshot Updated documentation Update readme.md Update readme.md Update readme.md Added Headers, Java Cleanup and Format Formatting Project compliance Update readme.md Implemented tests for the Wemo Binding. (#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix #2105 (#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> Squash'ed commit Signed-off-by: chaton78 <plarin@gmail.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Squashed commits Signed-off-by: chaton78 <plarin@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix #2105 (#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> allow referencing a channel type in the DSL (#2343) in the Thing DSL it is possible to define channels manually. However, it was not possible so far to reference a binding's channel type which is defined in the XMLs. Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> fixed UpnpDiscoveryService to call thingDiscovered for each RemoteDevice already available in the upnp registry (#2367) Signed-off-by: Andre Fuechsel <andre.fuechsel@telekom.de> Refactored automation.core module && adapted to use Declarative Services (#2194) Signed-off-by: Vasil Ilchev <v.ilchev@prosyst.bg> NTP Binding Tests Fix (#2377) Fixed the bug in the NTP Binding, related to the time change. Signed-off-by: Petar Valchev <petar.valchev@musala.com> avoid NPE if no services are found (#2373) Signed-off-by: Kai Kreuzer <kai@openhab.org> Changed AudioHTTPServer to return relative urls instead of absolute (#2374) This moves the responsibility of constructing the absolute url to call to the consumer - which is imho the much better approach, as e.g. a consumer like a web browser might request it remotely (from a different network) and thus only it knows which server+port to contact (and with this to avoid any cross origin problems). - adapted Sonos binding to make relative url absolute - added configuration parameter for callback url to Sonos binding (if not set, heuristic approach through scanning available network interfaces is taken) - tested it also successfully with webaudio sink in Paper UI Signed-off-by: Kai Kreuzer <kai@openhab.org> removed duplicate thing and channel definitions (looks like they are still there only by accident) (#2375) Signed-off-by: Kai Kreuzer <kai@openhab.org> Added space above channel group name (#2382) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> converting state types into accepted type before sending item state events (#2334) fixes #2253 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Allow to define channel labels in the DSL (#2381) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Prevent scriptarea from overlapping with outputs (#2346) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> SetupPageController tests (#2358) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Removed readOnly switch's state text (#2336) * Hide readOnly item * Removed switch item state text Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Support multiselect with custom values (#2355) * Support multiselect with custom values Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Use jQuery-ui from npm (#2385) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Supported contexts' documentation (#2168) Supported contexts' documentation Signed-off-by: Aoun Bukhari <bukhari@itemis.de> fix Paper UI build (#2317) Fixes: https://github.com/eclipse/smarthome/issues/2219 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Updated Thing types Sample left-over. Updated pom.xml Signed-off-by: chaton78 <plarin@gmail.com> Update Config comments Signed-off-by: Pascal Larin <plarin@gmail.com> Squashed Commits Signed-off-by: chaton78 <plarin@gmail.com> Supports playing audio events on Safari and IE (#2344) * Support audio events on Safari and IE * Use relative url for audio Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Added nginx proxy buffering fix to SitemapResource.java as well. (#2388) Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> added a warning in case the sitemap model name does not match the filename (#2380) Signed-off-by: Kai Kreuzer <kai@openhab.org> Channel translations (#2387) * fixed CoreThingXmlTest launch config * added t9n support for channel definitions fixes #2356 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> fix GenerericItem.getStateAs for non-Convertibles (#2393) When the target type is identical to the current state's type, then the current state should be returned. fixes #2334 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> improved the implementation for the Sonos callbackUri configuration parameter (#2386) Signed-off-by: Kai Kreuzer <kai@openhab.org> Channel linkedItems bug+ui fixes (#2395) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Changed PersistentInbox to remove only results created by the same discovery service (#2369) * PersistentInbox#removeOlderResults removes only results that have been added by the same discovery service * PersistentInbox removes older results too when the discoverer is not known (it is not persisted) Signed-off-by: Andre Fuechsel <andre.fuechsel@telekom.de> Add test to ensure that group functions persist (#2156) With 1cf093e we can create group items with group functions via the REST API, but the group functions are not currently persisted: ManagedItemProvider.PersistedItem is missing affordances to store group functions and ManagedItemProvider is missing code making use of them. This change adds a test to ensure that group functions are saved and restored correctly. The test is currently failing but might benefit the future implementer. Signed-off-by: Martin Kühl <martin.kuehl@gmail.com> Allow copying channel UID to clipboard (#2398) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Sorted bindings, services and service tabs (#2400) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Preference page UI changes (#2401) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> fix ColorItem type conversion (#2406) fixes #2399 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> support for referencing of system channels within channel groups (#2397) fixes #1701 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> BasicUI: fix possible NPE in widget renderer, fixes #2378 (#2411) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> NTP Binding Tests Localization Fix (#2407) Fixed the bug in the NTP Binding, related to returning a different time zone in different locales. Signed-off-by: Petar Valchev <petar.valchev@musala.com> NTP Binding Tests Time Change Fix (#2414) Fixed the bug in the NTP Binding, related to the time change. Signed-off-by: Petar Valchev <petar.valchev@musala.com> Wemo Tests back to default timeout. (#2416) Wemo tests now use the default timeout in waitForAssert statements to prevent test failures on slower machines. Fixes #2392. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Upstream pull Signed-off-by: Pascal Larin <plarin@gmail.com> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Initial Release Signed-off-by: chaton78 <plarin@gmail.com> Fix NPE in RulesItemRefresher which occurs during shutdown (#2263) Signed-off-by: Michael Vorburger <mike@vorburger.ch> adapted groovy version (#2265) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> defer creation of sound input until its first use (#2261) Signed-off-by: Kai Kreuzer <kai@openhab.org> Bug fix: item creation while channel linking (#2262) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> added Karaf feature for rest.voice (#2273) Signed-off-by: Kai Kreuzer <kai@openhab.org> removing generics from OSGiTest base class (#2274) since the framework requires minimum OSGi version 4.2 Generics was added to ServiceReference in OSGi v.4.3 Signed-off-by: Miki Jankov <miki.jankov87@gmail.com> Contribution of an HumanLanguageInterpreter that allows to process voice commands in DSL rules (#2272) Signed-off-by: Kai Kreuzer <kai@openhab.org> replaced apache by jetty http client (#2275) Signed-off-by: Kai Kreuzer <kai@openhab.org> fetch supported locales only once instead of three times (#2276) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> added sitemap event subscription mechanism (#2030) * added sitemap event subscription mechanism Signed-off-by: Kai Kreuzer <kai@openhab.org> * allow setting the current page on the initial request and added logging Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: SSE sitemap events support (#5) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * added clean up of closed SSE connections Signed-off-by: Kai Kreuzer <kai@openhab.org> * avoided servlet exception on unknown subscription id Signed-off-by: Kai Kreuzer <kai@openhab.org> * BasicUI: refactor: move some template processing code to abstract class Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix widget referencing for SSE stream Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: fix icon and value update for some widgets Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * BasicUI: remove test logging Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> * refactored code to avoid duplicate events Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed cleanup of page change listeners Signed-off-by: Kai Kreuzer <kai@openhab.org> * also consider change events of group items Signed-off-by: Kai Kreuzer <kai@openhab.org> Dbus transport fixes (#2280) * fix indentation * add dbus transport bundle aggregate io pom * fix version * add karaf feature Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix type in javasound pom (#2279) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Type: differ between a full and simple string representation (#2230) * Type: differ between full string representation and toString() * The full string representation must be compatible to the static `valueOf(String)` method of the respective Type implementation. * The toString() returned representation should be as usable a concise but informative representation that is easy for a concise but informative representation that is easy for a person to read. It does not need to be compatible to the `valueOf(String)` method of the respective Type implementation. So, whenever you need a representation that can be consumed by `valueOf(String)` later, you should use the full string representation. Until now `toString()` returned the full string representation which has been changed now. If you rely on a representation that can be consumed by `valueOf(String)` later, you need to adapt your code. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> easy way to add third party JARs to TP for development only (#2283) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix esh-ui-basic feature dependencies (#2284) Fixes: https://github.com/eclipse/smarthome/issues/2281 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> addressed performance worries (#2288) Signed-off-by: Kai Kreuzer <kai@openhab.org> Send sitemap events on sitemap visibility updates (#2290) Signed-off-by: Kai Kreuzer <kai@openhab.org> extended firmware version test by additional assertions required for a binding that will use a combined firmware version, i.e. a version that consist of actual two versions (#2244) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Create an action which can enable or disable a set of rules. (#1914) Signed-off-by: Plamen Peev <p.peev@prosyst.bg> add capability to feature because it is missing in the bundle manifest (#2291) Adds for I18nProvider service capability as it is missing in the esh.core bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Introduction of an AudioServlet to provide audio streams through HTTP (#2287) * Introduction of an AudioServlet to provide audio streams through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * fixed missing stream removal Signed-off-by: Kai Kreuzer <kai@openhab.org> Fix for #2249; Add handling of REFRESH command and introduce lastMotionDetected channel for MotionSensor (#2277) Signed-off-by: Hans-Jörg Merk <hans-joerg.merk@t-online.de> changed volume of AudioSink from float to PercentType (#2286) Signed-off-by: Kai Kreuzer <kai@openhab.org> temporarily ignore failing test (#2293) Signed-off-by: Kai Kreuzer <kai@openhab.org> Rewind and Fast forward in player widget (#2292) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI updates (#2294) * BasicUI: sitemap visibility events support * BasicUI: fix text widget icon update Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> Implemented configuration status handling for hue bridge. (#1819) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> updated license headers of archetype (#2296) Signed-off-by: Kai Kreuzer <kai@openhab.org> check for uniqueness of channels (#2266) ...in ThingHelper and ThingBuilder so no duplicate channels can be created. The ChannelUID is used as the only parameter as it defines the identity of a Channel. fixes #2256 fixes #2210 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> Also-by: Markus Rathgeb <maggu2810@gmail.com> Changed ESH-PREFIX and cleaned up warnings (#2298) Signed-off-by: Kai Kreuzer <kai@openhab.org> remove error message on successful thing creation (#2299) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Added X-Accel-Buffering=no header to SSE response in order to disable response buffering when using nginx as a proxy server. (#2300) This allows you to use nginx proxy buffering and still have working SSE. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> Some improvements on audio streams: (#2302) - Introduced FixedLengthAudioStream - Provide Content-Length in AudioServlet - Ignore file extensions in urls in AudioServlet - added ability to reset a FileAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> some code cleanup on sonos (#2303) Signed-off-by: Kai Kreuzer <kai@openhab.org> Set the notification sound volume on first access instead of initialisation (#2307) Signed-off-by: Kai Kreuzer <kai@openhab.org> added support to serve a single AudioStream multiple times concurrently through HTTP (#2305) * added support to serve a single AudioStream multiple times concurrently through HTTP Signed-off-by: Kai Kreuzer <kai@openhab.org> * incorporated review feedback Signed-off-by: Kai Kreuzer <kai@openhab.org> Audio servlet improvements (#2310) * use seconds directly * reorder code to allow usage of try-with-resources Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> adapted MacTTS to use FixedLengthAudioStream (#2311) * adapted MacTTS to use FixedLengthAudioStream Signed-off-by: Kai Kreuzer <kai@openhab.org> * set length only once Signed-off-by: Kai Kreuzer <kai@openhab.org> * removed null check Signed-off-by: Kai Kreuzer <kai@openhab.org> persisting group functions in the ManagedItemProvider (#2309) fixes #2269 Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> initial contribution of a web audio sink (#2313) * initial contribution of a web audio sink Signed-off-by: Kai Kreuzer <kai@openhab.org> * Make sure that streams are closed correctly. Signed-off-by: Kai Kreuzer <kai@openhab.org> Support audio events (#2314) * Support audio events Signed-off-by: Aoun Bukhari <bukhari@itemis.de> BasicUI: minor fixes (#2316) Signed-off-by: Vlad Ivanov <vlad-mbx@ya.ru> add capability to feature because it is missing in the bundle manifest (#2319) Adds for AudioHTTPServer service capability as it is missing in the esh.core.audio bundle manifest Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> [LIFX] FindBugs issues fix (#2318) * Unlock lightCounterLock when exceptions occur * Potential NPE in handlePowerStatus Signed-off-by: Wouter Born <eclipse@maindrain.net> Improved README files for all bindings (typos, grammar, text). (#2328) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Removed unnecessary explicit call of parent constructor (parent class is the Object class). (#2330) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> Room and Outside temperature now working Add support for set point temperature and mode. Add support for heat level New Library sinope-core 0.0.1 snapshot Updated documentation Update readme.md Update readme.md Update readme.md Added Headers, Java Cleanup and Format Formatting Project compliance Update readme.md Implemented tests for the Wemo Binding. (#2247) During the test implementation several problems were found and some tests are ignored. Signed-off-by: Svilen Valkanov <svilen.valkanov@musala.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test Eclipse's project settings * remove maven nature from Groovy test project * add Grovy project settings Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> increase timeout for NTP channel updates Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Apache Commons Collections (necessary for core) Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> enable NTP test again Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> initial contribution of Sonos AudioSink support (#2306) * initial contribution of Sonos AudioSink support Signed-off-by: Kai Kreuzer <kai@openhab.org> * fix NPEs Signed-off-by: Kai Kreuzer <kai@openhab.org> Changes in the FSInternetRadio binding. (#2348) Some changes are made in org.eclipse.smarthome.bindig.fsinternetradio. They are mainly related to cleaning up some unneccessary checks and code lines that can never be reached. The HTTP client now is stopped with the deactivation of the bundle. The hardcoded "fsapi" String is now extracted into an instance variable. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Added SatisfiableRESTResource and SatisfiableResourceFilter and refactored all ESH RESTResource that have mandatory static dependencies to optional and dynamic and made them implement the new interface. (#2320) This is done in order to avoid deactivation/reactivation of RESTResources whenever some of their dependencies go missing as this in turn causes the entire Jersey model to reload which can be very very costly on weak CPU devices. Instead when a dependency goes missing the SatisfiableResourceFilter will call the newly introduced SatisfiableRESTResource#isSatisfied before the matched resource method is executed and will return 503 Unavailable if the service is not satisfied. Currently when a RESTResource is deactivated and Jersey is reloading the JAX RS OSGi Connector implementation will return 503 so the behaviour is consistent. Signed-off-by: IVAN GEORGIEV ILIEV <ivan.iliev@musala.com> improve "get port" mechanism (#2331) * improve "get port" mechanism It is not mandatory that the system property is used for setting the service port. So we should also respect the service property. The configuration admin is e.g. used by Pax Web. See also: http://felix.apache.org/documentation/subprojects/apache-felix-http-service.html The service can both be configured using OSGi environment properties and using Configuration Admin. ... If you use both methods, Configuration Admin takes precedence. Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> Scheduler : fix #2105 (#2270) Also-by: Markus Rathgeb <maggu2810@gmail.com> Signed-off-by: Karel Goderis <karel.goderis@me.com> Fix FirmwareUpdateServiceOSGiTest - separate waitForAssert to check thing status and initial firmware status propagation (#2301) Signed-off-by: Thomas Höfer <t.hoefer@telekom.de> Applied error class (#2335) Signed-off-by: Aoun Bukhari <bukhari@itemis.de> Fixes #2322 Basic UI no longer updates icons (#2338) * Fixes #2322 Basic UI no longer updates icons Signed-off-by: Wouter Born <eclipse@maindrain.net> Implemented tests for NTP Binding (#2243) I have implemented several tests for the NTP Binding. Also, I have made small changes in the code of the NtpHandler and NtpBindingConstants Signed-off-by: Petar Valchev <petar.valchev@musala.com> Squash'ed commit Signed-off-by: chaton78 <plarin@gmail.com> renamed channelType to channelKind in the model (#2342) Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com> added meta data for audio and voice services (#2339) Signed-off-by: Kai Kreuzer <kai@openhab.org> Implemented tests for FolderObserver (#2074) There are 8 test cases testing the functionality of org.eclipse.smarthome.model.core.internal.folder.FolderObserver. They check if the correct ModelRepository's methods are invoked when certain events in the watched directory are triggered. The tests are fixed in order to run properly on MacOS. Markus comments are addressed. Signed-off-by: Mihaela Memova <mihaela.memova@musala.com> Fixes #2332 Selection sitemap item does not show current selection after (#2347) Basic UI page (re)load Signed-off-by: Wouter Born <eclipse@maindrain.net> Fixed mistyped variable for Wemo binding OSGi tests. (#2349) Signed-off-by: Alexander Kostadinov <alexander.g.kostadinov@gmail.com> disable NTP tests until issue is solved (#2351) Related to: https://github.com/eclipse/smarthome/issues/2345 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com> fix NTP test eclipse launch configuration * Remove a lot of UI bundles * Add Ap…
Signed-off-by: Karel Goderis karel.goderis@me.com