Commit Graph
100 Commits
Author SHA1 Message Date
Cody CutrerandGitHub 6a66e7dfaf [jpa] Don't rollback failed transactions (#20645)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-04-28 21:36:36 +02:00
Cody CutrerandGitHub b42160a6b5 [jrubyscripting] Upgrade to JRuby 10.0.5.0 (#20530)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-04-06 22:50:03 +02:00
Cody CutrerandGitHub 9f03494bf8 [homeassistant] Support device-level configuration (#20225)
* [homeassistant] Support device-level configuration

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-03-08 16:26:21 +01:00
Cody CutrerandGitHub f65514fcdb [io.homekit] Add AirPurifier accessory (#20213)
* [io.homekit] Add AirPurifier accessory And allow FilterMaintenance to be linked to it.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-02-14 14:23:32 +01:00
Cody CutrerandGitHub 53e55adefe [jpa] fix querying of DimmerItems (#19995)
Integer.parseInt was choking if a dimmer item had sub-integer
precision

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-01-06 22:29:57 +01:00
Cody CutrerandGitHub 5ad6682eca [io.homekit] Update HAP-Java (#19954)
* [homekit] Update HAP-Java

Importantly, for bcprov updates

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-01-03 20:39:31 +01:00
Cody CutrerandGitHub 60c935820b [zwavejs] Keep properties up-to-date (especially lastSeen) (#19934)
* [zwavejs] Keep properties up-to-date (especially lastSeen)

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2026-01-02 19:26:09 +01:00
Cody CutrerandGitHub c9be76c287 [homeassistant] More I18n cleanup (#19816)
The thing type XML was temporarily removed as part of the extraction
from the MQTT binding, which was causing I18n to fail. Restore it,
and update its name and description. Then regenerate I18n, and remove
keys from Italian and French that no longer exist or need
re-translated.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-17 01:23:59 +01:00
Cody CutrerandGitHub ce5c863178 [homeassistant] Update CODEOWNERS (#19801)
* Fix name and re-sort the itests bundle that was missed during
   the extraction
 * Remove @antroids; at this point the binding has been nearly
   completely re-written since he last participated in reviews

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-13 18:20:00 +01:00
Cody CutrerandGitHub e4012b5540 [homie] Fix keys in i18n props files (#19799)
Make them match the English keys, and remove keys that no longer exist

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-13 15:01:25 +01:00
Cody CutrerandGitHub 46e6138783 [homeassistant] Fix keys in i18n props files (#19800)
Make them match the English keys, and remove keys that no longer exist

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-13 15:00:08 +01:00
Cody CutrerandGitHub 9a387ce4a9 [homie] Split Homie from MQTT Binding (#19700)
* [homie] Split Homie from MQTT Binding

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-13 09:46:44 +01:00
Cody CutrerandGitHub 9147e5251d [homeassistant] Move binding to configuration to the proper place (#19767)
When it was part of the MQTT binding, it couldn't expose its config
as binding-level, so we worked around that by putting it as a
"system" service. We don't need to do that anymore, so put it where
one would normally expect.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-09 22:14:17 +01:00
Cody CutrerandGitHub 581bafbfed [homeassistant] Update python packages (#19768)
This was missed when bringing the rest of the Python code up to date
with current Home Assistant.

Also commit the lockfile, which is a new feature thanks to GraalPy 25.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-12-09 19:57:26 +01:00
Cody CutrerandGitHub e4a1aee573 [homeassistant] More fully implement none and default payload sentinels (#19701)
* [homeassistant] More fully implement none and default payload sentinels

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-30 13:25:04 +01:00
Cody CutrerandGitHub 6b01ee7bff [homeassistant] Update Home Assistant Python code to 2025.11.3 (#19722)
* [homeassistant] Restore typing to HASS Python files

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-28 08:55:04 +01:00
Cody CutrerandGitHub 0e1b4481a5 [homeassistant] regenerate i18n (#19715)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-25 18:43:22 +01:00
Cody CutrerandGitHub 680ce30dde [homeassistant] Migrate dynamic thing types to new binding ID (#19712)
* [homeassistant] Migrate dynamic thing types to new binding id

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-25 08:04:02 +01:00
Cody CutrerandGitHub ac8b30a39e [homeassistant] Split Home Assistant from MQTT binding (#19496)
* [mqtt] Collapse mqtt.generic into mqtt

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-23 10:52:15 +01:00
Cody CutrerandGitHub 3a2d88e2f5 [jsscripting, pythonscripting, homeassistant] Set GraalVM cache path (#19684)
* [jsscripting, pythonscripting, homeassistant] Set GraalVM cache path

To be inside the openHAB User Data folder with other openHAB caches.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-22 13:23:35 +01:00
Cody CutrerandGitHub 5c605ea3a8 [homeassistant] Fix channel definitions within groups (#19681)
Apparently ChannelDefinitions within ChannelGroupDefinitions should
_not_ include the group ID

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-21 17:29:37 +01:00
Cody CutrerandGitHub f08667e89a [dynamodb] Fix <> operator (#19680)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-21 16:04:47 +01:00
Cody CutrerandGitHub f4eff81320 [openhabcloud] Check for existence of JSON keys before accessing (#19674)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-20 08:16:36 +01:00
Cody CutrerandGitHub 7b474ff9b3 [jpa] Support state filter when querying (#19581)
* [jpa] Support state filter when querying

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-15 21:04:58 +01:00
Cody CutrerandGitHub b2b480949f [openhabcloud] handle source sent via header (#19652)
it takes priority over source sent via query

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-15 12:33:28 +01:00
Cody CutrerandGitHub 0acd312690 [openhabcloud] Set event source for commands (#19535)
* [openhabcloud] Set event source for commands

Accept a source sent with the event, and delegate it so users
know it came through openhabcloud.

* set up source for proxied REST requests

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-11-10 22:37:52 +01:00
Cody CutrerandGitHub af8a01cf76 [homeassistant] Upgrade to Graal 25 (#19518)
* [homeassistant] Upgrade to Graal 25.01

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-10-29 18:31:37 +01:00
Cody CutrerandGitHub 6fa54b2bc1 [mqtt.generic] Clarify docs that outgoing value transformations don't apply to special commands (#19492)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-10-17 09:44:11 +02:00
Cody CutrerandGitHub b0ecb0521c [homeassistant] Fix re-connection after connection loss (#19491)
A connection loss only goes through a `stop`/start cycle, not a
`dispose`/`initialize` cycle.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-10-17 09:37:56 +02:00
Cody CutrerandGitHub 6fb4016a1a [homekit] Send a source with all commands to items (#19479)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-10-16 09:38:09 +02:00
Cody CutrerandGitHub b4741092f6 [matter] Send a source with all commands to items (#19480)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-10-16 09:36:27 +02:00
Cody CutrerandGitHub fda5a9ce1a [mqtt.homeassistant] Fix python packages path on Windows (#19249)
So explicitly add the *nix-style path to the syspath, so that
even on Windows the installed packages can be found.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-08-27 09:19:48 +02:00
Cody CutrerandGitHub 07b11edbbd [tuya] remove dependency on jose4j (#19171)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-08-15 23:04:24 +02:00
Cody CutrerandGitHub 61b4a934ec [mqtt.homeassistant] send GraalPy logging to standard openHAB logging (#18971)
* [mqtt.homeassistant] send GraalPy logging to standard openHAB logging

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-07-16 22:14:12 +02:00
Cody CutrerandGitHub 20748c3d9b [mqtt.homeassistant] add none as an implicit preset for Climate (#18959)
See https://github.com/home-assistant/core/blob/dev/homeassistant/components/mqtt/climate.py#L607.

none is not allowed in the configuration, but is always added as an allowed value

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-07-14 22:38:47 +02:00
Cody CutrerandGitHub 4ee9f781ee [mqtt.homeassistant] correct GPS Accuracy channel type (#18957)
ComponentChannel.Builder automatically adds -advanced to the
type if is an advanced child, so bring the definitions in the XML
inline with that for gps-accuracy.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-07-14 22:36:24 +02:00
Cody CutrerandGitHub 295379769c [mqtt.homeassistant] Import Home Assistant Python validations for config parsing (#18623)
* [mqtt.homeassistant] Import Home Assistant Python validations for config parsing

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-07-12 09:44:07 +02:00
Cody CutrerandGitHub c6c14d91c6 [mqtt.homeassistant] Use GraalPy and import actual Home Assistant templating code (#18857)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-07-08 17:40:57 +02:00
a752eaadea [jsscripting][pythonscripting] Use fully OSGI-ified Graal dependencies (#18795)
* use fully OSGI-ified Graal dependencies
* add js-scriptengine dep
* [jsscripting] Set OSGi DynamicImport-Package header to allow host class loading from JS
* [jsscripting] Remove not-needed feature dependencies, use POM property for version
* [jsscripting] Remove not-needed dependencies from POM, noEmbedDependencies.profile not needed anymore
* [pythonscripting] Use POM property for feature dependency versions
* [pythonscripting] Remove/Change scope of dependencies in POM, noEmbedDependencies.profile not needed anymore
* Upgrade to GraalVM 24.2.1

Signed-off-by: Cody Cutrer <cody@cutrer.us>
Co-authored-by: Florian Hotze <dev@florianhotze.com>
2025-06-19 22:43:19 +02:00
Cody CutrerandGitHub f7713a54f4 [mqtt.homeassistant] Revert "Use GraalPy and import actual Home Assistant templating code (#18601)" (#18788)
This reverts commit 5a2179106e.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-06-11 08:59:32 +02:00
Cody CutrerandGitHub 5a2179106e [mqtt.homeassistant] Use GraalPy and import actual Home Assistant templating code (#18601)
* [mqtt.homeassistant] Use GraalPy and import actual Home Assistant transformation code

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-05-30 18:22:25 +02:00
Cody CutrerandGitHub 97ea270399 [mqtt.homeassistant] Use a thing action for updates, instead of a config action (#18524)
* [mqtt.homeassistant] Use a thing action for updates, instead of a config action

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-05-17 14:10:54 +02:00
Cody CutrerandGitHub 46009bbe7f [mqtt.homeassistant] Clear internal data when stopping (#18584)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-04-21 19:55:41 +02:00
Cody CutrerandGitHub e0956267fd [jrubyscripting] Implement AutoCloseable on JRubyEngineWrapper (#18560)
This now possible since JRuby 10 implements it.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-04-16 11:29:01 +02:00
Cody CutrerandGitHub 98b659d531 [mqtt.homeassistant] fix Fan Only i18n key (#18467)
* [mqtt.homeassistant] fix Fan Only i18n key

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-03-30 10:25:04 +02:00
Cody CutrerandGitHub 53641587b9 [jrubyscripting] Add "dummy" openHAB gem to environment (#18397)
This allows the helper library to have a dependency on the
openHAB version, allowing us to drop support for older
openHAB versions without doing a major version bump (and thus
possibly requiring the user to make changes to their config
to get a new major version).

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-03-26 23:01:06 +01:00
Cody CutrerandGitHub 1608b202ab [mqtt.homeassistant] I18n well known commands and states (#18443)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-03-25 21:39:07 +01:00
Cody CutrerandGitHub 8d9c65c8c3 [mqtt.homeassistant] Use default strings for all commands and states (#18383)
* [mqtt.homeassistant] Use default strings for all commands 

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-03-24 18:53:59 +01:00
4abd965ca4 [tuya] Initial contribution (#17937)
* [tuya] This is a port of the SmartHome/J binding by @J-N-K

Signed-off-by: Cody Cutrer <cody@cutrer.us>
Co-authored-by: Jan N. Klug <github@klug.nrw>
Co-authored-by: jsetton <jeremy.setton@gmail.com>
Co-authored-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-03-23 11:27:33 +01:00
Cody CutrerandGitHub 321976844e [jrubyscripting] Disallow exec (#18394)
If a script (or a library it calls) accidentally calls Process.exec

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-03-14 20:07:15 +01:00
Cody CutrerandGitHub 80d64ccd06 [homekit] Sort optional characteristics before adding them to the service (#18329)
So that they'll always be added in a consistent order. Otherwise we might
accidentally change the order (and thus the IID) of a characteristic, but
not actually detect that it's different and signal Home to reload accessory
structures.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-02-26 21:33:36 +01:00
d7abc08cfd [amazonechocontrol] Fix push activity handling (#18297)
Port of https://github.com/smarthomej/addons/pull/607

Signed-off-by: Cody Cutrer <cody@cutrer.us>
Co-authored-by: Jan N. Klug <github@klug.nrw>
2025-02-19 20:25:57 +01:00
f2e4492c31 [amazonechocontrol] Import SmartHomeJ fork (#17935)
Both forks have diverged a reasonable amount. 

Signed-off-by: Cody Cutrer <cody@cutrer.us>
Co-authored-by: Jan N. Klug <github@klug.nrw>
Co-authored-by: Tom Blum <trinitus01@googlemail.com>
2025-02-19 10:40:24 +01:00
Cody CutrerandGitHub 1856aa9b3c [mqtt.homeassistant] Use a single channel for all scenes on a device (#18262)
It accepts either object ID, or scene name (assuming the latter doesn't
conflict with the former). 

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-02-18 13:30:51 +01:00
Cody CutrerandGitHub 01cb892fc3 [mqtt.homeassistant] Only subscribe to topics for linked channels (#18239)
* [mqtt.homeassistant] Only subscribe to topics for linked channels

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-02-13 09:19:32 +01:00
Cody CutrerandGitHub 0b13f65580 [homekit] fix unit conversions on step values for temperatures (#18233)
getConfigurationAsQuantity was using toUnitRelative appropriately,
but the final conversion to Celsius was not, resulting in a 1 °F
step being interpreted as a -17.5 °C step!

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-02-09 09:59:51 +01:00
Cody CutrerandGitHub 22c7ca99ad [mqtt.homeassistant] Re-fix null component name (#18021)
Re-fixes #15427, regressed from #17933

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2025-01-02 17:00:35 +01:00
Cody CutrerandGitHub 36802db90e [mqtt.homeassistant] Remove newStyleChannels temporary back-compat (#17908)
This includes removing deprecated channel IDs controlled by the same flag.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-31 21:08:28 +01:00
Cody CutrerandGitHub dcb6d6e2c2 [mqtt.generic] create the proper item type for channels with units (#17929)
* [mqtt.generic] create the proper item type for channels with units

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-29 19:18:36 +01:00
Cody CutrerandGitHub fc9e564a2c [mqtt.homeassistant] Fix components with an empty name (#17933)
As opposed to null name. In either case, it's not usable,
and we need to use our fallbacks.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-20 22:02:28 +01:00
Cody CutrerandGitHub f45f29f920 [mqtt.homeassistant] Implement regex_findall and regex_findall_index filters (#17895)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-18 20:33:12 +01:00
Cody CutrerandGitHub 7fc3d3b685 [mqtt.homeassistant] Document new channels from #17659 (#17880)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-14 00:12:29 +01:00
Cody CutrerandGitHub c6f2fca499 [mqtt.homeassistant] fix unbounded growth of config for device_trigger (#17894)
Because of how it shares a channel, whenever openHAB was rebooted and it
would first restore the device trigger components from the channel configuration,
and then from the MQTT message, it didn't identify it as the same component
as before, and so would merge into another instance of itself. My Things.json
is normally 13MB, and had grown to 545MB, and my openHAB was constantly having
memory issues! So now just make sure we only keep unique information, which
will automatically clean up anyone in a bad state.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-13 10:26:58 +01:00
Cody CutrerandGitHub 8ea703ecd3 [wiz] Correct units for RSSI (#17867)
Number:Power of dBm, instead of Number:Dimensionless of dB.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-11 08:12:06 +01:00
Cody CutrerandGitHub 4a4f5868a0 [wiz] Enable addon finder support (#17856)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-08 12:10:44 +01:00
Cody CutrerandGitHub 5829b9056b [mqtt.homeassistant] Update Jinjava to 2.7.4 (#17858)
* [mqtt.homeassistant] Update Jinjava to 2.7.4

Which includes support for break/continue, which is what Zigbee2MQTT's
new event component uses in their template.

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

* update bndrun file

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

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-08 00:06:58 +01:00
Cody CutrerandGitHub 5d89c9a885 [mqtt.homeassistant] Implement WaterHeater (#17859)
* [mqtt.homeassistant] Implement WaterHeater

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-07 16:34:05 +01:00
Cody CutrerandGitHub f733c85343 [mqtt.homeassistant] Implement Humidifier (#17853)
* [mqtt.homeassistant] Implement Humidifier

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

* remove debug logging from test

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-07 00:39:43 +01:00
Cody CutrerandGitHub 2e7f0e061c [mqtt.homeassistant] Implement Tag Scanner (#17852)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-05 23:27:05 +01:00
Cody CutrerandGitHub 35630e1074 [mqtt.homeassistant] Fix thing consistency for existing things when a device adds or removes components (#17851)
* [mqtt.homeassistant] gracefully handle a component's discovery info being deleted

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-05 22:31:58 +01:00
Cody CutrerandGitHub 044e9a3388 [wiz] Initial contribution (#17681)
Also-by: Joshua Freeman <github@frejos.net>
Also-by: Stefan Fussenegger <stf+git@molindo.at>
Also-by: Sara Damiano <sdamiano@stroudcenter.org>
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-04 17:32:09 +01:00
Cody CutrerandGitHub 156e691d0b [mqtt.homeassistant] fix multi-speed fans (#17813)
* fix step math so that the state description represents the step
   scaled to 0-100%

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-03 19:47:28 +01:00
Cody CutrerandGitHub 3f392ab80a [mqtt.homeassistant] Implement Device Tracker (#17831)
* [mqtt.homeassistant] implement Device Tracker

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-12-03 06:10:44 +01:00
Cody CutrerandGitHub 546bb566e2 [mqtt.homeassistant] Fix duplicate component resolution when unique_id is set (#17803)
* [mqtt.homeassistant] fix duplicate component resolution when unique_id is set

unique_id is only unique per component type. so we need to a) take that into
account, and b) use that when resolving duplicates

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-11-25 22:04:29 +01:00
Cody CutrerandGitHub df365dc9a8 [homekit] Add (partial) Doorbell Service (#17130)
* [homekit] add Doorbell Service 
this is _not_ sufficient for HomeKit to present a doorbell.
it just shows as an unsupported accessory with the house icon,

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-28 21:44:53 +01:00
Cody CutrerandGitHub 8fa3cef797 [mqtt.homie] populate unit hint on dynamic channels (#17649)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-28 19:20:01 +01:00
Cody CutrerandGitHub f52cede9ca [mqtt.homeassistant] document which channels a component might have (#17618)
* [mqtt.homeassistant] document which channels a component might have

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-26 19:24:55 +02:00
Cody CutrerandGitHub 1926847559 [mqtt.homeassistant] Implement Text (#17624)
* [mqtt.homeassistant] Implement Text

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-25 18:51:55 +02:00
Cody CutrerandGitHub df36e79925 [mqtt.homeassistant] bring AlarmControlPanel in line with current documentation (#17607)
* [mqtt.homeassistant] bring AlarmControlPanel in line with current documentation

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-25 17:12:04 +02:00
Cody CutrerandGitHub a1f448eb23 [mqtt.homeassistant] Implement Valve (#17622)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-25 17:10:11 +02:00
Cody CutrerandGitHub 9efbb8137a [mqtt.homeassistant] drop support for legacy schema vacuums (#17617)
Home Assistant dropped it in 2024.2.
See https://github.com/home-assistant/core/pull/107274

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-25 16:53:35 +02:00
Cody CutrerandGitHub c620b527e5 [mqtt.homeassistant] JSON Attributes can exist on BinarySensor (#17608)
also fix the conditional for JSON attributes on other components,
and make the channel read only.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-10-22 06:28:14 +02:00
Cody CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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 CutrerandGitHub 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