Commit Graph

105 Commits

Author SHA1 Message Date
Cody Cutrer
ecb1e960d3
[mqtt.homeassistant] JSON Attributes can exist on Climate (#17610)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:24:32 +02:00
Cody Cutrer
b94ed45076
[mqtt.homeassistant] JSON Attributes can exist on Cover (#17611)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:20:11 +02:00
Cody Cutrer
41d306faab
[mqtt.homeassistant] JSON Attributes are supported by Scene (#17614)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:17:31 +02:00
Cody Cutrer
2952d21e60
[mqtt.homeassistant] JSON Attributes can exist on Number (#17613)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:15:39 +02:00
Cody Cutrer
4e5ba15493
[mqtt.homeassistant] JSON Attributes can exist on Lock (#17612)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:14:02 +02:00
Cody Cutrer
eac49a836f
[mqtt.homeassistant] Add support for Event component (#17599)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-21 22:48:01 +02:00
Cody Cutrer
f85da1a9c4
[mqtt.homeassistant] add JSON attributes channel to several components (#17605)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-21 22:12:21 +02:00
Cody Cutrer
f7c14fe9d8
[mqtt.homeassistant] bring channel ids inline with coding standards (#17604)
but only for newStyleChannels, which is already a breaking change of
most channels getting renamed for 4.3 anyway

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-21 22:10:09 +02:00
Cody Cutrer
722818c30a
[mqtt.homeassistant] Use a single channel for all events from a single button (#17598)
Use the `subtype` field to collapse multiple DeviceAutomation components into
a single channel.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-21 21:24:56 +02:00
Cody Cutrer
5cd76ee6ec
[mqtt.homeassistant] avoid improperly delivered triggers (#17584)
if multiple DeviceTrigger components share a topic, and each
has a payload value configured, only messages matching that
payload should be delivered to the corresponding channel

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-18 15:24:50 +02:00
Cody Cutrer
4cbae6f111
[mqtt.homeassistant] implement non-deprecated color inference for JSON Schema lights (#17529)
In particular, use the color_mode attribute to tell us which color space to parse in,
instead of trying to guess. Some devices will fill out attributes not-pertinent to
the current color mode, and their math might be... less than optimal.
Also sync color temp and color channels when the color_mode is the opposite.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-11 14:56:17 +02:00
Cody Cutrer
ab59bc871d
[mqtt.homeassistant] Implement optimistic components with AutoUpdatePolicy.RECOMMEND (#17520)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-08 08:45:11 +02:00
Cody Cutrer
31f6cda174
[mqtt.homeassistant] fix newStyleChannels (#17491)
* [mqtt.homeassistant] fix newStyleChannels
* further simplify channel IDs

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-07 23:28:50 +02:00
Cody Cutrer
f4805eda2b
[mqtt.homeassistant] Fix jinja usage in availability templates (#17400)
* [mqtt.homeassistant] Fix jinja usage in availability templates

Use the local Jinjava, instead of implicitly depending on the Jinja
transformation service.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-27 16:52:31 +02:00
Cody Cutrer
5de73f923a
[mqtt.homeassistant] implement iif and is_defined jinja function and filters (#17435)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-26 21:25:36 +02:00
Cody Cutrer
bcfbd6480a
[mqtt.homeassistant] Update Jinjava to 2.7.3 (#17412)
* [mqtt.homeassistant] Update Jinjava to 2.7.3

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-23 16:57:21 +02:00
Cody Cutrer
ab2daded4c
[mqtt.homeassistant] Include the details of JSON syntax errors when parsing fails (#17452)
While it's useful in general to not have to copy/paste a MQTT message into a JSON
parser to verify syntax, it also includes details about fields that are the wrong
data type that a generic JSON parser won't catch. A la #17375.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-20 20:47:20 +02:00
Cody Cutrer
b77458dca7
[mqtt.homeassistant] remove channels for no-longer-configured components (#17447)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-20 08:52:05 +02:00
Holger Friedrich
54fd13b0c1
Reduce SAT warnings (#17406)
* Reduce SAT warnings

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2024-09-13 17:20:11 +02:00
Cody Cutrer
6953c8bc6f
[mqtt.homeassistant] Fully implement Fan component (#17402)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-11 22:36:43 +02:00
Cody Cutrer
436dea619d
[mqtt.homeassistant] Implement template schema lights (#17399)
* [mqtt.homeassistant] implement template schema lights

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-10 22:37:05 +02:00
Cody Cutrer
110fd9b1ca
[mqtt.homeassistant] Use Jinjava directly (#17378)
* [mqtt.homeassistant] Use Jinjava directly

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-09-09 14:54:08 +02:00
jimtng
06b361c139
[mqtt.homeassistant] Update config abbreviations (#17359)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-01 18:17:57 +02:00
jimtng
9c5689df90
[mqtt.generic] Support chaining transformations without an intersection symbol (#17290)
* [mqtt.generic] Support chaining transformations without an intersection symbol

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2024-09-01 12:54:37 +02:00
openhab-bot
cd398b701e
New Crowdin updates (#17285)
* New translations mqtt.properties (Italian)
2024-08-18 22:10:31 +02:00
Cody Cutrer
740e44994f
[mqtt.homeassistant] Fix color lights that don't specify color_mode: true (#17240)
* [mqtt.homeassistant] Fix color lights that don't specify color_mode: true

See https://github.com/home-assistant/core/pull/111676

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-08-13 23:22:31 +02:00
Cody Cutrer
73a3f151c9
[mqtt] Simplify homeassistant thing types, and use AbstractStorageBasedTypeProvider (#16600)
* [mqtt.homeassistant] don't dynamically generate channel types

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-08-12 21:23:24 +02:00
Cody Cutrer
0156612c5c
[mqtt.generic] Send ON/OFF for dimmer channels when so configured (#15929)
Similar to how UP/DOWN are processed for rollershutters.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-23 21:56:38 +02:00
Mark Herwege
f64cb0bbd5
[MQTT] Fix state description (#16866)
* fix state description

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2024-06-14 19:07:58 +02:00
openhab-bot
fda90d1bb2
New translations mqtt.properties (Italian) (#16320) 2024-01-24 22:45:47 +01:00
Cody Cutrer
3ea1451050
[mqtt.homeassistant] Trigger HA devices to update discovery information (#16143)
* [mqtt.homeassistant] Trigger HA devices to update discovery information

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-01-22 22:36:53 +01:00
Cody Cutrer
f99d9777f0
[mqtt.homeassistant] Update config abbreviations (#16246)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-01-22 20:50:44 +01:00
Wouter Born
a2868bb0dc
Use diamond operator and remove redundant type arguments (#16249)
Signed-off-by: Wouter Born <github@maindrain.net>
2024-01-09 23:46:15 +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
openhab-bot
fcb9976047
New Crowdin updates (#16130)
* New translations mqtt.properties (Italian)
2023-12-29 16:00:43 +01:00
Cody Cutrer
5e26b7073a
[mqtt.homeassistant] update example config topic (#16128)
The prefix (homeassistant/) and the suffix (/config) are
automatically added

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-28 00:52:39 +01:00
openhab-bot
71066837dc
New translations mqtt.properties (Italian) (#16067) 2023-12-15 20:57:40 +01:00
Cody Cutrer
98fb791dc5
[mqtt.homeassistant] Add support for Update component (#14241)
* [mqtt.homeassistant] add support for Update component

This component is fairly non-standard - it doesn't add any channels.
Instead, it provides several properties to the thing, and also adds
a thing configuration allowing you to trigger an OTA update on a
Home Assistant device from MainUI.

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-14 23:53:14 +01: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
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
Cody Cutrer
9d214b0558
[mqtt.homeassistant] interpret a dimmable light as OFF properly from zigbee2mqtt (#15925)
* [mqtt.homeassistant] interpret a dimmable light as OFF properly from zigbee2mqtt

zigbee2mqtt can send a brightness of say 99, with a state of OFF, when a bulb is
off. make sure if state is sent, it overrides all other inferences

* handle brightness but not color bulbs

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-25 12:47:00 +01:00
Cody Cutrer
935415aa6e
[mqtt.homeassistant] VETO updates to read only channels (#15937)
I.e. Button, Scene, and Binary Sensors.

Also ensure we set up the CommandDescription, since some value types mights use it.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-25 12:27:05 +01:00
Cody Cutrer
89380b0e41
[mqtt.homeassistant] Add support for Scene component (#15916)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:54:33 +01:00
Cody Cutrer
44e32d3fbb
[mqtt.homeassistant] implement effect channel for light (#15914)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:52:51 +01:00
Cody Cutrer
fc9579430e
[mqtt.homeassistant] Add support for Button component (#15892)
* [mqtt.homeassistant] Add support for Button component
* use a StringValue instead of an OnOffValue

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:06:54 +01:00
Cody Cutrer
c2a6329408
[mqtt.homeassistant] Handle empty device name (#15918)
Follow on to #15427

ring-mqtt sends `"name": ""`, not `"name": null` or simply omitting it,
so be sure to handle that way as well

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 00:58:25 +01:00
Cody Cutrer
8ca03bd5c7
[mqtt.homeassistant] fix compilation problems (#15915)
Due to #15427 and #14839 being developed independently, but merged
to main successively

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 23:38:52 +01:00
Cody Cutrer
7fc351c9c2
[mqtt.homeassistant] handle null component name (#15427)
* [mqtt.homeassistant] handle null component name

channels from such components will not have a group. this is
now done by zigbee2mqtt for the "default" component of a device,
such as the light. HASS encourages this as of release 2023.8

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 22:46:57 +01:00
Cody Cutrer
27924d677f
[mqtt.homeassistant] Support color temp on JSON schema lights (#14839)
* [mqtt.homeassistant] support color temp on JSON schema lights

also adds a color_mode channel if color temp is possible, so you can
know how the bulb is behaving

* put color mode channel construction into buildChannels()

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 21:31:49 +01:00