Commit Graph

68 Commits

Author SHA1 Message Date
Cody Cutrer
fa57c627a9
[mqtt.homeassistant] don't set range on current temp channel (#14858)
the min/max from the config are specifically only for the set point.
i.e. for a heater in winter when the heater is off, it may have
a set point range of 65-104°F, but if it's off for an unoccopied room
the ambient temperature might drop far below 65

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-04-24 13:22:18 +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
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
2c2ba4bed1
[mqtt.homeassistant] fix JSON Schema lights (#14717)
https://github.com/openhab/openhab-addons/pull/12238 was merged after
JSON Schema Light was implemented, and changed some assumptions.
this commit adjusts to the changed interface

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-28 18:26:13 +02:00
Cody Cutrer
f98f820325
[mqtt.homeassistant] Implement JSON schema lights (#13808)
* [mqtt.homeassistant] implement JSON schema lights
* [mqtt.homeassistant] use enum for current state of color mode
* [mqtt.homeassistant] use implicit lambdas
* [mqtt.homeassistant] remove string constants in favor of an enum
* [mqtt.homeassistant] allow sending ON and brightness commands through bare
* [mqtt.homeassistant] turn down debug logging

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-26 18:07:20 +02:00
J-N-K
8e902f6324
Bump spotless to 2.35 and Eclipse Java Formatter to 4.26 (#14645)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-21 21:03:05 +01:00
Cody Cutrer
f3ca3255a7
[mqtt.homeassistant] support command_template for fan components (#14233)
* [mqtt.homeassistant] support command_template for fan components
* [mqtt.homeassistant] fix field declaration for consistency

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:38:38 +01:00
Cody Cutrer
6d5b8a8cf5
[mqtt.homeassistant] add support for DeviceTrigger component (#14234)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:37:45 +01:00
Cody Cutrer
d97d212cd1
[mqtt.homeassistant] Mark disabled by default components as advanced channels (#14240)
openHAB doesn't have the concept of "enabled by default", since _everything_
is technically "disabled" until you link it to an item. It seems devices
use disabled by default on less common entities, such as zigbee2mqtt
marking a binary_sensor as a "backup" method to an update entity for
when an update is available, or a sensor as a "backup" method to a
select entity. So in that case, just hiding these channels unless the user
clicks "Show Advanced" seems to map best.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:37:15 +01:00
Cody Cutrer
00c10e1015
[mqtt.homeassistant] add support for Number and Select components (#14230)
* [mqtt.homeassistant] add support for Select component

closes #13603

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-21 15:02:49 +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
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
Дилян Палаузов
78534e8106
Typos a/an (#13812) 2022-12-01 14:30:50 +01:00
Sami Salonen
a1270c7822
[mqtt.homeassistant] Fix binding crash when home assistant discovery topics update with content (#13518)
* [mqtt.homeassistant] Fix for discovery topics that update with content

Fixes #13517
Possibly resolves #9711 and #12295 as well.

* [mqtt.homeassistant] Sort channels before changing thing
* [mqtt.homeassistant] logging + removed unnecessary synchronization
* Resolve bunch of warnings in homeassistant bundle
* [mqtt.homeassistant] Handling null warnings and unnecessary null checks
* [mqtt.homeassistant] Removing unnecessary null checks

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
Co-Authored-by: @antroids github handle
2022-11-12 12:46:43 +01:00
Cody Cutrer
db0ca281ca
[mqtt.homeassistant] support non-RGB lights (#13413)
* [mqtt.homeassistant] support non-RGB lights

dynamically decide which type of channel to expose. also send "down-typed"
commands to the proper topic. this also sets the groundwork for supporting
template and JSON schemas

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-05 16:57:06 +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
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
8656ba501a
[mqtt.homeassistant] support availability_templates (#13397)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-19 23:00:01 +02:00
Sami Salonen
295df504c8
[mqtt.homeassistant] More readable label for discovered things (#13402)
* [mqtt.openassistant] Better labels for discoverd things

This PR introduces more simple label for things, instead of
"My Sensor (Sensor, Sensor, Sensor, Sensor, Sensor, Switch)" we have
simply "Me Sensor (5x Sensor, Switch)".

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-09-18 21:22:06 +02:00
Cody Cutrer
a2b6dd77b7
[mqtt.homeassistant] sensors with a state_class are numeric (#13398)
see reference in code comment, but a measurement sensor is assumed to
be numeric, even if it doesn't have a unit

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-18 19:46:07 +02:00
Sami Salonen
2fd2e5175f
[mqtt.homeassistant] Stable jsondb discovery result (#13401)
* [mqtt.homeassistant] Stable jsondb serialization for discovery results

Similar to openhab/openhab-core#2436, we want
to have consistent ordering of data in JSONDB. This is fixing the jsondb
order for mqtt.homeassistant discovery results, specifically, the
"topics" property.

* [mqtt.homeassistant] order using full topic string, not by subcomponent

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-09-18 18:20:49 +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
openhab-bot
91ee684a06
New Crowdin updates (#12747)
* New translations googletts.properties (French)

* New translations googlestt.properties (French)

* New translations voskstt.properties (French)

* New translations watsonstt.properties (French)

* New translations pollytts.properties (French)

* New translations mqtt.properties (French)

* New translations mqtt.properties (French)

* New translations porcupineks.properties (French)
2022-05-16 15:21:55 +02: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
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
openhab-bot
344a4ceae3
New Crowdin updates (#11960)
* New translations openweathermap.properties (Italian)

* New translations openweathermap.properties (German)

* New translations icalendar.properties (Italian)

* New translations network.properties (German)

* New translations atlona.properties (Italian)

* New translations yeelight.properties (Italian)

* New translations yioremote.properties (Italian)

* New translations astro.properties (German)

* New translations deconz.properties (German)

* New translations deconz.properties (Italian)

* New translations pollytts.properties (German)

* New translations mqtt.properties (Italian)

* New translations publictransportswitzerland.properties (Italian)

* New translations mqtt.properties (Italian)

* New translations mqtt.properties (Italian)

* New translations ipp.properties (German)
2022-01-14 23:30:41 +01:00
Moritz 'Morty' Strübe
11ed1c3e66
[mqtt] Add documentation about using auto discovery with Tasmota (#12003)
* [mqtt] HomeAssistant: Doc: Add auto discovery with Tasmota
* [mqtt] HomeAssistant: Doc: Minor formatting adjustments

Signed-off-by: Moritz 'Morty' Strübe <morty@gmx.net>
2022-01-11 13:25:27 +01:00
James Melville
0fcebcde3f
[mqtt.generic] Add UOM to inbound values for MQTT Channels (#10727)
* Add UOM for MQTT Channels

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix dependencies

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify units parsing, remove channelUID from NumberValue constructor

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify pattern

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix tests

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct Units reference

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct homeassistant binding changes

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Wrap precision in temperature unit definition

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal for precision

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal throughout

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix SAT

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Inverty equals check

Signed-off-by: James Melville <jamesmelville@gmail.com>
2022-01-09 10:05:53 +01:00
Hilbrand Bouwkamp
da59cdd255
Update license headers to 2022 (#11973)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-01-06 18:14:47 +01:00
Marcel
cc47ef7f3e
pom update from http to https reference (#11833)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2021-12-23 19:40:44 +01:00
Kai Kreuzer
48746f5e3f Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-20 09:07:55 +01:00
openhab-bot
6dc031e6cf [unleash-maven-plugin] Preparation for next development cycle. 2021-12-20 00:30:46 +00:00
Wouter Born
07a1976c81
Add default translations for binding add-ons (#11760)
* Add default translations for binding add-ons

This makes the texts used by these add-ons translatable with Crowdin.

To keep the PR simple, it only adds default translations for add-ons which do not yet have any default translations properties file.
We can do follow up PRs for adding missing key/values to add-ons that already have these files or to remove duplications.

There are several add-ons in this PR that do have non-English translation files, so I'll upload those to Crowdin when the PR is merged.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-15 18:40:21 +01:00
antroids
4a3a9d5873
[MQTT.Homeassistant] make the mqtt.vacuum implementation compilant with the specification (#11562)
Signed-off-by: Anton Kharuzhy <publicantroids@gmail.com>
2021-11-20 12:44:09 +01:00
Stefan Triller
062f454406
[mqtt.homeassistant] Fix MQTT Vacuum serialization names (#11550)
While integrating the review comments, I did not remember that some
variable names are written as they are because they result from some
deserialization.

This small PR fixes this.

Signed-off-by: Stefan Triller <github@stefantriller.de>
2021-11-10 17:06:45 +01:00
Stefan Triller
8dd4559443
[mqtt.homeassistant] Implement Vacuum discovery for Homeassistant MQTT (#11216)
* Implement Vacuum discovery for Homeassistant MQTT

Closes #8988

Signed-off-by: Stefan Triller <github@stefantriller.de>

* Addressed review comments

Signed-off-by: Stefan Triller <github@stefantriller.de>

* Spotless run again

Signed-off-by: Stefan Triller <github@stefantriller.de>
2021-11-07 15:57:41 +01:00
antroids
ce61044329
[MQTT.Homeassistant] process errors in MQTT message handlers during components discovery (#11315)
Signed-off-by: Anton Kharuzhy <publicantroids@gmail.com>
2021-10-24 11:51:48 +02:00
Wouter Born
a9fd3f23c4
Update imports to use JUnit 5 instead of JUnit 4 (#11425)
* Update imports to use JUnit 5 instead of JUnit 4
* Add commonly used JUnit 4 classes to forbidden packages

Related to: https://github.com/openhab/openhab-core/pull/2534

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-24 10:36:47 +02:00
antroids
e1e9f90da1
[mqtt-homeassistant] Refactoring: fixed under_score/CamelCase usages and nullable annotations (#11120)
Signed-off-by: Anton Kharuzhy <antroids@gmail.com>
2021-09-19 22:04:14 +02:00
antroids
36377a790e
[mqtt-homeassistant] MQTT Homeassistant test concurrency bug fixed (#11161)
Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

Co-authored-by: Anton Kharuzhy <antroids@gmail.com>
2021-08-26 14:46:53 +02:00
antroids
3a7835e122
[mqtt-homeassistant] climate.mqtt support (#10690)
* MQTT.Homeassistant Climate support

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant synthetic config test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant refactoring

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant discovery test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant thing handler test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant switch test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant Climate test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant author header added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant copyright header added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant test fixed

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant test fixed

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant test infrastructure updated. Added tests with mqtt publishing and commands posting.

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant fixed Climate#send_if_off handling

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant do not filter the power command

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant climate unit test added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* Update bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/DiscoverComponents.java

Redundant annotation removed

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

* MQTT.Homeassistant Redundant @Nullable annotations removed

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant Unit tests added for all components

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant Unit tests stability fix

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant @NonNullByDefault removed from Device, config.dto package created

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant Climate author added

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant Device.sw_version renamed

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

* MQTT.Homeassistant tests wait timeout increased to 10s

Signed-off-by: Anton Kharuzhy <antroids@gmail.com>

Co-authored-by: antroids <antroids@gmail.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2021-08-15 11:48:26 +02:00
lolodomo
e23a0de94a
[homeassistant/homie] Standardize config URI (#11021)
* [homeassistant/homie] Standardize config URI

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-07-24 21:27:01 +02:00