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

added sitemap event subscription mechanism #2030

Merged
merged 12 commits into from
Oct 7, 2016

Conversation

kaikreuzer
Copy link
Contributor

This PR provides the server side components for solving #640.

Note that it isn't yet ready for merging; it is still completely untested and probably very buggy.
Nonetheless, I want to give an early access to it, specifically for @resetnow to check whether it looks like the right approach to solve #640.

I specifically have one open issue: currently, I introduced a /rest/sitemaps/subscribe url that returns an SSE event stream upon a GET request. Within this request it creates a new subscription id. Imho this is not valid according to REST principles. There probably rather should be a POST /rest/events/subscribe request to create a new subscription, which is then followed by a GET /rest/sitemap/events/<subscriptionId>. WDYT?

Signed-off-by: Kai Kreuzer kai@openhab.org

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Aug 23, 2016

There probably rather should be a POST /rest/events/subscribe request to create a new subscription, which is then followed by a GET /rest/sitemap/events/.

Technically, it wouldn't be a problem to use this method as well the one that is already implemented; one thing to consider, though, is that two HTTP requests take a little bit more time than one. I don't know whether or not it matters here.

I'll try to adapt the client code and see how it goes.

@vlad-ivanov-name
Copy link
Contributor

@kaikreuzer as of now, opening /basicui/app causes the following exception:

java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
    at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:964)
    at org.eclipse.smarthome.io.rest.sitemap.SitemapSubscriptionService.exists(SitemapSubscriptionService.java:112)
    at org.eclipse.smarthome.io.rest.sitemap.SitemapSubscriptionService.setPageId(SitemapSubscriptionService.java:143)
    at org.eclipse.smarthome.ui.basic.internal.servlet.WebAppServlet.service(WebAppServlet.java:146)

Do I need to apply any additional patches/changes?

@kaikreuzer
Copy link
Contributor Author

@resetnow You need to make sure that subscriptionId is set in WebAppServlet.java:146, i.e. you have to pass it as a parameter (as it is set through req.getParameter("subscriptionId");).

one thing to consider, though, is that two HTTP requests take a little bit more time than one.

Right, but as this only needs to be done once for the session, this should not matter.
I'll then change the code to require an HTTP POST (in the coming days).

@kaikreuzer
Copy link
Contributor Author

kaikreuzer commented Aug 29, 2016

@resetnow I have updated this PR and was able to successfully subscribe to sitemap events.

