Commit Graph

143 Commits

Author SHA1 Message Date
Cody Cutrer
bb26e978c2
[homekit] Automatically assume valid enum values when linking to Switch/Contact (#17134)
this allows using switches and contacts for enums without additional configuration
if they already line up well with the first two values (such as they do for a
thermostat, when it represents a simple heater)

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-24 09:22:42 +02:00
Cody Cutrer
e9369b6956
[homekit] fix thermostats with auto mode and only target temperature (#17136)
allow configuring such an accessory, and it's up to the user to be okay
with how the Home app deals with it

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-24 09:10:46 +02:00
Cody Cutrer
0158befacc
[homekit] Fix linking a Lighting to a Group:Dimmer (#17139)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-24 09:08:08 +02:00
Cody Cutrer
730333193d
[homekit] Make GarageDoorOpener.ObstructionStatus optional (#17137)
To simplify linking to "simple" things that don't have it.
It will just always return "not obstructed" if not linked

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-24 09:02:58 +02:00
Cody Cutrer
cbbc36697c
[homekit] implement StatelessProgrammableSwitch (#17129)
also supports adding multiple of them in a group, by supporting ServiceIndex
as an optional characteristic

refs #9969

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-23 08:22:27 +02:00
Cody Cutrer
9a19eaa0fa
[homekit] use java, not xtend, for code fences in README (#17128)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-22 21:09:46 +02:00
Cody Cutrer
48f50aa491
[homekit] alphabetize lists in code (#17127)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-22 21:09:03 +02:00
Cody Cutrer
6b54480dac
[homekit] Synthesize Thermostat.TargetTemperature in some cases (#17060)
* [homekit] synthesize Thermostat.TargetTemperature in some cases

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-22 20:16:47 +02:00
Cody Cutrer
422aaad5f7
[homekit] use characteristic factory for TemperatureSensor (#17084)
so that it automatically gets the proper unit handling

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-21 10:29:05 +02:00
Cody Cutrer
f9c8d049b0
[homekit] Fix temperature unit conversion for min/max/step (#17059)
* [homekit] fix temperature unit conversion for min/max/step
use the item's unit if it has one. or allow explicit units

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-15 22:22:42 +02:00
lolodomo
e861c83423
Fix i18n entry matching the add-on name for io add-ons (#17062)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2024-07-15 14:19:16 +02:00
Cody Cutrer
3af703cfef
[homekit] Allow configuring thermostat modes via metadata (#17056)
* [homekit] allow configuring thermostat modes via metadata

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-15 00:18:10 +02:00
Cody Cutrer
674e54588b
[homekit] fix optional characteristics (#17038)
* [homekit] fix optional characteristics

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-14 19:01:36 +02:00
lsiepel
5e0e9ce51e
Update lastnpe EEA to 2.4.0 (#16875)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2024-07-11 13:51:10 +02:00
Cody Cutrer
826e3b6bfa
[homekit] sort characteristics in HomekitCharacteristicFactory (#17033)
there are so many shared characteristics now, and so many accessories they belong
to, there is no longer any groupings that make sense. so just sort solely by
characteristic/method name

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-10 16:54:29 +02:00
Cody Cutrer
344b653b85
[homekit] implement all AccessoryInformationService characteristics (#17031)
mostly as metadata static characteristics

fixes #9595

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2024-07-09 20:01:14 +02:00
lsiepel
71a208b91b
Apply Spotless after release (#17016)
* Spotless

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2024-07-07 23:20:16 +02:00
openhab-bot
4b5e4646ac [unleash-maven-plugin] Preparation for next development cycle. 2024-07-07 18:09:31 +00: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
Wouter Born
3415397a83
Remove unnecessary semicolons (#16214)
This helps with stopping the proliferation of unnecessary semicolons.

Signed-off-by: Wouter Born <github@maindrain.net>
2024-01-05 23:56:58 +01:00
Wouter Born
4fe00bb2bf
Remove redundant feature dependencies (#16204)
* Remove redundant feature dependencies

The following features are already dependencies of openhab-runtime-base:

* openhab-core-base
* openhab-core-model-item
* openhab-core-model-script
* openhab-transport-mdns

See also: https://github.com/openhab/openhab-addons/pull/16202#issuecomment-1876875456

* Remove redundant openhab.tp-jackson and openhab.tp-jaxb feature dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2024-01-05 20:00:24 +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
Wouter Born
c58d894bf0
Use OnOffType.from to reduce code (#16101)
You can create an `OnOffType` using a boolean nowadays which reduces the amount of code.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-12-23 19:06:21 +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
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
5b42c4b071
Java 17 features (#15493)
- 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

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-26 08:52:11 +02:00
Holger Friedrich
56e7daf898
[io] Use Java 17 features (#15485)
* instanceof matching and multiline strings
* use Map/Set/List.of instead of Collections

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-24 06:44:56 +02:00
lsiepel
a1b79b6b7b
[homekit] Checkstyle cleanup (#15450)
* Remove package
* java 17 instanceofpattern
* EqualsAvoidNullCheck
* NoEmptyLineSeparatorCheck
* ConstantNameCheck

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-21 20:12:49 +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
Holger Friedrich
96d0293913
Declare missing connection attribute (#15016)
* Declare missing connection attribute
* change mactts, marytts, and picotts to none for consistency

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-23 21:38:13 +02:00
Holger Friedrich
8a9ac6eccc
Upgrade SAT to 0.14 (#14981)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-13 19:04:36 +02:00
openhab-bot
4f533710ff
New translations homekit.properties (German) (#14655) 2023-03-22 22:57:28 +01:00
Cody Cutrer
d9ceb63b82
[homekit] Unify all enum handling (#14036)
* [homekit] unify all enum handling

regardless of if it's a required or optional characteristic,
or even "boolean" enums

then allow number or switch items to be linked with enums

then update the docs listing the numeric value for enums

as part of this, global configuration of thermostat enum values
is no longer supported; you must use metadata.
in particular, for GarageDoorOpener, the global settings didn't
even actually work, so they should work now.

Fixes #13595

* [homekit] default-invert boolean items for garage door states

this was previously handled explicitly by the switch statement.
so need to set the inverted flag now that we're building a
mapping instead

* [homekit] document that CurrentDoorState can be linked to a Contact item
* [homekit] improve docs on invert param to createMapping

also fix a new helper method not properly passing through the inverted
param

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-22 13:58:12 +01: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
openhab-bot
a3c621fffc
New Crowdin updates (#14541)
* New translations iCloud.properties (German)
* New translations miele.properties (German)
* New translations jruby.properties (German)
* New translations mqtt.properties (German)
* New translations influxdb.properties (German)
* New translations homekit.properties (German)
* New translations amazonechocontrol.properties (German)
* New translations amazonechocontrol.properties (German)
2023-03-05 20:25:51 +01:00
Jonas Bötsch
2ec097d529
[homekit] Update README.md (#14521)
Tilted blinds do not work when using the documented config. 
Changed it to a working example.
Refer here: https://community.openhab.org/t/homekit-addon-adjustable-blinds-not-working-anymore/144869
2023-03-03 15:12:44 +01:00
Cody Cutrer
0312e687ba
[homekit] fix restarted on network interface change (#14226)
a regression caused during the final changes of #13877

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:39:19 +01:00
J-N-K
5f8214f08a
Adapt to core changes (addon.xml) (#13289)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-15 20:31:42 +01:00
Cody Cutrer
0de87b15d2
[homekit] Implement IrrigationSystem Accessory (#14209)
* [homekit] Implement IrrigationSystem

Fairly trivial now, except that a ServiceLabelService has to be added
to the accessory.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-13 20:25:06 +01:00
Holger Friedrich
ee54882841
Fix SAT warnings (#14214)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-13 19:10:59 +01:00
Holger Friedrich
4e44de3894
Fix SAT warnings (#14202)
* Fix SAT warnings

- checkstyle.ModifierOrderCheck
- checkstyle.OneStatementPerLineCheck
- checkstyle.NeedBracesCheck
- PMD.UseStandardCharsets
- PMD.UseCollectionIsEmpty
- PMD.UnusedLocalVariable
- PMD.SimplifyBooleanReturns where reasonable, suppress where
readability is better without change
- PMD.SimplifyBooleanExpressions

* Include StandardCharsets

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-13 08:11:06 +01:00
Cody Cutrer
32909fa237
[homekit] Add support for TV accessory (#14055)
* [homekit] TV accessory

Now possible since we support multiple secondary services. Just need to explicitly
declare that InputSource is a linked service to a Television, not just a secondary
service.

Note also that since TV and related services have so many mandatary characteristics
that are often static, I introduced a new way to declare characteristics -
via metadata on the service's item. Honestly, I feel like it's a lot cleaner to
have a factory create the mandatory characteristics the same way as the optional
characteristics, and then construct the service ourselves instead of basing the
service on the specific accessory interface. But this commit is already big enough,
I didn't want to go refactoring _all_ of the accessories to do it that way just
yet. This is why I have "unused" metadata characteristic factory methods for
AirQuality, HeaterCooler, and Thermostat - I started to make those configurable
via metadata, then realized they were mandatory characteristics that couldn't
be found from metadata via the current infrastructure.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-12 15:29:50 +01:00
Holger Friedrich
0304d74f87
Fix Markdown warnings in README.md (#14187)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-09 17:51:12 +01:00
Cody Cutrer
7608c41484
[homekit] properly expose services from dummy accessories (#14169)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-06 16:25:42 +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
Tim Harper
9c5ea29ae0
[homekit] Add additional troubleshooting steps for homekit (#14046)
* [homekit] Add additional troubleshooting steps for homekit

Signed-off-by: Tim Harper <timcharper@gmail.com>
2023-01-04 20:32:29 +01:00
Cody Cutrer
47f5489d70
[homekit] Improve multiple instance management (#14016)
* [homekit] improve instance management

 * allow addressing individual instances for most console commands
 * don't restart all instances if simply adding/removing instances on
   config change
 * clear stored info when removing instances

* [homekit] reset instance identity when clearing pairings
* [homekit] log the actual interface we looked up

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-03 23:10:42 +01:00