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>
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>
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>
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>
* [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>
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>
* 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>
* Declare missing connection attribute
* change mactts, marytts, and picotts to none for consistency
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [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>
* 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)
* [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>
* [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>