Site updated at 2016-05-08 10:27:38 UTC
This commit is contained in:
parent
e7cd9e95aa
commit
67d9baeb1e
18 changed files with 51 additions and 31 deletions
|
@ -95,7 +95,7 @@
|
|||
<div class="code"><pre><span class="keyword">import</span> <span class="include">logging</span>
|
||||
|
||||
<span class="comment"># Import the device class from the component that you want to support</span>
|
||||
<span class="keyword">from</span> <span class="include">homeassistant.components.light</span> <span class="keyword">import</span> <span class="include">Light</span>
|
||||
<span class="keyword">from</span> <span class="include">homeassistant.components.light</span> <span class="keyword">import</span> <span class="include">ATTR_BRIGHTNESS</span>, <span class="include">Light</span>
|
||||
<span class="keyword">from</span> <span class="include">homeassistant.const</span> <span class="keyword">import</span> <span class="include">CONF_HOST</span>, <span class="include">CONF_USERNAME</span>, <span class="include">CONF_PASSWORD</span>
|
||||
|
||||
<span class="comment"># Home Assistant depends on 3rd party packages for API specific code.</span>
|
||||
|
@ -104,7 +104,7 @@ REQUIREMENTS = [<span class="string"><span class="delimiter">'</span><span class
|
|||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
setup_platform(hass, config, add_devices, discovery_info=<span class="predefined-constant">None</span>):
|
||||
<span class="keyword">def</span> <span class="function">setup_platform</span>(hass, config, add_devices, discovery_info=<span class="predefined-constant">None</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Initialize Awesome Light platform.</span><span class="delimiter">"""</span></span>
|
||||
<span class="keyword">import</span> <span class="include">awesomelights</span>
|
||||
|
||||
|
@ -136,24 +136,44 @@ setup_platform(hass, config, add_devices, discovery_info=<span class="predefined
|
|||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Initialize an AwesomeLight.</span><span class="delimiter">"""</span></span>
|
||||
<span class="predefined-constant">self</span>._light = light
|
||||
|
||||
<span class="keyword">def</span> <span class="function">update</span>(<span class="predefined-constant">self</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Fetch new state data for this light.</span><span class="content">
|
||||
</span><span class="content">
|
||||
</span><span class="content"> This is the only method that should fetch new data for Home Assitant.</span><span class="content">
|
||||
</span><span class="content"> </span><span class="delimiter">"""</span></span>
|
||||
<span class="predefined-constant">self</span>._light.update()
|
||||
<span class="decorator">@property</span>
|
||||
<span class="keyword">def</span> <span class="function">name</span>(<span class="predefined-constant">self</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Return the display name of this light</span><span class="delimiter">"""</span></span>
|
||||
<span class="keyword">return</span> <span class="predefined-constant">self</span>._light.name
|
||||
|
||||
<span class="decorator">@property</span>
|
||||
<span class="keyword">def</span> <span class="function">brightness</span>(<span class="predefined-constant">self</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Brightness of the light.</span><span class="content">
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Brightness of the light (an integer in the range 1-255).</span><span class="content">
|
||||
</span><span class="content">
|
||||
</span><span class="content"> This method is optional. Removing it indicates to Home Assistant</span><span class="content">
|
||||
</span><span class="content"> that brightness is not supported for this light.</span><span class="content">
|
||||
</span><span class="content"> </span><span class="delimiter">"""</span></span>
|
||||
<span class="keyword">return</span> <span class="predefined-constant">self</span>._light.brightness
|
||||
|
||||
<span class="decorator">@property</span>
|
||||
<span class="keyword">def</span> <span class="function">is_on</span>(<span class="predefined-constant">self</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">If light is on.</span><span class="delimiter">"""</span></span>
|
||||
<span class="keyword">return</span> <span class="predefined-constant">self</span>._light.is_on()
|
||||
|
||||
<span class="keyword">def</span> <span class="function">turn_on</span>(<span class="predefined-constant">self</span>, kwargs):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Instruct the light to turn on.</span><span class="content">
|
||||
</span><span class="content">
|
||||
</span><span class="content"> You can skip the brightness part if your light does not support</span><span class="content">
|
||||
</span><span class="content"> brightness control.</span><span class="content">
|
||||
</span><span class="content"> </span><span class="delimiter">"""</span></span>
|
||||
<span class="predefined-constant">self</span>._light.brightness = kwargs.get(ATTR_BRIGHTNESS, <span class="integer">255</span>)
|
||||
<span class="predefined-constant">self</span>._light.turn_on()
|
||||
|
||||
<span class="keyword">def</span> <span class="function">turn_off</span>(<span class="predefined-constant">self</span>, kwargs):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Instruct the light to turn off.</span><span class="delimiter">"""</span></span>
|
||||
<span class="predefined-constant">self</span>._light.turn_off()
|
||||
|
||||
<span class="keyword">def</span> <span class="function">update</span>(<span class="predefined-constant">self</span>):
|
||||
<span class="docstring"><span class="delimiter">"""</span><span class="content">Fetch new state data for this light.</span><span class="content">
|
||||
</span><span class="content">
|
||||
</span><span class="content"> This is the only method that should fetch new data for Home Assitant.</span><span class="content">
|
||||
</span><span class="content"> </span><span class="delimiter">"""</span></span>
|
||||
<span class="predefined-constant">self</span>._light.update()
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue