Commit Graph

89 Commits

Author SHA1 Message Date
Cody Cutrer
40d68ed07e
[mqtt] recognize -NaN as UNDEF as well (#16245)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-01-08 17:15:02 +01:00
Cody Cutrer
a53b740c51
[mqtt.homeassistant] Improve support for Lock component (#16052)
* [mqtt.homeassistant] Improve support for Lock component

 * handle state and command payloads differing (as they do by default)
 * expose full state possibilities and OPEN command by adding
   a TextValue channel
* Recognize intermediate lock states as unlocked on the switch channel

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-01-02 20:02:47 +01:00
Jacob Laursen
f4596f581e
Update license headers to 2024 (#16168)
* Update copyright year in configuration
* Update license headers
* Manually update nibeheatpump headers (.cpp/.h/.ino)
* Manually update smsmodem header
* Manually update hueemulation header
* Manually update addon-header.xml header

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2024-01-01 18:14:57 +01:00
Holger Friedrich
533cc666ab
Apply spotless after release (#16097)
* Apply spotless after release
* itests: resolve bundles

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-22 23:30:38 +01:00
openhab-bot
83e0485219 [unleash-maven-plugin] Preparation for next development cycle. 2023-12-22 14:37:48 +00:00
Cody Cutrer
73559be058
[mqtt.homeassistant] Improve Cover support (#15875)
* [mqtt.homeassistant] improve Cover support

 * Add support for covers that report position
 * Handle when command and state values for OPEN/CLOSE/STOP
   differ (as they do by default)
 * Expose the full cover state, since it can have tell you
   if the cover is moving or not
 * Handle covers that have a position only, but not a state

* add constants to clarify up/down values

* Be sure to parse percents from strings in RollshutterValue

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-11 19:11:27 +01:00
openhab-bot
10a46a8039
New translations mqtt.properties (Italian) (#16039) 2023-12-10 23:32:27 +01:00
Cody Cutrer
c3660e2414
[mqtt] Interpet incoming NaN as UNDEF for NumberValues (#15897)
* [mqtt] Interpet incoming NaN as UNDEF for NumberValues

Since DecimalType and QuantityType don't support NaN, but
when you're linking to a topic that the device is using
floating point, NaN might happen.

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-10 11:01:15 +01:00
Cody Cutrer
d6b19fecfe
[mqtt.homeassistant] handle multiple availability topics (#15977)
* [mqtt.homeassistant] handle multiple availability topics

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-07 20:22:03 +01:00
billfor
d0c70f88b3
[mqtt] Add Topic Name for Incoming Payload Not Supported (#15872)
Signed-off-by: bill <git@billforsyth.net>
Co-authored-by: Bill Forsyth <git@billforsyth.net>
2023-11-11 13:45:31 +01:00
Holger Friedrich
f24a4305b8
Improve javadoc for some addons (#15701)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-10-08 00:25:04 +02:00
Holger Friedrich
cbf4411034
Improve javadoc for all addons (#15667)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-30 21:49:12 +02:00
Holger Friedrich
edaf17b345
Java 17 features (H-M) (#15520)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex
- instanceof matching and multiline strings
- remove null check before instanceof

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-08 14:36:59 +02:00
Wouter Born
c71a24f8a1
Link to Java 17 documentation (#15406)
This prevents issues because older documentation may not apply to Java 17.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-13 13:44:05 +02:00
Kai Kreuzer
72607d3bee Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-07-24 01:20:31 +02:00
openhab-bot
809fceaff3 [unleash-maven-plugin] Preparation for next development cycle. 2023-07-23 19:19:01 +00:00
J-N-K
ae146111c1
[mqtt] Dynamically change accepted item-type for Number channels (#15114)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-21 11:47:51 +02:00
Robert Szucs
254efb5372
Fix a typo (#14953)
Signed-off-by: Robert Szucs <robert.szucs@casrd.net>
2023-05-08 11:41:29 +02:00
Holger Friedrich
428ccbe075
[mqtt][tradfri][webthing] Adapt to ColorUtil changes in core (#14810)
* [mqtt][tradfri][webthing] Adapt to ColorUtil changes in core

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-21 23:55:36 +02:00
Wouter Born
83cbe746d0
Remove redundant modifiers from interfaces (#14843)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-18 13:07:04 +02:00
Holger Friedrich
3cd9c6c86c
Adapt to ColorUtil changes in core (#14724)
* [deconz][dmx][mqtt.generic][mqtt.homeassistant][tado][tradfri][webthing] Adapt to core change (ColorUtil)

openhab/openhab-core#3479

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-08 11:42:18 +02:00
Cody Cutrer
96038c664a
[mqtt.generic] Don't log state description from provider when not found (#14650)
Fixes #9782

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-22 16:53:50 +01:00
Jacob Laursen
04374ef4af
Fix color tests after HSBType changes (#14631)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-19 07:45:16 +01:00
Cody Cutrer
22b28bf674
[mqtt.generic] separate command parsing from cached value updating (#12238)
* [mqtt.generic] separate command parsing from cached value updating

fixes #12150

Previously, Value.update would parse the command, _and_ update the cached
value with that command. Which means that when sending a command towards
MQTT (instead of processing an update from MQTT), the cached value was
unintentionally updated. This prevented the REFRESH command from returning
the most recent value received from the device.

Separating the two concerns also makes the test more obvious what they are
testing, and vastly simplified a kludgy workaround that RollershutterValue
was using to be able to process Commands that aren't States.

Signed-off-by: Cody Cutrer <cody@cutrer.us>

* [mqtt.generic] split Value::parseCommand into parseMessage

so that a particular value type subclass can have varying implementations
if it desires

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-07 19:33:17 +01:00
Cody Cutrer
e0adc8da02
[mqtt] fix thread concurrency issue with type provider (#14229)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-21 09:59:37 +01:00
Jacob Laursen
4dd6d3a8a2
Update license headers to 2023 (#14154)
* Update copyright year in configuration
* Update license headers

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-06 09:49:54 +01:00
J-N-K
4d6d6443ef
fix spotless after release (#14014)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 15:22:17 +01:00
openhab-bot
7993786dc9 [unleash-maven-plugin] Preparation for next development cycle. 2022-12-19 00:55:11 +00:00
Udo Hartmann
d73218d882
[mqtt.generic] Change color example (#13861)
Change color example to fit to the real parameters.
2022-12-14 08:21:34 +01:00
Jerome Luckenbach
0e68936663
[Documentation] Markdown improvements f to m (#13866)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-12-08 21:36:05 +01:00
Дилян Палаузов
0ffc5257d5
Typos a/an (#13876) 2022-12-08 21:12:49 +01:00
Sami Salonen
923c0f1db2
[mqtt] Avoid parallel streams with common thread pool to avoid deadlocks (#13621)
To mitigate issue https://github.com/openhab/openhab-core/issues/3125
(common thread pool exhaustion when combining parallel streams with
synchronization or locks)

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-12-06 13:02:45 +01:00
Дилян Палаузов
2a5d6beb64
Typos a/an (#13846) 2022-12-05 18:47:43 +01:00
Дилян Палаузов
6c1373f7c2
Typos a/an (#13819) 2022-12-02 13:07:31 +01:00
Дилян Палаузов
78534e8106
Typos a/an (#13812) 2022-12-01 14:30:50 +01:00
Andrea Cioni
d505c01a6f
Update README.md (#13642)
`color_mode` is not recognized as a channel parameter, instead, `colorMode` is
2022-11-02 08:20:58 +01:00
Cody Cutrer
26ad08cca9
[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

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-27 08:34:50 +02:00
Cody Cutrer
5f6241cbc6
[mqtt] support mired<->Kelvin unit conversion (#13575)
Just have to use the newer toInvertibleUnit method that allows
the dimension to change.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-22 20:07:33 +02:00
Cody Cutrer
98677c18b3
[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.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-08 09:12:28 +02:00
Cody Cutrer
517fe44b36
[mqtt.generic] fix range of RGB values (#13426)
Range is 0..255, not 0..250.

rgb -> hsv -> rgb still isn't perfect, but it's better. In
particular, I found this when using HSBType.BLUE in a test,
and it was coming out as 0,0,250 in RGB. It now comes out as
a proper 0,0,255.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-26 19:03:37 +02:00
Cody Cutrer
8656ba501a
[mqtt.homeassistant] support availability_templates (#13397)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-19 23:00:01 +02:00
Kai Kreuzer
440f603e88
Apply spotless and resolver (#13027)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-06-27 16:00:37 +02:00
openhab-bot
ed4858ebbb [unleash-maven-plugin] Preparation for next development cycle. 2022-06-26 18:18:40 +00:00
Wouter Born
707ecaf47b
Reduce Mockito stubbing warnings (#12576)
See also: openhab/openhab-core#2893

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-05 00:06:49 +02:00
Wouter Born
a6f5b48dd5
[mqtt] Fix most SAT findings (#12492)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-19 09:27:41 +01:00
openhab-bot
5005dc002f
New Crowdin updates (#12392)
* New translations bluetooth.properties (Finnish)
* New translations danfossairunit.properties (Danish)
* New translations hdpowerview.properties (Danish)
* New translations jruby.properties (Italian)
* New translations miele.properties (Danish)
* New translations mqtt.properties (Italian)
* New translations openwebnet.properties (Italian)
2022-03-07 21:25:05 +01:00
Cody Cutrer
923fb12b7d
[mqtt.homie] handle exceptions parsing attributes (#12254)
fixes #10711

technically this code is in mqtt.generic, but it's only used by Homie.

in particular, if an incoming string doesn't match an enum, this will now
just ignore the value instead of raising an exception to be caught somewhere inside
of Hive MQTT, and eventually timing out and logging that mandatory topics weren't
received, instead of logging a pointer to the actual problem. this makes it so that
if there's a homie $datatype openhab doesn't understand (like duration), it will be
able to get to the point of just choosing a string channel

also did some minor debug logging cleanup for mqtt:
 * fixed a typo
 * when logging homie device name from the thing handler, use the config deviceid,
   since we likely don't have the attributes from MQTT yet

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-02-23 13:38:00 +01:00
lolodomo
6ef311304f
Remove some of the empty XML tag "description" (#12332)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-20 23:16:16 +01:00
Wouter Born
8559651166
[mqtt] Add default translations (#12328)
This will allow for translating the MQTT Binding in Crowdin.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-20 20:12:31 +01:00
jimtng
d46367dfd0
[mqtt] Remove references to the System Broker (#12233)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-07 16:03:41 +01:00