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

 找回密码
 立即注册
查看: 2939|回复: 8

[经验分享] 当我遇上天气插件之 - [再改天气插件]

[复制链接]

3

主题

15

帖子

301

积分

论坛分享达人

积分
301
金钱
286
HASS币
0
发表于 2022-5-6 15:29:57 | 显示全部楼层 |阅读模式
本帖最后由 lyj97 于 2022-5-6 15:31 编辑

书接上回:https://bbs.hassbian.com/thread-16099-1-1.html



上次,修改插件的更新问题后,我仔细看了各位dalao遇到的问题,主要是
1. 更新时间间隔是什么?(答案在下面)
2. 更新接口存在被封情况
    未确认具体原因,查日志可以看到错误如下(和修改更新逻辑前的错误是一致的
NMCWeather update error HTTPConnectionPool(host='www.nmc.cn', port=80): Max retries exceeded with url: /f/rest/real/54499 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f2342bf5a00>: Failed to establish a new connection: [Errno -3] Try again'))
   因此给出猜测:可能是HA在2204版本中调整了天气(weather)的更新时间,目前更新时间为30s,且不能自行修改
SCAN_INTERVAL = timedelta(seconds=30)                        # 更新时间,https://github.com/home-assistant/core/blob/master/homeassistant/components/weather/__init__.py   line:63



本次【魔改】内容:
1. 新增:更新时间设置(支持30s的整数倍)
2. 新增:天气更新事件(type: weather_update_event)
3. 修改:提供获取“中文”天气的方法(使用上面提到的事件中的数据)


食用指南
1. 根据需要,修改配置文件

# 天气插件
weather:
  - platform: weathernmc
  api_key: weathernmc
  update_skip: 5                 #  更新间隔(默认0,即30s一次)时间示例:「设置值:5  作用   3分钟【解释:跳过5次更新,每6次实际更新一次,即150秒】」
  fire_update_event: true    #  是否发事件,默认False(否)
2. 上传代码,覆盖
3. 重启HA
4. Enjoy it.


附件:
修改后仓库地址:https://gitee.com/lyj97/homeassistant-script
天气事件使用示例:(新建自动化)
alias: 示例-监听天气事件
description: ''
trigger:
  - platform: event
    event_type: weather_update_event
condition: []
action:
  - service: input_text.set_value
    data:
      value: >-
        今日天气:  {{trigger.event.data.weather_data_cn.state}}, 明日天气:
        {{trigger.event.data.weather_data_cn.forecast[0].condition}}
    target:
      entity_id: input_text.ce_shi
mode: single



weathernmc.zip

8.39 KB, 下载次数: 48

魔改代码

评分

参与人数 1金钱 +20 收起 理由
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

3

主题

15

帖子

301

积分

论坛分享达人

积分
301
金钱
286
HASS币
0
 楼主| 发表于 2022-5-6 15:34:48 | 显示全部楼层
为什么提供“中文”获取方式?
例如:接口返回值区分了小雨、中雨、大雨、暴雨,对应英文只有"rainy""pouring",导致一部分细节信息丢失。
回复

使用道具 举报

22

主题

612

帖子

2759

积分

金牌会员

Rank: 6Rank: 6

积分
2759
金钱
2147
HASS币
0
发表于 2022-5-6 19:38:07 | 显示全部楼层
论坛有位朋友改过,正常使用中,不知道你这边修改后的有哪些不同呢
https://bbs.hassbian.com/thread-16099-1-1.html
回复

使用道具 举报

3

主题

15

帖子

301

积分

论坛分享达人

积分
301
金钱
286
HASS币
0
 楼主| 发表于 2022-5-6 20:44:17 | 显示全部楼层
a_dongde 发表于 2022-5-6 19:38
论坛有位朋友改过,正常使用中,不知道你这边修改后的有哪些不同呢
https://bbs.hassbian.com/thread-16099 ...


啊这,这两个贴都是我,这次有些新增的内容,上次是问题修复
回复

使用道具 举报

8

主题

158

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
751
HASS币
0
发表于 2022-5-7 15:29:22 | 显示全部楼层
论坛下载的文件夹和仓库地址:https://gitee.com/lyj97/homeassistant-script 里面下载的文件夹结构不一样。请问,到底是应该把哪个文件夹放入ha?三个文件夹见下图
QQ截图20220507152651.jpg
回复

使用道具 举报

3

主题

15

帖子

301

积分

论坛分享达人

积分
301
金钱
286
HASS币
0
 楼主| 发表于 2022-5-9 14:31:58 | 显示全部楼层
hejie127 发表于 2022-5-7 15:29
论坛下载的文件夹和仓库地址:https://gitee.com/lyj97/homeassistant-script 里面下载的文件夹结构不一样 ...

论坛附件和上传的代码是一致的哈。
应该把包含代码文件(weather.py)的那个文件夹上传到HA。不要嵌套其他文件夹。
对应你的截图,应该是2和3都可。
回复

使用道具 举报

1

主题

51

帖子

736

积分

高级会员

Rank: 4

积分
736
金钱
685
HASS币
0
发表于 2022-5-9 15:15:41 | 显示全部楼层
码云的代码还没更新吧
回复

使用道具 举报

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
发表于 2022-6-4 15:37:42 | 显示全部楼层
mark 后面慢慢学习
回复

使用道具 举报

1

主题

12

帖子

105

积分

注册会员

Rank: 2

积分
105
金钱
93
HASS币
0
发表于 2022-6-5 21:26:31 | 显示全部楼层
谢谢分享,学习了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 19:06 , Processed in 0.061529 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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