What you need to do:

  • Do an HTTP POST to POST /rest/sitemaps/events/subscribe. This results in an HTTP 201 (Created) with a location like http://localhost:8080/rest/sitemaps/events/dbda41b1-9680-4112-b837-fa9b83f651c7, where the last path segment is a newly created subscription id.
  • Do an HTTP GET to http://localhost:8080/rest/sitemaps/events/dbda41b1-9680-4112-b837-fa9b83f651c7, which will be the connection for your SSE stream.
  • Whenever you change the page (i.e. you call '/rest/sitemaps/{sitemapname}/{pageid}'), you should provide the subscription id as a query param (e.g. http://localhost:8080/rest/sitemaps/demo/0202?subscriptionid=dbda41b1-9680-4112-b837-fa9b83f651c7). - note that this is not applicable for the Basic UI; for this, you have to add the subscription id as a param to requests to the WebAppServlet - I already adapted the code to correctly switch the events to the new page then.

The events are similar to what you receive for the widgets when requesting a whole page, but carry less information (i.e. only what might have changed, but not the static data). Here is an example:

{
  sitemapName: "demo",
  pageId : "0202",
  widgetId: "02020102",
  label: "Temperature [23,0 °C]", 
  visibility: true, 
  item: {
    category : "temperature",
    label : "Temperature",
    name : "Temperature_Setpoint",
    state : "23",
    tags : [],
    type : "NumberItem"
  } 
}

@digitaldan
Copy link
Contributor

Just wondering why there needs to be a stateful session that persists across requests? Could a request that contains the header 'accept: text/event-stream' to http://localhost:8080/rest/sitemaps/demo/0202 not return that sitemap fragment plus a stream of events for any updates?

@kaikreuzer
Copy link
Contributor Author

@digitaldan This would not work for the Basic UI, since this does not at all request the sitemap pages through the REST API, but assembles the HTML directly on the server side.
As a result, the Basic UI would have create new SSE sessions all the time, while with the current implementation only a single SSE connection is required.

@digitaldan
Copy link
Contributor

@kaikreuzer understood. It seems to be very specific to the basic ui impl or at least sitemaps, but does not follow the http://www.eclipse.org/smarthome/documentation/features/rest.html patterns so its hard to explain to new dvelopers why sitemaps has such a different eventing pattern compared to topics (which mostly are centered around items of course). My naive suggestion didn't follow those patterns either ;-) The pattern (step 1, step 2, step 3) seems awkward, but unfortunately I'm not offering any better solutions, I wish there was only 1 step ;-)

@kaikreuzer
Copy link
Contributor Author

When creating the (main) SSE feature, I actually had in mind to allow changes to the subscription through REST calls (i.e. adding some additional topics), while keeping the existing SSE connection - so this PR here is pretty much in line with that idea (which was never implemented due to lack of time...). Also for the new sitemap concept, I would see a single SSE connection for the push-events with the possibility to re-configure the details of the subscription. I wouldn't call this design awkward 8-)

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 1, 2016

@kaikreuzer thank you for the update. I was able to get subscription ID and open an event stream, however, there doesn't seem to be anything in this event stream. I see messages about creating new ID and opening a subscription in the console, but no actual events. I've pushed a few simple changes here, so you could cherry-pick aec4037. With this commit there should be a message in the browser console every time there is an event in the SSE stream.

Maybe I misconfigured a debug configuration? These messages do appear, though:

2016-09-01 21:11:05.904 [DEBUG] [i.r.s.internal.SitemapResource:210  ] - Created sitemap event subscription b755a3a2-37e1-4b9c-b4ae-1020e6be3b1b.
2016-09-01 21:11:06.009 [DEBUG] [i.r.s.internal.SitemapResource:234  ] - Client requested sitemap event stream for subscription b755a3a2-37e1-4b9c-b4ae-1020e6be3b1b.

@kaikreuzer
Copy link
Contributor Author

@resetnow It seems to me that you missed "you have to add the subscription id as a param to requests to the WebAppServlet", at least I cannot see this in your code.

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 2, 2016

@kaikreuzer I assume you mean requests that produce actual page html, so the subscription location (the page user is currently on) could be updated? It would be good to initialize location to something by default without the need to make additional request (essentially refreshing the page). It could be either referrer header used to set location or a separate request sent once UI is loaded.

I have added the latter method (as it is easier to implement) in 39c1c8d. It seems the request is made and location is updated, but I still don't see any events coming from the stream.

screenshot from 2016-09-02 21-52-18

@kaikreuzer kaikreuzer force-pushed the ssesitemaps branch 2 times, most recently from 29924d8 to 18c8935 Compare September 2, 2016 22:45
@kaikreuzer
Copy link
Contributor Author

I assume you mean requests that produce actual page html

Yes, correct.

It would be good to initialize location to something by default

Ok, I have just pushed this commit, which now allows to provide a sitemap and a pageid as query params to the initial SSE GET request (like GET /rest/sitemaps/events/424c6a8b-66cd-4f4d-b137-ba8344025a10?sitemap=demo&pageid=0202)- this then automatically sets the initial page. Additionally I have added logging.

I am now only doing the two calls:

POST http://localhost:8080/rest/sitemaps/events/subscribe
GET /rest/sitemaps/events/424c6a8b-66cd-4f4d-b137-ba8344025a10?sitemap=demo&pageid=0202

and see this in the logs:

2016-09-03 00:37:32.372 [DEBUG] [r.s.SitemapSubscriptionService:94   ] - Created new subscription with id 424c6a8b-66cd-4f4d-b137-ba8344025a10
2016-09-03 00:38:00.946 [DEBUG] [r.s.SitemapSubscriptionService:155  ] - Subscription 424c6a8b-66cd-4f4d-b137-ba8344025a10 changed to page 0202 of sitemap demo
2016-09-03 00:38:05.139 [DEBUG] [i.r.s.internal.SitemapResource:239  ] - Client requested sitemap event stream for subscription 424c6a8b-66cd-4f4d-b137-ba8344025a10.

When I now switch something in the Basic UI on the Widget overview page, I receive events (and according log entries):

2016-09-03 00:38:23.147 [DEBUG] [r.s.SitemapSubscriptionService:52   ] - Sent sitemap event for widget 02020100 to subscription 424c6a8b-66cd-4f4d-b137-ba8344025a10.

I have added the latter method (as it is easier to implement) in 39c1c8d

I guess you won't need this anymore.

but I still don't see any events coming from the stream.

Did you remember to change some states? :-) I hope the logging will help you to get it working!

