Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.

ESH Scheduler: Cron expression has no future #2105

Closed
maggu2810 opened this issue Sep 2, 2016 · 13 comments
Closed

ESH Scheduler: Cron expression has no future #2105

maggu2810 opened this issue Sep 2, 2016 · 13 comments

Comments

@maggu2810
Copy link
Contributor

I am using the ESH scheduler (thanks for your work @kgoderis) and add a job using a cron expression.
To execute the job every second I used this expression: * * * * * ?'

It runs for about two minutes and stops then

14:37:39.259 DEBUG o.e.s.c.p.PersistenceManager[:298] - Scheduled strategy everySecond with cron expression * * * * * ?
14:39:17.561 INFO  o.e.s.c.s.ExpressionThreadPoolManager[:178] - Expression '* * * * * ?' has no future executions anymore

@kgoderis Can you explain me, why this crone expression has no future executions anymore?

@maggu2810 maggu2810 changed the title ESH Scheduler ESH Scheduler: Cron expression has no future Sep 2, 2016
@kgoderis
Copy link
Contributor

kgoderis commented Sep 2, 2016

No, I have no clue why that is happening. I tested this kind of wild-fireing scenario during development. The issue lies within https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L209

The general approach is that a number of "next occurrence" candidates is generated (minimum 10, maximum 100), from which the first chronologically sorted occurrence is selected and returned.

I wondering if there is timing issue that arises because at one point in time dates/candidates are compared and pruned. Did you try with TRACE on org.eclipse.smarthome.core.scheduler ?

@kgoderis
Copy link
Contributor

kgoderis commented Sep 2, 2016

Ok - I think I found the issue. I think that in https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L209 the collection https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L40 is not cleared, but it rather continues from the candidates generated in a previous cycle. Either the collection is cleared, or some call to https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L134 and https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L85 has to be inserted in this method so that the collection of candidates is updated with new candidates using the new startdate. Thinking about it, https://github.com/eclipse/smarthome/blob/90c80c1ceb54546a9af83e775485cda1a038cee2/bundles/core/org.eclipse.smarthome.core/src/main/java/org/eclipse/smarthome/core/scheduler/AbstractExpression.java#L209 is a bit flawed. I think I was too enthusiastic at the time ;-)

And since maximum 100 candidates are generated, it consumes that last candidates after approx 100 seconds, or 1minute 40 seconds in your example

@maggu2810
Copy link
Contributor Author

maggu2810 commented Sep 2, 2016

This test will show you the error, too:

    @Test
    public void runForever() throws ParseException, InterruptedException {
        final ExpressionThreadPoolExecutor scheduler;
        scheduler = ExpressionThreadPoolManager.getExpressionScheduledPool("persist");
        final CronExpression expression;
        expression = new CronExpression("* * * * * ?");

        final AtomicInteger cnt = new AtomicInteger(0);

        scheduler.schedule(new Runnable() {

            @Override
            public void run() {
                System.out.println("new value: " + cnt.incrementAndGet());
            }
        }, expression);

        final long end = System.nanoTime() + TimeUnit.MINUTES.toNanos(5);
        while (System.nanoTime() < end) {
            final int value = cnt.get();
            Thread.sleep(TimeUnit.SECONDS.toMillis(5));
            if (value == cnt.get()) {
                throw new RuntimeException(String.format("Value not changed anymore (%d)", value));
            }
        }
    }

It stops after new value: 99

@kgoderis
Copy link
Contributor

kgoderis commented Sep 2, 2016

Ah... That is in line with my hypotheses of exhausting 100 candidate dates..... In fact we use getdateafter() in an unintended way. Either the expression is parsed and we query a fixed candidate set, or either the candidate set is dynamic (our case), in which it needs to be updated in each call to getdateafter()

@kgoderis
Copy link
Contributor

kgoderis commented Sep 3, 2016

@maggu2810 Maybe there is a thing or two we need to discuss and decide upon. I reflected on the problem you encounter and the "problem" lies in the fact that in terms of expressions like cron, RFC 5545 and alike is that in some expression languages/definitions a real start date of the date expression is not defined. This is for example the case with cron expressions. On the other extreme, an DateExpression that represents a single fixed date in time, has a startdate that is firm. That means that in order to evaluate expressions, you need to couple them with a startdate

The actual code, when creating an expression, assumes that this startdate is fixed over the lifetime of the expression. Obviously, in the case of your example here above, and in the context of scheduling, it is not the case: you want to evaluate the expression as of the actual datetime. The algorithm and approach to identify dates that match the expression is built in such a way that candidate dates are seeded, grown and pruned from a set of generated dates. For some kind of expressions, like your example, the series of possible dates is infinite. This is not always the case, like in RFC5545. So, in order to keep the algorithm performing, I limit this to a maximum of 100 dates.

So, in essence there are two ways to deal with this:

  1. You set a startdate, evaluate an expression, and during the next call to getTimeAfter(Date afterTime), the startdate has to be moved forward, and the set of candidate dates has to be "expanded" again to the maximum of 100. (In this scenario, we do not not even need 100 candidates, as even 1 would suffice).
  2. You set a startdate, evaluate an expression, and consider the set of candidates to be definitive, which you query via getTimeAfter(Date afterTime), and silently hope that afterTime is not reaching beyond the 100th candidate. This is how the method works right now, and is the reason why it stalls after 100 iterations

My suggestion would be to add some additional parameter to getTimeAfter(Date afterTime) to steer the wanted behaviour, e.g. wether the startDate has to be altered if no candidate was found in a first try (e.g. you would set startdate to the value of afterTime). Alternatively, we define an abstract method on Expression like "boolean isFloatingStartDate()", which needs to be implemented by the implementing classes. It woud return true for CronExpression, false for RFC5545, .... and could be used to change the behaviour of getTimeAfter(Date afterTime).

