Commit Graph
69 Commits
Author SHA1 Message Date
jimtngandGitHub 3a30c7a44a Call unregisterCommand instead of registerCommand (#4596)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-02-15 17:29:44 +01:00
jimtngandGitHub 7177759791 Add IntervalConditionHandler (#4583)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-02-15 16:53:22 +01:00
jimtngandGitHub aa6d82e786 Revert "Fix addon name localisation before installation (#3908)" (#4573)
* Revert "Fix addon name localisation before installation (#3908)"

This reverts commit 708a954081
but with some modifications

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-02-15 16:32:17 +01:00
jimtngandGitHub 229d87263f Improve cron exception handling (#4553)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-01-11 09:14:54 +01:00
jimtngandGitHub a7b8c1a9b3 Prevent infinite loop in CronAdjuster with invalid date combinations (#4548)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-01-11 00:39:20 +01:00
jimtngandGitHub 321d3a5f04 Add sharedCache and privateCache to file-based RulesDSL (#4525)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-12-31 12:39:24 +01:00
jimtngandGitHub 8b68aa7441 Clean up arguments after executing Script Transformation (#4524)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-12-28 12:28:36 +01:00
jimtngandGitHub 3a79871072 Ensure timeseries entries have unique timestamps (#4397)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-10-02 00:07:55 +02:00
jimtngandGitHub 3c7b4b89b1 Add offset and timeOnly config in TimerEvent payload (#4378)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-15 21:20:29 +02:00
jimtngandGitHub bcda209ec9 RulesDSL: add DateTimeTrigger offset (#4272)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-10 21:20:57 +02:00
jimtngandGitHub 83b069d970 Revert "Insert context keys before compiling UI scripts (#4372)" (#4373)
This reverts commit 6e6f000800.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-10 07:52:16 +02:00
jimtngandGitHub 6e6f000800 Insert context keys before compiling UI scripts (#4372)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-09 19:23:57 +02:00
jimtngandGitHub 69dc83237b Support offset in DateTimeTrigger (#4271)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-08 07:54:45 +02:00
jimtngandGitHub 5cf91cde1b Filter out blank lines and comments in a multi-line transformations (#4357)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-07 06:59:22 +02:00
jimtngandGitHub 1145613cba Support space-separated date/time format for DateTimeType (#4370)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-06 22:44:20 +02:00
jimtngandGitHub 72753be8cc Add time series support for script profile (#4365)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-31 11:49:46 +02:00
jimtngandGitHub 8a59844451 Add isTransform(), isEmpty() and isPresent() to ChannelTransformation (#4355)
* Add isEmpty() and isPresent() to ChannelTransformation
* Add isValidTransformation helper method

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-30 18:47:55 +02:00
jimtngandGitHub 66d55f77b5 Make DateTimeType Comparable (#4364)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-28 18:11:02 +02:00
jimtngandGitHub 8d54ccefef Add MEDIAN group function (#4344)
* Add MEDIAN group function

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-24 14:39:39 +02:00
jimtngandGitHub e8e55443c3 Add tests for null-returning transformations in ChannelTransformationTest (#4356)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-24 10:59:21 +02:00
jimtngandGitHub 17ad247519 Rename parameter of ChannelHandler (#4361)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-24 10:58:19 +02:00
jimtngandGitHub b8e0f94cb0 Add missing ScriptProfile parameter options (#4360)
for commandFromItemScript and stateFromItemScript

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-21 19:42:12 +02:00
jimtngandGitHub 506ccd4f4d Support channel transformation chaining with a list (#4353)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-18 18:36:36 +02:00
jimtngandGitHub bb2a2d10dc Support channel transformations with parentheses (#4352)
* Support channel transformations with parentheses

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-08-18 17:05:32 +02:00
jimtngandGitHub cb19001af0 Clean up removed links in GenericItemChannelLinkProvider (#4326)
* Clean up removed links in GenericItemChannelLinkProvider
* defer processing until stopConfigurationUpdate is called

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-07-27 18:38:06 +02:00
jimtngandGitHub 8cc267afd8 Fix Timer.isRunning() returning true immediately after rescheduling (#4313)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-07-13 15:10:31 +02:00
jimtngandGitHub ea7d61b199 PersistenceExtensions: fix DateTimeException when persisting an empty TimeSeries (#4303)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-07-08 19:53:01 +02:00
jimtngandGitHub 9b39f625e8 RulesDSL: add triggeringGroup and triggeringGroupName to rule context (#4273)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-06-23 18:40:17 +02:00
jimtngandGitHub 6eeb9dd7c9 Fix a typo in PersistenceExtensions log message (#4221)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-05-07 08:09:36 +02:00
jimtngandGitHub 456d5d3dd0 Fix textual things not updating on the first change (#4219)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-05-06 09:24:04 +02:00
jimtngandGitHub eb2339907f Fix change detection for textual things (#4076)
* Don't update unchanged things in .things file

There were two problems:
- The old things weren't removed, resulting in accumulation of duplicate things and comparing the new one against the old one resulting in erroneous update
-  Numeric values (usually entered as integer) in a newly loaded Channel Configuration properties are stored as BigDecimal with Scale 0, but subsequent normalization changed it to scale 1. This made equals() return false when it shouldn't. This leads to calling notifyListenersAboutUpdatedElement unnecessarily.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-05-02 11:41:53 +02:00
jimtngandGitHub fc2d5375b7 Upgrade Tool: Fix NPE (#4128) 2024-03-04 07:19:51 +01:00
jimtngandGitHub 97d64a156b Add numericState and unit to StateDTO (#4123)
* Add numericState to StateDTO

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-03-01 18:43:02 +01:00
jimtngandGitHub b64e9723a9 Include StartLevelEvent in start level triggers (#4093)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-02-18 22:23:27 +01:00
jimtngandGitHub 0efaf23d4e Fix the recursive group membership check (#4088)
Allow a group to be a member of its direct parent and also its parent's ancestors without raising an error.

Looping membership is still detected and prevented as before, thus Stack Overflow is still avoided.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-02-12 17:21:55 +01:00
jimtngandGitHub c929e7dfe2 Fix reloading channel config changes in .items file (#4075)
* Apply channel config changes in .items file

Changes in channel config weren't applied because ItemChannelLink.equals() include the link configurations in the comparison. This caused the new link not being found in the set lookup, which leads to erroneously calling notifyListenersAboutAddedElement, when it should've called notifyListenersAboutUpdatedElement instead.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-02-04 11:23:10 +01:00
jimtngandGitHub 99bb994b36 Suppress SseItemStates warnings during startup (#3774)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-11-06 21:36:21 -08:00
jimtngandGitHub e9d969c31d Fix QuantityType UNIT_PATTERN regex (#3841)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-10 10:08:45 +02:00
jimtngandGitHub 304453ec58 Make DecimalType, QuantityType, PercentType accept lowercased exponent notation (#3834)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-09 10:59:25 +02:00
jimtngandGitHub 0d355fbbc7 Make QuantityType.toUnitRelative accept a String (#3802)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-06 20:42:50 +02:00
jimtngandGitHub 6bb15b806c Add getAllStatesSince() and getAllStatesBetween() to PersistenceExtensions (#3466)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-05-27 21:33:48 +02:00
jimtngandGitHub 58df2b272d Remove GenericScriptEngineFactory (#3550)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-30 18:38:25 +02:00
jimtngandGitHub bff92e0349 Improve log message to identify profile's link (#3568) 2023-04-22 08:18:49 +02:00
jimtngandGitHub bc922022c3 [REST] List semantic tags (#3559)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-20 22:20:30 +02:00
jimtngandGitHub 7a9b76dfdf Fix division-by-zero error in Persistence average (#3556)
* Fix division-by-zero error in Persistence average
* Add test

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 16:03:45 +02:00
jimtngandGitHub 9e334497f9 Add methods to get Semantic tag synonyms and description (#3553)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 11:24:12 +02:00
jimtngandGitHub 3fc4a4c9d2 Improve logging to identify the offending link (#3554)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 09:04:37 +02:00
jimtngandGitHub 5d46377d22 Fix IndexOutOfBoundsException in ScriptEngineFactoryHelper (#3549)
* Fix IndexOutOfBoundsException in ScriptEngineFactoryHelper

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-14 18:39:20 +02:00
jimtngandGitHub 4f2af88e73 Add dynamic creation of semantic tags (#3519)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-14 14:35:43 +02:00
fbaf992666 Add dynamic scripting-language transformation service (#3487)
* Add dynamic scripting language transformation service

This replaced SCRIPT transformation with one specific to each language

e.g. JS, RB, GROOVY, etc.

Co-authored-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-12 21:56:06 +02:00
jimtngandGitHub a39beed8dc EventLogger minor refactor (#3523)
* EventLogger minor refactor

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>

* Fix null check

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>

---------

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-07 19:47:01 +02:00
jimtngandGitHub 003635dbfa Fix Semantics default synonyms (#3511)
Fix incorrect Property id

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-01 09:32:12 +02:00
jimtngandGitHub c8cc05d24b [REST] Sort profile-type resources by their label (#3491)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-29 08:49:04 +02:00
jimtngandGitHub 30bbc95506 Clarify the script profile config description (#3506)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-29 08:41:38 +02:00
jimtngandGitHub cb38d19360 Fix variable binding in ScriptTransformationService (#3464)
by setting all attributes before compiling

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-19 20:05:49 +01:00
jimtngandGitHub 1e55914e55 Improve AbstractScriptFileWatcher initialization order and file handling (#3451)
* Remove initialImport from the constructor of AbstractScriptFileWatcher
- Calling initialImport inside the constructor may cause an NPE in child class.
* Refactor processWatchEvent in AbstractScriptFileWatcher
- Remove directory deletion handling and adapt test to check
for file removals instead.
- Include hidden files in deletions in case they were previously
loaded while not hidden, set to hidden, and then deleted.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-18 09:15:20 +01:00
jimtngandGitHub f9751448c1 Fix ISE during WatchService disposal (#3432)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-07 15:43:45 +01:00
jimtngandGitHub ba7c68c05e Fix overriding Jetty's User-Agent in HttpUtil (#3411)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-01 13:10:58 +01:00
jimtngandGitHub ab96a6ba55 [voice ]Only call getVolume when necessary (#3280)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-29 12:19:45 +01:00
jimtngandGitHub 979e2c2d3e Add countStateChangesSince/countStateChangesBetween to persistence extensions (#3211)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-11 12:55:42 +01:00
jimtngandGitHub 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
jimtngandGitHub 26596ecc25 [Semantics] Return parent Location and Equipment (#2928)
* [Semantics] Return parent Location and Equipment

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-04-25 13:04:57 +02:00
jimtngandGitHub a4b737c401 Add Timer.isCancelled() method (#2570)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-23 21:51:51 +01:00
jimtngandGitHub 5d5b7665b4 [automation] Make LifecycleScriptExtensionProvider and its Disposable interface public (#2565)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-12 21:02:27 +01:00
jimtngandGitHub 8343703406 Fix NPE on WatchQueueReader (#2563)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-11 09:43:24 +01:00
jimtngandGitHub b55933d769 [timer] fix to allow timer reschedule after termination (#2153)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-01-26 17:21:41 +01:00
jimtngandGitHub 6de92ec6ef [timer] Add Timer.getExecutionTime() (#2147)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-01-26 17:17:40 +01:00
jimtngandGitHub 80207179f2 [timer] Add Timer::isActive() (#1450)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2020-04-28 21:48:02 +02:00
jimtngandChristoph Weitkamp ec2958a072 [DSL] Add the ability to send HTTP headers in sendHttpXXXRequest (#1272)
* Add the ability to send HTTP headers in HTTP.sendHttpXXXRequest actions

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2019-12-19 13:36:51 +01:00