@vlad-ivanov-name
Copy link
Contributor

Thanks! I have updated resetnow/smarthome/ssesitemaps. It works for me, there is a problem, though: after refreshing a page several times every state change will cause multiple events to be sent. I have added a console.log call for event reception, so it's possible to see it in browser. By the way, is there is any kind of “garbage collector” for unused subscriptions?

Also, do sitemap events also work for longpolling or do we keep longpolling as it is?

@kaikreuzer
Copy link
Contributor Author

I have updated resetnow/smarthome/ssesitemaps

I can not pull these changes in my branch as you didn't sign-off your commits. Could you create a PR against my branch, then I could simply merge that to include your changes.

after refreshing a page several times every state change will cause multiple events to be sent

Do you create a new subscription on every page refresh? Or are these duplicate events on a single subscription (didn't yet have the time to test your code myself, sorry). If the latter, I'll look into it to fix it.

is there is any kind of “garbage collector” for unused subscriptions?

Not yet, but this is clearly something I need to implement, before the PR gets merged. But I first wanted to see the feature working at all :-)

Also, do sitemap events also work for longpolling or do we keep longpolling as it is?

Imho, it does not make any sense to combine SSE with longpolling here. A client should do either or.

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 4, 2016

Do you create a new subscription on every page refresh? Or are these duplicate events on a single subscription?

Both. I do create a subscription on initial page load and therefore on refresh, and there are duplicate events on a single subscription.

@vlad-ivanov-name
Copy link
Contributor

kaikreuzer#5

@kaikreuzer
Copy link
Contributor Author

Just tried your changes, but although I see web/smarthome.js changed in my workspace, the Basic UI does not seem to subscribe to anything - there also isn't a subscriptionId added to the url when navigating. Are you sure that you included all necessary changes...?

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 4, 2016

Well there should be at least a subscription request which you should see in the developer tools of your browser in the “network” tab. If there isn't one, try clearing the browser cache — I checked the files I have pushed and they appear to be correct (in the commit above).

Also, are there any errors in the javascript console? I've tried Firefox and Chrome, other browsers might not work.

@kaikreuzer
Copy link
Contributor Author

Ok, my fault, I wasn't running the correct code.
Now I see a subscription being created, the SSE stream being requested and the page being changed.

Nonetheless, I do not see any reaction of the UI when a value is changed and I do not get any logging int he JS console...

I do create a subscription on initial page load and therefore on refresh

Is there any way to avoid this? If there is an existing SSE connection, could you just continue to use it?

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 5, 2016

Is there any way to avoid this? If there is an existing SSE connection,
could you just continue to use it?

I could use persistent browser storage.

Something like this:

if (connect(savedSubscriptionId) == error) {
requestNewSubId();
reconnect();
}

I assume there will be an error when the subscription has already been
cleaned up by the garbage collector.

@kaikreuzer
Copy link
Contributor Author

I assume there will be an error when the subscription has already been
cleaned up by the garbage collector.

What I meant is to know whether there is an active SSE connection, not if there is subscriptionId. Or is the SSE connection in any case closed when you do a refresh?

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 5, 2016

Yes, it is closed on page refresh.

@kaikreuzer
Copy link
Contributor Author

Hm, ok, so the garbage collection is urgently needed... I didn't yet find any mechanism to notice when a client closes the SSE connection, though. Will have to figure out how to do this.

But apart from this, do you have any idea, why the UI doesn't receive the events? In the log, I see "Sent sitemap event..." for the correct subscription id...

Another remark: Having the subscriptionId as an HTTP GET parameter causes a problem for bookmarks etc. as it causes an IAE, if the subscription does not exist (anymore). Do you have any good idea how to circumvent this? I wonder, if a second HTTP request (a PUT) would actually be the cleaner option...

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 5, 2016

I didn't yet find any mechanism to notice when a client closes the SSE connection, though.

It's probably safe to assume that SSE connection can be dropped by remote without any prior notification (wifi can become out of range, cable can be unplugged, etc). The only way to detect it is to send keep-alive messages every minute or so. This message may be a : comment or just a different type of event (event: keepalive won't trigger a client-side event handler). The subscription may be considered obsolete when a socket write fails.

Having the subscriptionId as an HTTP GET parameter causes a problem for bookmarks etc. as it causes an IAE, if the subscription does not exist (anymore). Do you have any good idea how to circumvent this? I wonder, if a second HTTP request (a PUT) would actually be the cleaner option...

It's possible to display an URL without subscriptionId in the address bar and make requests w/ one when navigating.

But apart from this, do you have any idea, why the UI doesn't receive the events? In the log, I see "Sent sitemap event..." for the correct subscription id...

https://resetnow.ru/temp/esh-screencast.webm

The only thing I could suggest is clearing browser cache. Also, if you're on linux or mac, try running wget <sub url here> -O - and changing states, there should be events (event: event, etc).

If nothing helps we can schedule a “live” debugging session via IRC, Telegram or anything else that works on Linux. I am available 20:00 to 0:00 (Moscow, UTC+03:00, GMT+04:00).

@kaikreuzer
Copy link
Contributor Author

Thanks for the hints, I'll give it a go. Thanks for the offer for a debugging session, but I think I'll first try to dive deeper myself!

@kaikreuzer
Copy link
Contributor Author

Hi @resetnow! I have no clue what were my problems the last time, but now the Basic UI correctly receives the events.
I have also added a clean up of closed SSE connections - so there should be no memory leaks.

The only issue that remains is that the widgets are not updated - but I guess this is the part you didn't implement yet :-)
Could you please try out the latest version and add what needs to be done on the Basic UI side?

@vlad-ivanov-name
Copy link
Contributor

vlad-ivanov-name commented Sep 13, 2016

Hello @kaikreuzer and thanks for the update. Glad to hear it's working for you, were you able to reproduce the issue where one event is sent to a subscription multiple times?

The only issue that remains is that the widgets are not updated

If you mean that widgets visibility is not changing then yes, I haven't added it yet. Otherwise controls should be toggling and labels changing, as in the video I shared before.

(edit: the video link was dead, I have updated it)

Signed-off-by: Kai Kreuzer <kai@openhab.org>
@kaikreuzer
Copy link
Contributor Author

@resetnow Ok, I think I finally solved it - there should be no duplicate events anymore!

@maggu2810 From my pov this is ready to be reviewed now.

@wborn
Copy link
Contributor

wborn commented Sep 25, 2016

I made a local build of this PR by merging kaikreuzer:ssesitemaps because I think it should fix my _#_1 Basic UI nuisance. I do see item values properly getting formatted and transformations properly applied. 👍

But the following things do not update when values change:

  • colors specified with valuecolor
  • images
  • group values, e.g.:
    Group:String:OR("true", "false") Motion "Motion detected [(%d)]" <motion>

When I reload the page they do get updated, but I think that should be fixed with this PR?

I hope it is just me and that I made an error somewhere. I have tested with Chrome/Chromium/Firefox on Ubuntu 16.04. In all browsers I see the same behavior. Also I have forced refreshing browser caches.

@vlad-ivanov-name
Copy link
Contributor

@wborn you didn't do anything wrong, things you listed are still missing. The one I can fix is visibility state, don't really know about the others.

@wborn
Copy link
Contributor

wborn commented Sep 25, 2016

@resetnow OK thanks for letting know that there are still some limitations. Now I know what I can test. I am already happy that the days are numbered for my formatting workarounds.

@kaikreuzer
Copy link
Contributor Author

images

Do you refer to charts here? There are indeed no events for them yet.

@wborn
Copy link
Contributor

wborn commented Sep 25, 2016

No I mean the icons of items. But I have just tested how things work with the demo instead of my own setup and it works a lot better there. :-) I now do see icons/sliders/toggle update correctly.

However after a while it seems the eventsstream stops for some reason. When that occurs the icons no longer update. Neither do other things.

I can reproduce it on the demo by:

  1. Open Basic UI
  2. Open Cellar
  3. Toggle several switches
  4. Click the back button in top left corner
  5. Open Garden
  6. Toggle several switches
  7. Click the back button in top left corner
  8. Repeat from step 2.

Reloading the browser does not fix it. So I think it is something in the backend. I don't see any Java stacktraces or things in the browser console.

When it works, it works really well though!

Signed-off-by: Kai Kreuzer <kai@openhab.org>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
@kaikreuzer
Copy link
Contributor Author

Thanks a lot @wborn, with this it was easy to reproduce and to fix.
I also added support for group items, they are also now updated correctly (with the one exception that numbers in labels (no of lights = 3) do not change if a single light changes, since the group item state does not change (it stays on). This is not related to this PR, though, so I won't further look into that part).

@maggu2810 I would declare to be done with this feature now and would suggest it to be reviewed and merged. If there are any further functional issues / missing features, I'd prefer to deal with them in follow-up issues.

@wborn
Copy link
Contributor

wborn commented Oct 5, 2016

@kaikreuzer thanks for fixing this issue. I can confirm it is fixed. Also on my own big sitemap things work well now! I indeed saw the SUM AVG groups properly update now. I think a lot of people will be happy when this PR is reviewed and merged. :-)

public void stateChanged(Item item, State oldState, State newState) {
Set<SitemapEvent> events = constructSitemapEvents(item, oldState, newState, widgets);
for (SitemapEvent event : events) {
// we transform the list of callbacks to a set in order to remove duplicates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume an event occurs more often then add / remove callback.
Would it be better for performance if we create the "no duplicate set" on every add / remove call?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we don't care about the above comment, we should create the set only once before the for-each-event loop and not in every iteration.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed by #2288.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@maggu2810
Copy link
Contributor

Regardless of the comment above I will merge this PR now.
It is no blocker, only an improvement.

But please comment it that it does not get lost.

@maggu2810 maggu2810 merged commit 32e5aad into eclipse-archived:master Oct 7, 2016
@kaikreuzer kaikreuzer deleted the ssesitemaps branch October 10, 2016 08:24
chaton78 added a commit to chaton78/smarthome that referenced this pull request 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 pull request 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 pull request 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…
@kaikreuzer kaikreuzer added this to the 0.9.0 milestone Nov 30, 2017
@openhab-bot
Copy link
Contributor

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/basic-ui-live-update/39514/7

@openhab-bot
Copy link
Contributor

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/sse-not-seeing-visibility-changes-in-sitemap/97800/12

@openhab-bot
Copy link
Contributor

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/sse-not-seeing-visibility-changes-in-sitemap/97800/14

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants