dxdc / homebridge-blinds

:sunrise: Homebridge Plugin to control my blinds over HTTP
https://www.npmjs.com/package/homebridge-blinds
ISC License
54 stars 25 forks source link

iOS 14 issue #40

Closed peros550 closed 4 years ago

peros550 commented 4 years ago

I have just installed iOS 14! I have in total 4 configured blinds. For two of them I get “Window obstructed” which isn’t right and there is no way for the plugin to be aware if such situation existed.

-image

Let me know if you need me to provide any more data.

All the best

dxdc commented 4 years ago

@peros550 wow, you are adventurous! how is the new beta?

Thanks for testing this out in advance.

Regarding the obstruction, I use this to report when HTTP failures occur. Can you check your logs? Seems there was an HTTP failure in communicating with the blinds server. Note this existed for iOS 13 also.

peros550 commented 4 years ago

This is totally my bad. There must be a problem with the server. I'm not at home but logging in with VPN and pinging gives no response. Sorry for the false alarm!

iOS 14 is nice. Not a lot of super wow features, just minor ones which should have been there since ages :) I installed it on an iPad mini 4. So far no big issues.

dxdc commented 4 years ago

No problem! I thought it was helpful to see the obstruction message. Let me know if you have any more issues with it and thanks for the feedback about iOS14.

Catastrophes like iOS13 beta have me a bit gunshy of these things:

A lot of people lost very important iCloud files as a result of this!

peros550 commented 4 years ago

I think if you can make it say “no response” it would provide the same experience as other plugins. Now that I know for me it’s fine.

All the best :)

dxdc commented 4 years ago

Good thought @peros550, but it's not exposed via HomeKit as far as I'm aware. The "no response" is for the Active characteristic.

https://developers.homebridge.io/#/service/WindowCovering

/**
 * Service "Window Covering"
 */

export class WindowCovering extends Service {

  static UUID: string = '0000008C-0000-1000-8000-0026BB765291';

  constructor(displayName?: string, subtype?: string) {
    super(displayName, WindowCovering.UUID, subtype);

    // Required Characteristics
    this.addCharacteristic(Characteristic.CurrentPosition);
    this.addCharacteristic(Characteristic.TargetPosition);
    this.addCharacteristic(Characteristic.PositionState);

    // Optional Characteristics
    this.addOptionalCharacteristic(Characteristic.HoldPosition);
    this.addOptionalCharacteristic(Characteristic.TargetHorizontalTiltAngle);
    this.addOptionalCharacteristic(Characteristic.TargetVerticalTiltAngle);
    this.addOptionalCharacteristic(Characteristic.CurrentHorizontalTiltAngle);
    this.addOptionalCharacteristic(Characteristic.CurrentVerticalTiltAngle);
    this.addOptionalCharacteristic(Characteristic.ObstructionDetected);
    this.addOptionalCharacteristic(Characteristic.Name);
  }
}