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

 找回密码
 立即注册
查看: 59980|回复: 67

[插件集成] ZhiCaiYun - 彩云天气完美插件

  [复制链接]

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

发表于 2018-2-4 12:48:25 | 显示全部楼层 |阅读模式
本帖最后由 Yonsm 于 2021-3-4 22:55 编辑

https://github.com/Yonsm/ZhiCaiYun

CaiYun Weather Component for HomeAssistant

彩云天气的标准天气插件,支持 15 天预报。

1. 安装准备

zhicaiyun 放入 custom_components;也支持在 HACS 中添加自定义库的方式安装。

2. 配置方法

参见我的 Home Assistant 配置configuration.yaml

weather:
  - platform: zhicaiyun
    name: 天气

PREVIEW.png

其中的 attribution 属性是彩云天气特有的关键天气描述,一句话非常明了。另外 ZhiDash 也可以配合支持这个天气插件。




评分

参与人数 2金钱 +30 收起 理由
uavana + 10 膜拜大神!
+ 20 在下对你的景仰犹如滔滔长江之水,连绵不绝.

查看全部评分

回复

使用道具 举报

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

 楼主| 发表于 2018-2-4 12:49:29 | 显示全部楼层
本帖最后由 Yonsm 于 2018-2-4 22:11 编辑

最简单的版本是直接利用 HA 内置的 rest+template sensor:
1. 复制如下配置到你的 comfiguration.yaml 的 sensor: 下面;
2. 修改经纬度“120.000,30.000”为你的经纬度;
3. 可选:在customize.yaml 中把 sensor.outside 设置为 hidden: true,并且重新命名各项指标。


sensor:
  - platform: rest
    name: Outside
    resource: http://api.caiyunapp.com/v2/UR8ASaplvIwavDfR/120.000,30.000/realtime.json   
    scan_interval: 1200
    headers:
      User-Agent: ColorfulCloudsPro/3.2.0 (iPhone; iOS 11.2.2; Scale/2.00)
    value_template: >-
          {% if value_json.status == 'ok' %}
            有效
          {% else %}
            无效
          {% endif %}
    json_attributes:
      - result
  - platform: template
    sensors:
      outside_weather:
        friendly_name: Outside Weather
        value_template: >-
          {% set skycon = states.sensor.outside.attributes.result.skycon %}
          {% if skycon == 'CLEAR_DAY' %}
            晴天
          {% elif skycon == 'CLEAR_NIGHT' %}
            晴夜
          {% elif skycon == 'PARTLY_CLOUDY_DAY' %}
            多云
          {% elif skycon == 'PARTLY_CLOUDY_NIGHT' %}
            多云
          {% elif skycon == 'CLOUDY' %}
            阴
          {% elif skycon == 'RAIN' %}
            雨
          {% elif skycon == 'SNOW' %}
            雪
          {% elif skycon == 'WIND' %}
            风
          {% elif skycon == 'FOG' %}
            雾
          {% elif skycon == 'HAZE' %}
            霾
          {% elif skycon == 'SLEET' %}
            冻雨
          {% else %}
            未知
          {% endif %}
        icon_template: >-
          {% set skycon = states.sensor.outside.attributes.result.skycon %}
          {% if skycon == 'CLEAR_DAY' %}
            mdi:weather-sunny
          {% elif skycon == 'CLEAR_NIGHT' %}
            mdi:weather-night
          {% elif skycon == 'PARTLY_CLOUDY_DAY' %}
            mdi:weather-partlycloudy
          {% elif skycon == 'PARTLY_CLOUDY_NIGHT' %}
            mdi:weather-windy-variant
          {% elif skycon == 'CLOUDY' %}
            mdi:weather-cloudy
          {% elif skycon == 'RAIN' %}
            mdi:weather-rainy
          {% elif skycon == 'SNOW' %}
            mdi:weather-snowy
          {% elif skycon == 'WIND' %}
            mdi:weather-windy
          {% elif skycon == 'FOG' %}
            mdi:weather-fog
          {% elif skycon == 'HAZE' %}
            mdi:weather-hail
          {% elif skycon == 'SLEET' %}
            mdi:weather-snowy-rainy
          {% else %}
            mdi:help-circle-outline
          {% endif %}
      outside_temperature:
        friendly_name: Outside Temperature
        value_template: '{{ states.sensor.outside.attributes.result.temperature }}'
        unit_of_measurement: °C
      outside_humidity:
        friendly_name: Outside Humidity
        value_template: '{{ states.sensor.outside.attributes.result.humidity | multiply(100) | round(0) }}'
        unit_of_measurement: '%'
      outside_pm25:
        friendly_name: Outside PM2.5
        value_template: '{{ states.sensor.outside.attributes.result.pm25 | round(0) }}'
        unit_of_measurement: ug/m3
      outside_aqi:
        friendly_name: Outside AQI
        value_template: '{{ states.sensor.outside.attributes.result.aqi | round(0) }}'
      rainfall_intensity:
        friendly_name: Rainfall Intensity
        value_template: '{{ states.sensor.outside.attributes.result.precipitation.local.intensity | round(2)}}'

回复

使用道具 举报

0

主题

316

帖子

1732

积分

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1416
HASS币
0
发表于 2018-2-4 17:53:17 | 显示全部楼层
抓紧大神的衣角不松手
回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

发表于 2018-2-4 18:02:52 | 显示全部楼层
膜拜大神!
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16409
金钱
11663
HASS币
45
发表于 2018-2-4 19:12:17 | 显示全部楼层
Yonsm 发表于 2018-2-4 12:49
最简单的版本是直接利用 HA 内置的 rest+template sensor:
1. 复制如下配置到你的 comfiguration.yaml 的  ...

Y神,这个改坐标的,貌似测试不成功呢
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16409
金钱
11663
HASS币
45
发表于 2018-2-4 19:24:59 | 显示全部楼层
http://api.caiyunapp.com/v2/UR8ASaplvIwavDfR/120.000]http://api.caiyunapp.com/v2/UR8ASaplvIwavDfR/120.000,30.000/realtime.json

120.000后面有个方括号,这个是正常的么?

评分

参与人数 1金钱 +2 收起 理由
Yonsm + 2 论坛编辑器的问题,一不小心就自动识别链接.

查看全部评分

回复

使用道具 举报

4

主题

85

帖子

491

积分

论坛技术达人

积分
491
金钱
401
HASS币
0
发表于 2018-2-8 16:26:43 | 显示全部楼层
本帖最后由 sirrom 于 2018-2-8 16:28 编辑

用2楼的简单版本,一次性成功。谢谢楼主!

                               
登录/注册后可看大图
weather.png
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16409
金钱
11663
HASS币
45
发表于 2018-2-8 17:11:59 | 显示全部楼层
另外楼主,这只是实时天气呀,没有预报功能啊?彩云其实最牛的是它的分钟级预报
回复

使用道具 举报

35

主题

533

帖子

2891

积分

金牌会员

Rank: 6Rank: 6

积分
2891
金钱
2358
HASS币
0
发表于 2018-2-11 21:35:50 | 显示全部楼层
谢谢楼主。
非常喜欢这种简洁轻便的版本。
回复

使用道具 举报

14

主题

266

帖子

1639

积分

论坛技术达人

积分
1639
金钱
1352
HASS币
40

教程狂人

发表于 2018-3-5 12:59:46 | 显示全部楼层
大神,把预告完善下吧,这个有些刁
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-5 18:44 , Processed in 0.115681 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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