| 本帖最后由 lidicn 于 2017-10-19 17:52 编辑 
 已经更新为彩云SE
 
 https://bbs.hassbian.com/thread-1003-1-1.html
 之前发布了[教程]分钟级天气预报【彩云天气】组件更新Beta2 https://bbs.hassbian.com/thread-686-1-1.html
 存在几个痛点:
 
 不能按照你的要求更新天气数据,只能通过扫描时间调整获取数据的频率。固定获取home的经纬度【因为我懒得写这个变量 】,少了预测某人设备头顶上下雨几率的可能【  我也看不懂这是啥意思】。扫描时间设得过小,apikey消耗过快。设得过大,又失去了实时预测的作用。【总之一个字:穷 】 
 
 彩云天气S完美解决了以上痛点。
 
 简单介绍下原理:
 
 将天气数据(json格式)的采集独立分离出来,使用下载文件的方式获取数据。CaiyunweatherS.py只负责处理本地下载好的数据。下载数据用的是Downloader2服务,【因官方提供的不支持自定文件名】https://home-assistant.io/components/downloader/  修改出支持自定文件名的Downloader2调用Downloader2服务下载天气数据json文件的时候可以传递经纬度 apikey等变量。Downloader2.py第75行有个删除文件的路径如果使用的不是该路径需要更改【每次更新,需要将原来的json删除】
 
delfilepath = '/home/homeassistant/.homeassistant/downloads/'+filename
 
 
 使用方法:
 下载文件解压放入相应文件夹。
 在caiyunweathers.yaml里找到以下代码【第76行】
 
 
script:
  download_caiyundata:
    sequence:
      - service: downloader2.download_file
        data_template:
          url: https://api.caiyunapp.com/v2/这里填你的彩云apikey/{{states.zone.home.attributes.longitude}},{{states.zone.home.attributes.latitude}}/forecast
          filename: forecast.json
      - delay: 00:00:03
      - service: downloader2.download_file
        data_template:
          url: https://api.caiyunapp.com/v2/这里填你的彩云apikey/{{states.zone.home.attributes.longitude}},{{states.zone.home.attributes.latitude}}/realtime
          filename: realtime.json
 {{states.zone.home.attributes.longitude}}应该要设置了zone才有,没有的话直接填写你所在地经纬度也行。
 url: https://api.caiyunapp.com/v2/这里填你的彩云apikey/113.234,22.123/forecast
 
 
downloader2:
  download_dir: downloads
 download_dir是下载文件夹的路径,需要自己去新建 ,这里是/home/homeassistant/.homeassistant/downloads [树莓派hassbian]
 第一次使用会因为downloads/文件夹下面没有 forecast.json realtime.json这两个文件,你的天气界面会一片unknown。更新下天气数据就会正常。【更新按钮在即时天气第一栏】
 更新天气就用脚本更新,可自行设置变量来调用,可写自动化来更新。【这部分教程就不写了】。
 
 更新内容:
 
 增加120分钟【precipitation_2h】,每分钟的降雨量预测。增加60分钟【precipitation】,逐分钟的降雨量预测。增加按天的预测【今天起、共五天day1-day4】这些参数根据个人要求自行选择,【 高能预警,这些都用上会超过1k个传感器】CaiyunweatherS.py本身不会下载天气数据,因此移除apikey、经纬度等相关参数。使用的时候不再需要填apikey。apikey填在你downloader2下载网址里面。
 
minutely:
        - description
        - probability_0
        - probability_1
        - probability_2
        - probability_3
        - precipitation_2h
        - 
 
 
day:
        - day1
        - day2
        - day3
        - day4
 注意事项:
 1、sensor内置扫描时间30秒一次,下载文件更新天气数据需要一定时间,写脚本及自动化的时候注意加delay【没更新天气数据发了过去很尴尬】
 2、为了适应按需调用,特意增加了下载json的服务器时间。发送实时天气的时候顺便发送这个时间值,可以知道天气数据的实时性。
 
 
   
 8月14日更新,增加小时天气【48小时】,以小时天气的属性形式输出如下图
 
   注意事项:
 1、注意url: https://api.caiyunapp.com/v2/这里填你的彩云apikey/113.234,22.123/forecast 这两个网址,一个是realtime 一个是forecast 顺序也不能错。
 
 8月17日更新:1、xiaowo的建议增加了day0-day4 的风速传感器【最大、平均、最小】,【其实是当初遗漏了】
 2、将逐分钟预测,60分钟 与120分钟的传感器,合并成两个传感器【数据将以属性的形式展现】
 
     更新的话,需要将yaml也更新了,有改动。另外,逐分钟降雨量是乱序的【0.50.2顺序(win平台)是正常的】。
 
 8月18日轻量更新:
 1、增加8小时最大降雨量这个传感器。更新的话yaml也要更新
 
 
 
 |