* Fix scheduling of thing and token update, tries to avoid service rate limiting. Added more logging. Added some missing null checks. Ensure recent data is fetched, not data from yesterday
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Updated to latest versio of API lib
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Added new channel waterconsumption_since_midnight that sums todays water consumption (same as in the Grohe app)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Add more debug logging
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* More null checks, also set channels to Undef if a value is missing
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fixed missing embedding of commons-text as it is a dependency of the api lib
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Refresh token 1 hour before expiry
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Re-login in case token refresh fails
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Factor in timezone when calculating consum since midnight
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Use QuantityType<Volume> for water consumption
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Minor
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* i18n of dynamic error messages
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* More i18n. Plus retry of failed refresh token - with a delay to possibly avoid rate limiting
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Adjust refresh token timeout to 5 minutes before expire. Also retry with username/pwd login if token login fails (could be an expired token)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Clear old discovery results
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fetch data further back to ensure battery device has been online
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Updated README with old data warning
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Typo
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Do not allow polling interval less than 900 as rate limiting most likely will block the calls
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fix failed token refresh giving up
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Removed refresh token login webpage. Another attempt at handling token refresh
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fix status detail
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Restore formatting
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix newly introduced warnings
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Remove redundant logging
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk> Signed-off-by: Arne Seime <arne.seime@gmail.com> Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk> Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
Cody Cutrer [Thu, 27 Oct 2022 06:34:50 +0000 (00:34 -0600)]
[mqtt] set the proper unit in the state description (#13604)
So that other pieces of openhab can know what unit it's going to be,
without it having a value yet. Importantly, any necessary conversion
that need to be applied to the other portion of the state description -
min, max, and step.
See also https://github.com/openhab/openhab-core/pull/3132
Florian Hotze [Mon, 24 Oct 2022 11:35:33 +0000 (13:35 +0200)]
[jsscripting] Fix multi-thread access (#13582)
* [jsscripting] Share the lock mechanism that was used only for rules
This change moves the lock object that was originally created for ThreadsafeSimpleRuleDelegate to OpenhabGraalJSScriptEngine to make share it across the whole engine.
* [jsscripting] Inject the lock object into the JS runtime
* [jsscripting] Update `setTimeout` & `setInterval` polyfills to enable threadsafety
* [jsscripting] Upgrade GraalJS from 21.3.0 to 22.3.0
* [jsscripting] Reduce compiler warnings
* [jsscripting] Update node version of frontend-maven-plugin
Cody Cutrer [Wed, 19 Oct 2022 18:17:55 +0000 (12:17 -0600)]
[homekit] Improve output of console's `homekit show` command (#13569)
* [homekit] Improve output of console's `homekit show` command
* include the full JSON from all the characteristics, so you can confirm
everything is configured correctly.
* only use simple class names; the fully qualified package is just a
distraction.
* show linked services if they exist
* include the class name of services, not just the GUID
Cody Cutrer [Wed, 19 Oct 2022 09:18:02 +0000 (03:18 -0600)]
[homekit] improve bundle deactivation time (#13566)
If you have many instances, it can take a while. So stop all the
instances in parallel. Also, fix a race condition where the update
debouncer might get called again after being stopped, because the
change listener was deregistered _after_ the debouncer was stopped.
billfor [Sat, 15 Oct 2022 12:25:29 +0000 (08:25 -0400)]
[tesla] Options to control polling frequency and sleep (#13337)
* Options to control polling frequency and sleep mode
* Update documentation
* Fix request token expiration calculation and additional logging for tokens
openhab-bot [Fri, 14 Oct 2022 11:57:49 +0000 (13:57 +0200)]
New Crowdin updates (#13546)
* New translations airquality.properties (Italian)
* New translations airq.properties (Italian)
* New translations airvisualnode.properties (Italian)
* New translations androiddebugbridge.properties (Italian)
Wouter Born [Mon, 10 Oct 2022 07:25:32 +0000 (09:25 +0200)]
[jpa] Fix Derby driver no longer included (#13532)
According to the add-on documentation the Derby driver is included which was no longer the case.
The derby version was also changed because 10.16.1.1 is for Java 17+.
openhab-bot [Sun, 9 Oct 2022 07:40:59 +0000 (09:40 +0200)]
New Crowdin updates (#13514)
* New translations ambientweather.properties (Italian)
* New translations amazonechocontrol.properties (Italian)
* New translations jpa.properties (Italian)
* New translations openwebnet.properties (Italian)
* Adds a dynamic package import so JDBC drivers on the classpath can be used
* Upgrades OpenJPA from 2.4.0 to 3.2.2
* Upgrades Derby JDBC driver from 10.11.1.1 to 10.16.1.1
* Adds config.xml and ConfigurableService annotation so add-on can be configured using the UI
* Adds null annotations on all classes
* Prevent NPEs and some code cleanup
Cody Cutrer [Sat, 8 Oct 2022 07:12:28 +0000 (01:12 -0600)]
[mqtt.homeassistant] ensure availability topics get subscribed (#13466)
HASS registers availability topics before calling start(), so
the AbstractMQTTThingHandler was never subscribing/starting the
availability channel(s). So do so in start() of the base class.
I checked other implementations, and either they already handle
re-registering availabilityTopics in their start()
(GenericMQTTThingHandler), or they don't use availabilityTopics
at all from the base class and manage it themselves (Homie).
Note that this shows up as newly-added HASS things not having
a problem (because the components aren't discovered until after
the ThingHandler is started), but if you restart OpenHAB or
disable/enable the thing, the channels (and components) are
cached, thus how availabilityTopics are known before starting.
openhab-bot [Mon, 3 Oct 2022 15:21:26 +0000 (17:21 +0200)]
New Crowdin updates (#13481)
* New translations influxdb.properties (French)
* New translations tado.properties (Italian)
* New translations ecowatt.properties (Italian)
* New translations solarmax.properties (Italian)