Skip to content

Releases: Jc2k/aiohomekit

0.2.28

10 Mar 18:03
0.2.28
Compare
Choose a tag to compare

This release adds a helper for building put_characteristic payloads. It takes a mapping of characteristic type against value and works out the (aid, iid) values:

name = "Hue dimmer switch button 3"
a = Accessories.from_file("tests/fixtures/hue_bridge.json").aid(6623462389072572)

service = a.services.first(
    service_type=ServicesTypes.STATELESS_PROGRAMMABLE_SWITCH,
    characteristics={CharacteristicsTypes.NAME: name},
)

payload = service.build_update({CharacteristicsTypes.NAME: "Fred"})

payload == [(6623462389072572, 588410716196, "Fred")]

0.2.27

10 Mar 17:46
0.2.27
Compare
Choose a tag to compare

This release adds a filter to services.characteristics - useful for iterating over a subset of characteristics:

name = "Hue dimmer switch button 3"

a = Accessories.from_file("tests/fixtures/hue_bridge.json").aid(6623462389072572)

service = a.services.first(
    service_type=ServicesTypes.STATELESS_PROGRAMMABLE_SWITCH,
    characteristics={CharacteristicsTypes.NAME: name},
)

char = service.characteristics.first(char_types=[CharacteristicsTypes.NAME])

assert char.value == name

0.2.26

10 Mar 13:05
0.2.26
Compare
Choose a tag to compare
  • This release ditches the dependencies on hkdf and ed25519 as both are available in the cryptography library. Additionally the ChaCha20Poly1305 code now uses cryptography instead of including its own pure python implementation.

  • It adds the type_name property to Characteristic and Service

  • It adds some helpers to Accessory for reading the accessory information attributes like Acccessory.manufacturer

0.2.25

09 Mar 23:32
0.2.25
Compare
Choose a tag to compare

This release fixes round-tripping the valid-values field.

0.2.24

08 Mar 09:44
0.2.24
Compare
Choose a tag to compare

This release adds a value() operator for looking up a characteristic value:

    a = Accessories.from_file("tests/fixtures/hue_bridge.json").aid(6623462389072572)

    buttons = a.services.filter(
        service_type=ServicesTypes.STATELESS_PROGRAMMABLE_SWITCH,
        order_by=(CharacteristicsTypes.SERVICE_LABEL_INDEX, CharacteristicsTypes.NAME),
    )

    assert buttons[0].value(CharacteristicsTypes.SERVICE_LABEL_INDEX) == 1
  • Adds an order_by kwarg to services.filter for returning the list ordered one or more child characteristics (see above example)

  • Adds a InputEventValues enum.

0.2.23

07 Mar 10:44
0.2.23
Compare
Choose a tag to compare
Relese 0.2.23.

0.2.22

06 Mar 16:57
0.2.22
Compare
Choose a tag to compare

The release refactors the connection logic to try and improving reconnections and to improve shutdown behaviour.

0.2.21

06 Mar 09:26
0.2.21
Compare
Choose a tag to compare
Release 0.2.21.

0.2.20

05 Mar 23:00
0.2.20
Compare
Choose a tag to compare
Release 0.2.20.

0.2.19

05 Mar 21:32
0.2.19
Compare
Choose a tag to compare
Release 0.2.19.