Commit Graph

119 Commits

Author SHA1 Message Date
Hans-Jörg Merk 31820ad740
Update README.md (#13497) 2022-10-06 23:15:55 +02:00
Cody Cutrer 64d97374ad
[homekit] allow NumberItems for BatteryLowStatus (#13449)
* [homekit] allow NumberItems for BatteryLowStatus

use a lowThreshold metadata config to infer if it's low

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-03 12:13:39 +02:00
Cody Cutrer e4fe6889d0
[homekit] allow group items of the correct type anywhere that type is needed (#13236)
this is a theme, and I've extracted a helper method and applied it to several
other locations as well

example, I have a double-sliding door, with two contact sensors
in the alarm system, defined as:

```
Group:Contact:AND(CLOSED,OPEN) DeckDoor_Contact "Deck Door [%s]" <door> (gExteriorDoors, gWarningVisibility_Contact, gDoor, lMainFloor, gInflux) { homekit="ContactSensor" [instance=2] }
Contact DeckNDoor_Contact "Deck Door North" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone11:zone_status" }
Switch DeckNDoor_Tamper "Deck Door North Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone11:zone_tamper" }
Contact DeckSDoor_Contact "Deck Door South" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone12:zone_status" }
Switch DeckSDoor_Tamper "Deck Door South Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone12:zone_tamper" }
```

This allows the Group:Contact to be used for the ContactSensor.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-26 18:58:59 +02:00
Cody Cutrer e4c9a40d03
[homekit] allow multiple bridge instances to break the 150 limit (#13226)
fixes #11508, #12927

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-12 09:55:39 +02:00
Cody Cutrer f4fef5f6df
[homekit] support actual booleans in metadata config (#13228)
as well as strings, too.

reduces confusion, if someone doesn't know it needed to be a string

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 20:50:42 +02:00
Cody Cutrer 581a04b72d
[homekit] fix collecting characteristics that don't belong to a complex accessory (#13233)
given:

```
Group eThermostat { homekit="Thermostat" }
Number:Temperature Thermostat_AmbTemp (eThermostat) { homekit="CurrentTemperature" }
Number:Temperature Thermostat_SetTemp (eThermostat) { homekit="TargetTemperature" }

Group gThermostatZoneContacts
// in reality there are multiple thermostats and multiple of these groups,
// so that a rule on members of gThermostatZoneContacts can find the related
// thermostat to turn it off when a window is open
Group:Contact:OR(OPEN,CLOSED) gWindows (eThermostat, gThermostatZoneContacts)

Contact Window_Contact (gWindows) { homekit="ContactSensor" }
```

When constructing the Thermostat accessory for eThermostat, detects the
Window_Contact as a mandatory characteristic, because it's a base accessory
in a nested group. This leads to lots of warnings about the temperature
value of a contact item being out of range.

The fix is two-fold - first of all, there's no reason to search nested
groups for characteristics of a complex accessory. Second of all,
even if for some reason you were to nest an accessory in an accessory,
the nested accessory does not actually belong to the outer accessory,
so don't add it as a mandatory characteristic of the outer.

I suspect there's still one more bug, because AbstractHomekitAccessoryImpl.
getCharacteristic(HomekitCharacteristicType.CURRENT_TEMPERATURE) was
returning Window_Contact, which is only tagged as a ContactSensor. But
after fixing the above two bugs, it was no longer reproducible, and I
didn't continue digging.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 09:47:26 +02:00
Cody Cutrer a191c16f50
[homekit] fix window coverings based on groups of rollershutters (#13232)
it was getting the state as a decimal type, not a percent type, so
it was getting 1 instead of 100.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 09:43:54 +02:00
eugen 6f3cb286d9
[homekit] Target Fan state - add support for Switch Item (#12985)
* add support for SwitchItem for target fan state

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-07-25 21:47:21 +02:00
eugen 94615b7728
[homekit] fix potential null pointer exceptions (#13122)
* fix potential null pointer exceptions
* use contains key

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-07-13 17:01:02 +02:00
Kai Kreuzer 440f603e88
Apply spotless and resolver (#13027)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-06-27 16:00:37 +02:00
openhab-bot ed4858ebbb [unleash-maven-plugin] Preparation for next development cycle. 2022-06-26 18:18:40 +00:00
eugen 565dc19508
[homekit] fix for battery charging state (#12959)
* fix for battery charging state

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-22 11:20:36 +02:00
eugen cddd2daae2
[homekit] fix issue with some hue lights, e.g. xiaomi (#12931)
* fix for hue

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-13 19:16:13 +02:00
eugen 97b423b273
update configuration revision on start (#12854)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-01 22:44:05 +02:00
eugen f310cf7ca0
[homekit] add support for additional homekit accessories (#12536)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-04-26 19:37:54 +02:00
JacekKac cc2cde2ace
typo in valve accessorie (#12616) 2022-04-18 13:50:22 +02:00
eugen a2a5c2e6ff
add support for dimmer (#12540)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-03-29 18:57:52 +02:00
eugen f1176a062b
[homekit] add support for complex accessories (#12346)
* Add complex accessories

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-03-28 00:11:44 +02:00
Cody Cutrer d06cc6a60a
[homekit] do unit conversion for min/max heating/cooling temps (#12450)
this is especially important if you use the same item for both
TargetTemperature and HeatingThresholdTemperature characteristics,
since the former was already doing unit conversion for min/max.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-03-09 08:53:01 +01:00
eugen 9e6b952b66
fix storage usage (#12305)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-22 06:50:19 +01:00
eugen f29034fe87
[homekit] mark item dirty only if it has homekit metadata (#12293)
* mark item dirty only if it has homekit metadata

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-19 09:21:52 +01:00
eugen 5901479f0e
[homekit] update java hap library (#12267)
* update hap
* correction for categories

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-12 15:07:58 +01:00
eugen fde78b3fea
make onChange synchronized (#12205)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2022-02-05 08:39:17 +01:00
Cody Cutrer 8794ff860e
[homekit] handle NULL/UNDEF for temperature characteristics (#12172)
recent regression from handling QuantityType

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-01-30 18:46:56 +01:00
eugen ec93c3600e
[homekit] quick restart on network changes (#12072)
* quick restart on network changes

* only restart if needed
* add null check

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-01-26 20:19:03 +01:00
Cody Cutrer d4fb20d529
[homekit] use quantity type conversions for temperature characteristics (#12083)
if an Item associated with a temperature characteristic has a QuantityType
(of dimension Temperature) as its state, regardless of current unit,
use that to convert to celsius instead of any other configuration.

Note that this is only for supply values to HomeKit; commands coming from
HomeKit will still send a DecimalType with units according to the HomeKit-wide
useFahrenheit configuration.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-01-23 13:40:14 +01:00
eugen 843ca55c68
fix Fahrenheit conversion (#12024)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-01-14 22:56:50 +01:00
Hilbrand Bouwkamp da59cdd255
Update license headers to 2022 (#11973)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-01-06 18:14:47 +01:00
eugen b6af3aba9f
return min value instead of 0 (#11803)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2021-12-28 13:19:55 +01:00
Marcel cc47ef7f3e
pom update from http to https reference (#11833)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2021-12-23 19:40:44 +01:00
Kai Kreuzer 48746f5e3f Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-20 09:07:55 +01:00
openhab-bot 6dc031e6cf [unleash-maven-plugin] Preparation for next development cycle. 2021-12-20 00:30:46 +00:00
Wouter Born e752b51662
Add default translations for io add-ons (#11753)
* Add default translations for io add-ons

This makes the texts used by these add-ons translatable with Crowdin.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-12 19:32:51 +01:00
eugen b89ae048e2
[homekit] make min/max values for Color Temperature configurable (#11717)
* make min/max values for ColorTemprature configurable

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-12-10 00:20:28 +01:00
eugen 1d65e10bba
[homekit] add setting to block homekit user/pairing deletion (#11731)
* add setting to block homekit user deletion and unpairing
* add logging
* remove . from settings label

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-12-08 12:14:44 +01:00
eugen 4f26c65c0c
restart HomeKit bridge on network changes (#11720)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2021-12-06 19:11:36 +01:00
eugen 66d6a3f0a3
[homekit] switch to official Java HAP lib release (#11671)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-12-01 09:43:41 +01:00
Colin ff617aceae
Add support for group item type to window covering (#10936)
Add support for setting TARGET_POSITION of Window Covering accessories from groups with a baseItem type

Closes #10812

Signed-off-by: Colin Keehan <github@colin.xyz>
2021-07-17 08:51:44 +02:00
Kai Kreuzer bebab9ce29 applied spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-06-27 23:25:35 +02:00
jenkins 8c5c81e256 [unleash-maven-plugin] Preparation for next development cycle. 2021-06-27 17:35:01 +00:00
Wouter Born f5f922eaf4
Fix or suppress SAT CompareObjectsWithEquals findings (#10631)
* Fix or suppress SAT CompareObjectsWithEquals findings

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-05 21:06:04 +02:00
Wouter Born aaeddc8119
Update Netty dependencies to 4.1.63.Final (#10606)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-28 12:22:11 +02:00
Christoph Weitkamp a04cfd3389
Fixed SAT findings for new SAT 0.11.1 release (#10518)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-14 15:11:31 +02:00
eugen e7950ddbd1
[homekit] make usage of mDNS configurable (#10286)
* make usage of mDNS configurable

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-03-12 17:18:09 +01:00
eugen 23ff9a0221
[homekit] make use of openHAB mDNS service (#10076)
* make use of openHAB mdns service
* remove unnecessary null check
* add network configuration back

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-25 15:51:07 -08:00
eugen 50a01b439d
[homekit] extend support of inverted flag to other accessories (#10212)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-25 10:28:34 -08:00
eugen e828baccca
[homekit] add support for flag "inverted" to lock accessory (#10169)
* add support for inverted to lock
* run spotless

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-16 10:19:37 -08:00
eugen 8a2ac82b07
[homekit] make min and max temperature units depedent on useFahrenheitTemperature setting (#10074)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-06 23:04:32 -08:00
eugen 9f0ec10a7d
[homekit] add support for dimmer item for slat accessories (#10019)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-06 17:59:14 +01:00
eugen 0d13b8d1ef
[homekit] add support for number and dimmer item type to window covering accessory (#10051)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-04 12:09:19 -08:00
eugen bd949518de
[homekit] mapping configuration improvements (#9932)
* add support for custom mapping
* add screenshot
* remove unnecessary variable
* make parameter nullable to avoid not required list instances

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2021-02-03 22:06:20 -08:00
eugen 79b94e3e34
[homekit] fix pairing after update (#9769)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2021-01-10 16:25:18 +01:00
eugen 9368f44896
[homekit] use item name as accessory serial (#9748)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2021-01-08 23:18:32 +01:00
eugen fcb774ca35
[homekit] add support for QR code based pairing (#9475)
* add support qrcode based pairing

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* add screenshots

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* fix typo

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* update config only if differnt to prevent endless update loop

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* clean up

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* add support qrcode based pairing

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* add screenshots

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* fix typo

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* update config only if differnt to prevent endless update loop

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* clean up

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* incorporate review feedback

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* fix Nullable based on feedback

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* correct the java hap version

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* Update bundles/org.openhab.io.homekit/pom.xml

* adapt groupid

Signed-off-by: Eugen Freiter <freiter@gmx.de>

* incorporate review feedback

Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
Co-authored-by: J-N-K <J-N-K@users.noreply.github.com>
2021-01-08 23:03:54 +01:00
Jerome Luckenbach 944ff33e61
[homekit] Improve documentation (#9683)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2021-01-04 22:29:39 +01:00
Wouter Born d6364aceb1
Update license headers to 2021 (#9620)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-02 22:03:14 +01:00
eugen 2716ffa669
[homekit] fix for #9478. add listener for metadata changes (#9484)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2020-12-23 11:07:25 -08:00
Wouter Born ecac667258
Apply Spotless, update skeleton project version, resolve itest runbundles (#9459)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-22 10:37:44 +01:00
jenkins e4554f4aa6 [unleash-maven-plugin] Preparation for next development cycle. 2020-12-21 10:36:42 +00:00
J-N-K 086a046b61
fix console command documentation (#9355)
Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2020-12-13 09:19:51 +01:00
eugen ade041d5f0
[homekit] fix minValue, maxValue (#9300)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2020-12-09 11:49:24 -08:00
Wouter Born d2e5c3e7dd
Remove SmartHome leftovers (#9283)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-08 18:03:49 +01:00
eugen 91f05f0ea3
[homekit] remove support for legacy tags and fix issue with semantic tags (#9277)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2020-12-07 17:04:59 +01:00
J-N-K ba4c96d99d
[infrastructure] move infered nullness warnings to error and update EEA (#8949)
Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2020-11-12 21:07:11 +01:00
J-N-K bd664ff0c8
[infrastructure] add external null-annotations (#8848)
Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2020-10-31 00:29:03 +01:00
Hilbrand Bouwkamp 003c3af985
Remove immediate = true from all Components (#8615)
We recommend not to use this on add-ons.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2020-10-01 20:27:01 -07:00
Wouter Born 1f7da6b669
Fix ConfigurableService deprecations (#8526)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-09-22 08:48:05 +02:00
Wouter Born 7f39d01a0f
Remove/ignore Eclipse project files (#8529)
Fixes #8451

Signed-off-by: Wouter Born <github@maindrain.net>
2020-09-21 22:50:37 +02:00
Kai Kreuzer 6df6783b60 added migrated 2.x add-ons
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-09-21 03:37:19 +02:00