I am not sure if I expressed thing well, but wdyt?

@maggu2810
Copy link
Contributor Author

Hi @kgoderis, thanks for your detailed analysis.
I assume point 2 is a "no-go" because it will break cron expressions that hit more then 100 times.

I don't know much about the current scheduler code base, but if no candidate was found I assume you refer to "the 100 candidates of the first search are consumed completely". If the real search for candidates does not found anyone, I assume set the start date to a future date will not change anything.
But if the found candidates are empty, we could start another run and only if this run does not find any new candidates the expression / timer expires.
I don't read the RFC5545, but I assume also for non floating start dates there could be more then 100 results and we should not drop any of them after the first 100 are consumed.

Makes that sense at all?

@kgoderis
Copy link
Contributor

kgoderis commented Sep 5, 2016

I don't know much about the current scheduler code base, but if no candidate was found I assume you refer to "the 100 candidates of the first search are consumed completely". If the real search for candidates does not found anyone, I assume set the start date to a future date will not change anything.

Indeed, and in that case the getTimeAfter call should return null. And as you suggest, we first have to try to replenish the pool of candidates, and if none come up, we return the null value.

The question is: it is the responsibility of the calling party to first set (or re-set) the start date, and then do the call, or do we let the Expression handle this based on what it finds?

@maggu2810
Copy link
Contributor Author

  • getTimeAfter(Date) builds the candidates if the candidates is empty
  • this is done by set the start date and parse the expression
  • after that the candidates are not empty anymore
  • the collection returned by getCandiddates is sorted all the time
  • Is there any other function that adds candidates? Shouldn't be it enough to call sort after parseExpression once?

Can we do something similar to this one?

    private void calcCandidates(Date startTime) throws ParseException {
        setStartDate(startTime);
        parseExpression(expression);
        Collections.sort(candidates);
    }

    @Override
    public Date getTimeAfter(Date afterTime) {
        try {
            if (candidates.isEmpty()) {
                calcCandidates(afterTime);
            }
            while (!candidates.isEmpty()) {
                final Date candidate = candidates.remove(0);
                if (candidate.after(afterTime)) {
                    // After removing the last element, we need to populate the next candidates.
                    calcCandidates(candidate);
                    return candidate;
                }
            }
        } catch (final ParseException ex) {
            // log...
        }
        return null;
    }

If the start time needs something that is explicit set, we need to recalculate candidates without setting the global start time.

If the candidates are not limited to 100 (ATM) then I assume that the getFinalFireTime is also not correct.

@maggu2810
Copy link
Contributor Author

Does this concept with that candidates work for cron expressions at all?
The getTimeAfter(Date) is described this way: "Returns the next date/time after the given date/time which satisfies the expression."

But if we are using candidates and the lookup is done in the candidates (which could be unlimited for cron expressions) then we will only receive correct results if "afterTime" is never set in to some value in front of the start time or so. So it should also be stated in the documentation that afterTime must not jump in the past again.

@kgoderis
Copy link
Contributor

kgoderis commented Sep 6, 2016

Can we do something similar to this one?

mmh... it assumes that at each call of getTimeAfter, the afterTime is later than the previous afterTime from the previous call, no? It also has a bit of a performance issue because the set is recalculated all the time.

What if we change the strategy completely? and calculate a new candidate set with every call to getTimeAfter()?

we define "Set parseExpression(expression, afterTime)" that does the following in each "round"

  1. Parse the expression by expanding some seeds, taking into account startDate as "firm" date that does not change during this process, unless Expression.hasFloatingStartDate() return true. Then we do setStartDate(afterTime)
  2. Prune unnecessary candidates
  3. We set the minimum/maximum number of candidates to a/b with a and be to be defined
  4. If all candidates in the set are before afterTime (and the number of candidates is equals to b), we loop through 1. to 3. again with the last date from the just calculated set as initial seed. If we have less that b candidates in the set, then we know that we are at the end of the series

The result is a set of candidate set of dates that adhere to the expression and the startdate
From that set, we return the first candidate after afterTime

@kgoderis
Copy link
Contributor

kgoderis commented Sep 6, 2016

If the candidates are not limited to 100 (ATM) then I assume that the getFinalFireTime is also not correct.

You have a point here, but I have to revisit what I have implemented (E.g. return null or alike in certain cases)

@kgoderis
Copy link
Contributor

kgoderis commented Sep 6, 2016

Does this concept with that candidates work for cron expressions at all?

I must admit that I had first developed the RFC5545 part, and then added in cron. I think that the solution lies in setting the startDate to afterTime in case of certain types of expressions, like cron, that do not define explicit start dates.

@kgoderis
Copy link
Contributor

kgoderis commented Oct 5, 2016

I am preparing fix for this

kgoderis added a commit to kgoderis/smarthome that referenced this issue Oct 6, 2016
Signed-off-by: Karel Goderis <karel.goderis@me.com>
kgoderis added a commit to kgoderis/smarthome that referenced this issue Oct 20, 2016
Also-by: Markus Rathgeb <maggu2810@gmail.com>
Signed-off-by: Karel Goderis <karel.goderis@me.com>
chaton78 pushed a commit to chaton78/smarthome that referenced this issue Oct 26, 2016
Also-by: Markus Rathgeb <maggu2810@gmail.com>
Signed-off-by: Karel Goderis <karel.goderis@me.com>
chaton78 added a commit to chaton78/smarthome that referenced this issue Nov 8, 2016
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>
chaton78 added a commit to chaton78/smarthome that referenced this issue Nov 8, 2016
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>
chaton78 added a commit to chaton78/smarthome that referenced this issue Nov 8, 2016
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…
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants