Bridges could not be updated because the updated bridge was a `ThingImpl` instead of a `BridgeImpl`. Also the copy-creator in the `BridgeBuilder` was missing. This should also be cherry-picked to 4.0.x.
Signed-off-by: Jan N. Klug <github@klug.nrw>
(cherry picked from commit 7b0f77bac3)
Signed-off-by: Jan N. Klug <github@klug.nrw>
The FolderObserver needs to make sure that paths are properly handled for any parsers that are added at any moment by other threads during activation.
Fixes#3784Fixes#3793
Signed-off-by: Wouter Born <github@maindrain.net>
* Mark extensions as ready in addModelsToRepo only if parser was availabile
* Store valid extensions using Set instead of List
* Use java.nio where possible
* Add more debug logging
* Cleanup and simplify code
Signed-off-by: Wouter Born <github@maindrain.net>
When things from multiple handler factories are provisioned from the same file the internal thing map was not properly updated.
Signed-off-by: Jan N. Klug <github@klug.nrw>
This is a workaround for JDK-8301341 by using the Java 11 LinkedTransferQueue with the QueueingThreadPoolExecutor in the Core and jUPnP.
Signed-off-by: Wouter Born <github@maindrain.net>
Setting up a treshold filter with the UI, it did not work because the unit field was blank.
I got an NPE from PersistenceTresholdFilter, and the PersistenceIncludeFilter would also throw a NPE in that case.
For PersistenceTimeFilter, defaulting to "s" is just cosmetic.
Picks-up PR #3681 and should be merged for the 4.0 release, because the UI does not prevent the unit field from being null.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Align system-channel-types for electricity
These are only used by one binding at the moment and it's very inconsistent to have power, voltage and current with the "electric" prefix and energy with "electrical".
Signed-off-by: Jan N. Klug <github@klug.nrw>
* [voice] Add length limit to TTS handled by cache
We can safely assume that long TTS are generated for report (meteo, chatGPT ?), probably not meant to be repeated, and so not cached.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
On larger installations with 1000+ items the limit of 1000 elements in the queue is exceeded easily. Since no events are lost (they just take longer to be processed), the limit that needs to be exceeded before a warning is issued should be increased.
See reports on the forum.
Signed-off-by: Jan N. Klug <github@klug.nrw>
* New translations scriptprofile.properties (Hungarian)
* New translations validation.properties (Hungarian)
* New translations automation.properties (Hungarian)
* New translations lsp.properties (German)
* New translations persistence.properties (German)
Instead of 5s before.
It helps triggering the end of playback earlier for audio sinks in asynchronous mode.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Fix#3679
If not, calls of method limitToFields by PR #3335 fails when the list of
fields does not contain firmwareStatus.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Improve threading in EventHandler
* refactor pagechangelistener to event
* One executor per subscriber type, not per subscriber
Signed-off-by: Jan N. Klug <github@klug.nrw>
* [voice] Add voice commands for register/unregister dialogs and list dialogs and dialog registrations
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
Allows the use of a Sizeable interface (for AudioStream that we know the length of, but we cannot clone). We can then improve the duration detection, for example for the pulseaudio sink (PR coming after).
We can also give the length information to sink in more cases.
Add the support of the mark / reset methods to some common AudioStream. We then allow more stream analysis for sink requiring it (Stream analysis often requires to get back in time after consuming a few bytes)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* Always use ThingUid as the unique identifier for thing status metrics
At bind time, ThingId was being used, but then ThingUid was being used when changes occured,
causing multiple meters to be created for the same Thing, with the status always being 0 for
the meter created at bind time.
This change uses the full ThingUid, for both binding and event processing, since ThingUid is
the globally unique value.
Fixes#3672
Signed-off-by: Scott Hraban <scotthraban@gmail.com>