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>
* [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>
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>
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>
* [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>
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>
* [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>
* 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)
* 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)
* 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)
* 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>
* 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>
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>
* 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>
* 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>
* 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>
* Reworks many commons-lang usages to use standard Java
* Updates all remaining commons.lang imports to commons.lang3
Related to openhab/openhab-addons#7722
Signed-off-by: Wouter Born <github@maindrain.net>
* Updates links to target the openhab-addons 'main' branch instead of the 'master' branch
* Updates some NOTICE files to indicate content is maintained by openHAB instead of Eclipse SmartHome
Signed-off-by: Wouter Born <github@maindrain.net>