Commit Graph

136 Commits

Author SHA1 Message Date
openhab-bot
0da4a226f1
New Crowdin updates (#3381)
* New translations validation.properties (Italian)

* New translations automation.properties (Hungarian)

* New translations automation.properties (Italian)
2023-02-19 11:45:13 +01:00
J-N-K
67ca7c61c3
Fix typo in RuleEnablementAction label (#3382)
Reported on Crowdin

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-18 09:17:18 +01:00
openhab-bot
7f5694856d
New Crowdin updates (#3371)
* New translations automation.properties (Polish)

* New translations automation.properties (Hebrew)

* New translations automation.properties (Italian)
2023-02-15 19:55:09 +01:00
Cody Cutrer
474d24c62d
Refactor GenericEventTrigger and GenericEventCondition (#3299)
* rework GenericEventTrigger and GenericEventCondition

fixes #3234

to make their interfaces and semantics match, as well as having a
well defined (and useful) way of defining topic filters

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-02-14 09:07:23 +01:00
J-N-K
7f113c51bc
Refactor WatchService (#3004)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-12 14:12:22 +01:00
J-N-K
6cd6f6a538
Fix DateTimeTrigger not triggering on restored state (#3277)
During startup most likely the item state is `UndefType.NULL` which results in no triggering. States are restored from persistence by directly setting the item state, not by an `ItemStateEvent` and were therefore missed. Since changing the trigger is not necessary when the state updates but does not change, the event listening was changed to `ItemStateChangedEvent` only.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-10 22:11:52 +01:00
Cody Cutrer
8be306a5bc
Cleanup event filtering and improve EventFilter usage (#3295)
* don't use event.topics OSGi service property
* use TopicPrefixEventFilter

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-03 16:30:12 +01:00
J-N-K
8d64ecfd8d
Update license header to 2023 (#3294)
* Update license header to 2023

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-03 09:45:42 +01:00
J-N-K
98b4902c4a
Remove AccessController.doPrivileged calls (#3271)
The `AccessController` and the `SecurityManager` is deprecated for removal in Java 17. We don't make use of the `SecurityManager` anyway, so we can safely remove it.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-30 16:32:34 +01:00
openhab-bot
92040d6b22
New Crowdin updates (#3229)
* New translations voice.properties (Hungarian)
* New translations automation.properties (Dutch)
2022-12-14 23:01:45 +01:00
Kai Kreuzer
664fb559a4
Prevent compiler error in Eclipse due to potential null value (#3210)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-11 01:33:10 +01:00
Дилян Палаузов
f64874e226
Fix a/an typos (#3184) 2022-11-30 21:16:18 +01:00
Дилян Палаузов
e556fdf81b
Fix a/an typos (#3181)
* Typos a/an
* Fix typo generation in generateTagClasses.groovy

Signed-off-by: Wouter Born <github@maindrain.net>
2022-11-29 20:57:48 +01:00
J-N-K
64a31026cd
Add unmanaged scripts to rule engine (#3156)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-11-13 10:50:42 +01:00
J-N-K
d871066efc
Add DateTime handling to ItemStateConditionHandler (#3138)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-10-31 22:59:30 +01:00
J-N-K
c24f0f3c6f
[automation] Fix ItemStateCondition for PercentType values (#3136)
* Fix ItemStateCondition for PercentType values

Dimmer items return their state as PercentType. The code did not properly handle PercentType because PercentType is a subclass of DecimalType. One value was converted by casting the value to DecimalType (which leads to 40 for 40%) while the other one used `.as` (which results in 0.4 for 40%). A comparison than of "state <= 50" with state = 20 is therefore executed as "20 <= 0.5"  which is not what the user would expect.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-10-29 13:17:48 +02:00
openhab-bot
07be655b0e
New Crowdin updates (#3109)
* New translations automation.properties (Italian)
* New translations restauth.properties (German)
* New translations restauth.properties (Italian)
* New translations addons.properties (Italian)
* New translations restauth.properties (Danish)
* New translations restauth.properties (Finnish)
* New translations restauth.properties (Hungarian)
* New translations restauth.properties (Polish)
2022-10-15 09:27:02 +02:00
jimtng
8f745b0d3d
Fix timezone handling in DateTimeTrigger (#3060)
* [DateTimeTrigger] Adjust to system timeline
* [DateTimeTrigger] Add tests for DateTimeTriggerHandler

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-08-12 08:47:06 +02:00
Flole998
6758aacba5
Add "time only"-Option for DateTimeTrigger in rules (#3051)
Signed-off-by: Flole <flole@flole.de>
2022-08-06 17:26:08 +02:00
openhab-bot
c4f0ab44df
New Crowdin updates (#3054)
* New translations units.properties (Portuguese)

* New translations units.properties (Portuguese, Brazilian)

* New translations firmware.properties (Slovenian)

* New translations units.properties (Slovenian)

* New translations validation.properties (Slovenian)

* New translations messages.properties (Slovenian)

* New translations tags.properties (Danish)

* New translations tags.properties (Slovenian)

* New translations DefaultSystemChannels.properties (Slovenian)

* New translations LanguageSupport.properties (Slovenian)

* New translations SystemProfiles.properties (Slovenian)

* New translations jsonStorage.properties (Slovenian)

* New translations network.properties (Slovenian)

* New translations i18n.properties (Slovenian)

* New translations voice.properties (Slovenian)

* New translations chart.properties (Slovenian)

* New translations persistence.properties (Slovenian)

* New translations addons.properties (Slovenian)

* New translations restauth.properties (Slovenian)

* New translations ephemeris.properties (Slovenian)

* New translations inbox.properties (Slovenian)

* New translations audio.properties (Slovenian)

* New translations hli.properties (Slovenian)

* New translations lsp.properties (Slovenian)

* New translations marketplace.properties (Slovenian)

* New translations sitemap.properties (Slovenian)

* New translations SystemThingStatusInfos.properties (Slovenian)

* New translations magic.properties (Slovenian)

* New translations automation.properties (Hebrew)

* New translations automation.properties (Slovenian)
2022-08-03 18:03:28 +02:00
openhab-bot
2909945998
New Crowdin updates (#3038)
* New translations ephemeris.properties (Danish)

* New translations automation.properties (Hungarian)
2022-07-14 18:10:38 +02:00
J-N-K
2ad0b731bf
Log a warning when item for trigger/condition is missing or removed (#3007)
* Log a warning when item for trigger/condition is missing or removed

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-07-10 19:15:16 +02:00
Wouter Born
9984237ce8
Add default translations for automation module types (#3035)
These were generated using openhab/openhab-core#2966.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-10 09:27:40 +02:00
J-N-K
d6c269d95a
[i18n] Allow generation of default translations for automation modules (#2966)
* Allow generation of default translations for automation modules

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-05-29 18:26:23 +02:00
J-N-K
86960f243f
[automation] Allow using * as wildcard in thing status triggers (#2832)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-25 14:16:44 +02:00
J-N-K
ca94fd57b0
Add new module DateTimeTrigger for triggering on a DateTime state (#2923)
* Add DateTimeTrigger

This adds a new module that triggers at the time given by the state of an item.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-24 11:29:55 +02:00
Wouter Born
9ff7ad43b9
Add more null annotations to automation bundles (#2763)
* Add more null annotations to automation bundles. This adds null annotations to many classes in the automation bundles and a few dimension classes.
* Further cleanup AutomationCommandExport
* Remove null from RuleStatusInfo JavaDocs. This should be clear from how the class is now annotated.
* Validate deserialized RuleStatusInfo
* Allow TriggerHandlerCallback to be triggered without providing a context

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-25 16:40:02 +01:00
Wouter Born
92917946d4
Add even more null annotations (#2752)
This PR adds even more missing null annotations which did not fit in #2742 as it grew too big.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-17 21:30:51 +01:00
Wouter Born
3d7be0ffa7
Avoid throwing raw exception types (#2747)
* Avoid throwing raw exception types

This fixes all 36 AvoidThrowingRawExceptionTypes SAT findings.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 16:14:25 +01:00
Wouter Born
ad936cd83f
Add more null annotations (#2742)
* Add more null annotations
* Fix mock name

Adds null annotations to most of the tests as well as a few other classes.
Also fixes a few other SAT findings.
Fixes ~300 SAT findings in total.


Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 11:33:50 +01:00
Christoph Weitkamp
0709933061
[automation] Log warning for equals condition for DecimalTypes and QuantityTypes (#2653)
* Allow equals comparison for DecimalTypes and QuantityTypes

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-15 15:39:51 +01:00
Christoph Weitkamp
cabb3f7315
Update license headers to 2022 (#2671)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-07 13:16:42 +01:00
Christoph Weitkamp
824c0bb77c
Align parsing of startlevel config (#2661)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-04 21:03:16 +01:00
Yannick Schaus
198e2eb405
Change the syntax for references in automation modules configuration (#2606)
Fixes #2510.

This changes the placeholder syntax used by the reference resolver notably
used in rule templates from `${reference}` to `{{reference}}`.

The former syntax is also used by other languages, notably JavaScript's
template strings, and therefore writing rule templates including JavaScript
code with template strings wouldn't behave as expected.

This also fixes a bug identified in #2510 where you couldn't have a
single closing brace before the start of the first placeholder - which
could more easily happen than having two closing braces.

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-12-12 19:20:19 +01:00
Christoph Weitkamp
eb982f430d
Fixed nullness anotations for TriggerHandlerCallback (#2589)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-04 17:48:18 +01:00
Christoph Weitkamp
07ee8e6ffc
Added nullness anotations to ChannelEventTriggerHandler (#2586)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-03 14:32:05 +01:00
Wouter Born
bf81eaa1c2
Fix/suppress PMD CompareObjectsWithEquals findings (#2548)
Newer PMD versions discover more CompareObjectsWithEquals findings.

Related to https://github.com/openhab/static-code-analysis/pull/423

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-30 19:37:34 +02:00
Christoph Weitkamp
f694535598
Log item name in warnings of ItemStateConditionHandler (#2540)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-10-25 22:14:06 +02:00
Yannick Schaus
2663a3fc7e
Community Marketplace Add-on Service - initial contribution (#2405)
Signed-off-by: Yannick Schaus <github@schaus.net>
2021-09-14 09:04:04 +02:00
Sami Salonen
4bcf48662a
Consistent ordering of entries in jsondb (#2437)
* Consistent ordering of entries in jsondb

Resolves #2436.

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-08-08 16:05:38 +02:00
Christoph Weitkamp
66847ebef9
[automation] Allow UoM in 'ItemStateCondition' (#2435)
* Allow UoM in ItemStateConditions

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-07-31 19:17:57 +02:00
Stewart Cossey
08632596b3
[automation] Fix offset for ephemeris condition (#2398)
Signed-off-by: Stewart Cossey <stewart.cossey@gmail.com>
2021-06-06 09:40:36 +02:00
Fabian Wolter
e007307796
[automation] Expose TriggerHandlerCallback scheduler (#2388)
* [automation] Expose TriggerHandlerCallback scheduler

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2021-05-31 10:04:21 +02:00
Kai Kreuzer
0343f44601
[automation] add tags to item modules (#2378)
* add tags to item modules
* made state/command configuration optional

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-05-25 16:39:31 +02:00
Wouter Born
7579aa4d31
Fix more SAT findings and add a few suppressions (#2335)
* Fix more SAT findings and add a few suppressions

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-05 20:59:59 +02:00
Thomas Weißschuh
9663060943
[automation] match on complete channel UID (#2337)
Matching only on "topic.contains(channelUID)" will lead to false
positivies.

This was reported for the linuxinput binding, where pressing the "left"
key would also trigger rules for the "l" key.

The channels for these are
`linuxinput:input-device:test:keypresses#KEY_L` and
`linuxinput:input-device:test:keypresses#KEY_LEFT`

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2021-05-04 10:49:44 +02:00
Wouter Born
05b7ec86f1
Fix new SAT findings (#2291)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-14 18:41:07 +02:00
Sönke Küper
db488d861e
[automation] Added rule rest endpoint and backend operation for rule execution simulation (#2125)
* Added marker interface for TriggerHandler to indicate if they are time based and thus can be used to simulate execution times.
* Added marker interface for ConditionHandler to indicate, if they are time based and thus can be checked during rule execution for a certain time.
* Moved CronAdjuster to common, so it can be used for the rule simulation
* Created RuleExecutionSimulator that allows simulation of rules
* Added method in RuleManger to create simulation
* Added rest endpoint for rule simulation.
* Changed marker interface to return TemporalAdjuster instead of cron expression. This better hides the internals of the TriggerHandler (i.e. the cron expression) and is more clear and flexible for other handlers to implement

Fixes #2044
Fixes #2266

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2021-04-11 09:31:48 +02:00
Christoph Weitkamp
7907f48735
Added nullness annotations to TypeParser (#2181)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-02-07 09:47:27 +01:00
Sönke Küper
65218f81fc
Added rule condition for not a holiday (#2043)
Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2021-02-06 16:37:29 +01:00