『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 20642|回复: 27

[插件集成] HA插件从入门到入坑 - sensor入门编 1

[复制链接]

219

主题

1287

帖子

7945

积分

超级版主

Rank: 8Rank: 8

积分
7945
金钱
6628
HASS币
86

教程狂人论坛风云人物突出贡献

发表于 2017-8-24 12:43:00 | 显示全部楼层 |阅读模式
本帖最后由 lidicn 于 2017-12-13 13:30 编辑

下面这个是官方的sensor demo,实现了最简单的sensor。,在custom_components\sensor 路径下新建一个demo.py 将下面的代码复制、粘贴进去。

[pre]"""
Demo platform that has a couple of fake sensors.
For more details about this platform, please refer to the documentation
https://home-assistant.io/components/demo/
"""
from homeassistant.const import ATTR_BATTERY_LEVEL, TEMP_CELSIUS
from homeassistant.helpers.entity import Entity


# pylint: disable=unused-argument
def setup_platform(hass, config, add_devices, discovery_info=None):
    """Set up the Demo sensors."""
    add_devices([
        DemoSensor('Outside Temperature', 15.6, TEMP_CELSIUS, 12),
        DemoSensor('Outside Humidity', 54, '%', None),
    ])


class DemoSensor(Entity):
    """Representation of a Demo sensor."""

    def __init__(self, name, state, unit_of_measurement, battery):
        """Initialize the sensor."""
        self._name = name
        self._state = state
        self._unit_of_measurement = unit_of_measurement
        self._battery = battery

    @property
    def should_poll(self):
        """No polling needed for a demo sensor."""
        return False

    @property
    def name(self):
        """Return the name of the sensor."""
        return self._name

    @property
    def state(self):
        """Return the state of the sensor."""
        return self._state

    @property
    def unit_of_measurement(self):
        """Return the unit this state is expressed in."""
        return self._unit_of_measurement

    @property
    def device_state_attributes(self):
        """Return the state attributes."""
        if self._battery:
            return {
                ATTR_BATTERY_LEVEL: self._battery,
            }[/pre]

在你的package文件夹里面新建一个 demo.yaml 并输入以下代码

[pre]sensor:
  platform: demo
  name: demo[/pre]

这里的demo是与你新建的demo.py的文件名一致的。可根据自己的sensor改需要的名称。

重启HA,激动时刻。终于可以看见自己写的sensor了
TIM截图20170824122537.jpg
然而并没什么卵用,这两个sensor都是固定数值,没有任何作用。
先熟悉一下插件的结构框架。
TIM截图20170824124040.jpg TIM截图20170824123928.jpg TIM截图20170824123636.jpg


本期结束,下期将介绍如何将这个没什么卵用的demo sensor 改造成股票价格监控sensor。

下期链接
https://bbs.hassbian.com/thread-966-1-1.html

评分

参与人数 2金钱 +24 收起 理由
Roger + 12 谢谢大神分享!
+ 12 谢谢大神分享!

查看全部评分

回复

使用道具 举报

13

主题

193

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
868
HASS币
0

教程狂人

发表于 2017-8-24 12:48:20 | 显示全部楼层
难得的好教程,谢谢lidicn大大的分享
回复

使用道具 举报

7

主题

157

帖子

803

积分

论坛积极会员

积分
803
金钱
646
HASS币
0
发表于 2017-8-24 13:19:15 来自手机 | 显示全部楼层
适合小白的教程,谢谢
回复

使用道具 举报

3

主题

380

帖子

3325

积分

论坛元老

Rank: 8Rank: 8

积分
3325
金钱
2945
HASS币
0
发表于 2017-8-24 14:05:48 | 显示全部楼层
学习一下!!!
回复

使用道具 举报

3

主题

380

帖子

3325

积分

论坛元老

Rank: 8Rank: 8

积分
3325
金钱
2945
HASS币
0
发表于 2017-8-24 18:02:07 | 显示全部楼层
学习了!!!
回复

使用道具 举报

0

主题

132

帖子

501

积分

高级会员

Rank: 4

积分
501
金钱
369
HASS币
0
发表于 2017-8-24 19:48:41 来自手机 | 显示全部楼层
学习了,谢谢分享
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2017-8-24 21:12:23 | 显示全部楼层
绝对大神养成级教程,学习了,期待下一期
回复

使用道具 举报

2

主题

161

帖子

920

积分

论坛积极会员

积分
920
金钱
759
HASS币
0
发表于 2017-8-25 00:28:13 来自手机 | 显示全部楼层
进来学习的,谢谢分享!
回复

使用道具 举报

2

主题

159

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
金钱
977
HASS币
0
发表于 2017-8-25 22:01:26 | 显示全部楼层

学习一下!!!
回复

使用道具 举报

4

主题

250

帖子

1293

积分

金牌会员

Rank: 6Rank: 6

积分
1293
金钱
1043
HASS币
0
发表于 2017-8-26 07:47:32 来自手机 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 21:47 , Processed in 0.083739 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表