Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for the Quirky Nimbus #16520

Merged
merged 3 commits into from
Sep 13, 2018
Merged

Conversation

w1ll1am23
Copy link
Contributor

@w1ll1am23 w1ll1am23 commented Sep 9, 2018

Description:

Wink has a legacy device called the Nimbus which is a four dial digital display capable of show values on a gauge and a display.

Each dial of the nimbus will be displayed as it's own entity with a state of the current dials "value" and attributes containing the dials configuration as well as current state.

These dials can be updated based on another value in Home Assistant to provide type of Home Assistant dashboard!

Two new wink services will be added if the users account has a nimbus associated with it.

set_nimbus_dial_configuration:
  description: Set the configuration of an individual nimbus dial
  fields:
    entity_id:
      description: Name fo the entity to set.
      example: 'wink.nimbus_dial_3'
    rotation:
      description: Direction dial hand should spin ["cw" or "ccw"]
      example: 'cw'
    ticks:
      description: Number of times the hand should move
      example: 12
    scale:
      description: Home the dial should move in response to higer values ["log" or "linear"]
      example: "linear"
    min_value:
      description: The minimum value allowed to be set
      example: 0
    max_value:
      description: The maximum value allowd to be set
      example: 500
    min_position:
      description: The minimum position the dial hand can rotate to generally [0-360]
      example: 0
    max_position:
      description: The maximum position the dial hand can rotate to generally [0-360]
      example: 360

set_nimbus_dial_state:
  description: Set the value and lables of an individual nimbus dial
  fields:
    entity_id:
      description: Name fo the entity to set.
      example: 'wink.nimbus_dial_3'
    value:
      description: The value that should be set (Should be between min_value and max_value)
      example: 250
    labels:
      description: The values shown on the dial labels ["Dial 1", "test"] the first value is what is shown by default the second value is shown when the nimbus is pressed
      example: ["example", "test"]

@siam28 requested this be added on the python-wink github. @siam28 if you could test this that would be awesome.

Related issue (if applicable): fixes climate issue reported in the forums where some attributes weren't showing up.

Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.io#6246

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

max_position = attributes["max_position"]

self.wink.set_configuration(min_value, max_value, rotation, scale=scale, ticks=ticks,
min_position=min_position, max_position=max_position)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line too long (89 > 79 characters)

min_position = attributes["min_position"]
max_position = attributes["max_position"]

self.wink.set_configuration(min_value, max_value, rotation, scale=scale, ticks=ticks,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line too long (93 > 79 characters)

}

def set_configuration(self, **kwargs):
"""Set the dial config, anything not sent will default to current setting."""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line too long (85 > 79 characters)

if service.service == SERVICE_SET_DIAL_CONFIG:
_dial.set_configuration(**service.data)
if service.service == SERVICE_SET_DIAL_STATE:
_dial.wink.set_state(service.data.get("value"), service.data.get("labels"))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line too long (95 > 79 characters)

@balloob balloob merged commit f43d9ba into home-assistant:dev Sep 13, 2018
@ghost ghost removed the in progress label Sep 13, 2018
@balloob balloob mentioned this pull request Sep 28, 2018
@home-assistant home-assistant locked and limited conversation to collaborators Feb 5, 2019
@ghost ghost removed the platform: climate.wink label Mar 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants