Project Icon

Home-Assistant-wundergroundpws

个人气象站集成 精准天气数据与预报

Home-Assistant-wundergroundpws是一个为Home Assistant用户设计的Weather Underground个人气象站集成项目。它提供原生天气实体和多种天气传感器,支持基于站点ID的实时天气数据和基于地理坐标的天气预报。该集成允许多实例配置,可调整数据精度和语言,并支持自定义预报传感器。它提供温度、湿度、风速等多项气象指标,适合需要精确本地天气信息的应用场景。

Home Assistant Wundergroundpws v2.X.X

Home Assistant自定义集成,适用于Weather Underground个人气象站用户。 包含原生Home Assistant天气实体和各种天气传感器。 当前天气状况由配置的wundergroundpws站点ID生成。 天气预报根据从配置的wundergroundpws站点ID获取的经纬度生成。 wundergroundpws平台使用Weather Underground作为当前天气信息的来源。

:+1: 如果您觉得这个软件有用,欢迎捐赠:Paypal.me捐赠链接

v2.0.4升级说明: 需要Home Assistant 2023.9或更高版本。 如果从v2.x.x升级到v2.0.4后天气卡片中没有显示预报,请在仪表板中编辑天气卡片并重新保存。


前提条件

Weather Underground PWS API密钥

安装

升级

配置

术语和变量说明

天气实体

统计卡片

本地化

安装前提条件

请查看以下最低要求,以确定您是否能够安装和使用本软件。

  • wundergroundpws v2.X.X是一个重新设计的集成,不是早期版本的升级。 请参阅升级部分了解相关说明。
  • wundergroundpws v2.X.X需要Home Assistant 2023.1或更高版本
  • 已注册且活跃的Weather Underground个人气象站API密钥

Weather Underground PWS API密钥

免费API密钥仅提供给已注册且活跃的Weather Underground个人气象站用户。 要使用此集成,您需要Weather Underground个人气象站API密钥和站点ID。 获取免费API密钥的步骤:

  1. 您必须有一个已注册并向Weather Underground上传数据的个人气象站。 a) 加入Weather Underground b) 登录 c) 我的个人资料 -> 我的气象站 d) 添加新的PWS
  2. https://www.wunderground.com/member/api-keys 获取API密钥。

请在使用以下信息时考虑这一点。

安装

从本仓库下载最新的v2.X.X版本zip文件。 将zip文件解压到临时目录。

将解压文件中的custom_components目录复制到您的.homeassistant目录中。 或 将解压文件中custom_components目录的内容复制到您.homeassistant目录中现有的custom_components目录。

  1. 在Home Assistant设置中,选择设备和服务,然后添加集成。
  2. 选择"wundergroundpws"集成。
  3. 输入您的Weather Underground API密钥和站点ID(区分大小写。必须与您的Wunderground设备ID匹配) 并提交。
  4. 集成设置完成后,您可以选择"配置"来更改:
  • 创建预报传感器、数字精度(无或小数)、语言、日历日温度,以及覆盖预报的纬度和经度。
  • 将创建并启用观测和状况传感器。
  • 默认情况下不创建预报传感器。如果您在集成"配置"中启用"创建预报传感器",它们将被创建。
  • 然后将创建预报传感器,但它们处于禁用状态。要启用,请转到集成-实体,选择您想要的传感器并启用它们。

可以通过使用不同的站点ID和/或API密钥重复上述步骤来创建多个实例。 请注意,每个实例都需要自己的一组API调用,所以要注意不要超过Weather Underground个人API的速率限制。 每个实例每5分钟调用一次,即每天288次。

升级

从早期版本无法直接升级到v2.x.x。 您必须: 删除现有的custom_components/wundergroundpws目录。 从configuration.yaml中删除v1.1.x及更早版本的所有配置项:

# 删除configuration.yaml中的条目
wundergroundpws:
  api_key: 您的API密钥
  pws_id: 您的站点ID

weather:
  - platform: wundergroundpws

sensor:
  - platform: wundergroundpws
    monitored_conditions:
      - temp
      - dewpt
      - heatIndex
      - 等等.. 

重启Home Assistant。 在Home Assistant - 设置 - 实体中,搜索"wundergroundpws",选择所有过滤出的实体并"删除所选"。 重启Home Assistant。 安装v2.x.x(参见上面的安装)。 重新配置任何Lovelace卡片、自动化、脚本等,以反映新的传感器名称。

配置

Wundergroundpws集成配置选项可在以下位置找到: 设置-设备和服务-Wundergroundpws-配置

选项: 创建预报传感器? 默认情况下不创建预报传感器。如果您在集成"配置"中启用"创建预报传感器",它们将被创建。 然后将创建预报传感器,但它们处于禁用状态。要启用,请转到集成-实体,选择您想要的传感器并启用它们。

数字精度 无(整数)或小数(单精度)。 仅适用于PWS当前值(不包括预报)的传感器(不包括天气实体)。

语言 指定API返回的语言。 默认为英语(en-US)。

按日历日显示温度?(实验性) 使用风险自负 - The Weather Company PWS观测API中未记录。 如果选中,则获取相对于日历日(00:00 -> 23:59)的预报温度最高/最低值,而不是API期间(约07:00 -> 约18:59)。 仅影响天气实体预报值,不影响传感器。 这个字段在The Weather Company PWS API中未记录,因此可能会发生变化,如果将来从API响应中移除,设置为true时将导致集成崩溃。

纬度 - 默认从站点ID获取 覆盖天气预报的纬度坐标。 经度 - 默认从站点ID获取 覆盖天气预报的经度坐标。 返回顶部

术语和变量说明

api_key:
  描述: Weather Underground的API密钥。详情见上文。
  必填: 是
  类型: 字符串
pws_id:
  描述: 您必须输入个人气象站ID。
        该站点ID将用于显示当前天气状况。
        注意 - 区分大小写。必须与会员设置中Wunderground设备的ID匹配。
  必填: 是
  类型: 字符串
numeric_precision:
  描述: 可选 - 将PWS数据显示为整数或小数。
        仅适用于传感器中的PWS当前值(不适用于天气实体),不适用于预报。
  必填: 否 - 值为'none'或'decimal'
  类型: 字符串
  默认值: none
calendarday_temp:
  使用风险自负 - Weather Company PWS观测API中未记录:
  描述: 可选 - 如果为true,获取相对于日历日(00:00 -> 23:59)的预报温度最高/最低值,
        而不是API周期(约07:00 -> 约06:59)。
        仅影响天气实体预报值,不影响传感器。
        该字段在Weather Company PWS API中未记录,
        因此可能会发生变化,如果将来从API响应中移除,设置为true时将导致集成崩溃。
  必填: 否 - 值为'true'或'false'
  类型: 布尔值
  默认值: false
lang:
  描述: 指定API返回的语言。当前所有Wunderground语言代码列表可在
        https://docs.google.com/document/d/13HTLgJDpsb39deFzk_YCQ5GoGoZCO_cRYzIxbwvgJLI/edit
        或下方本地化书签处查看。
        如未指定,默认为英语(en-US)。
  必填: 否
  类型: 字符串
  默认值: en-US
latitude:
  描述: 天气预报的纬度坐标(如果指定了**longitude**则必填)。
  必填: 否
  类型: 字符串
  默认值: stationId的WU API纬度
longitude:
  描述: 天气预报的经度坐标(如果指定了**latitude**则必填)。
  必填: 否
  类型: 字符串
  默认值: stationId的WU API经度

可用传感器

# 描述: 在前端显示的条件。可以监控以下条件。
# 有关Weather Underground数据信息,请参阅https://www.wunderground.com/about/data。
#
# 观测值(当前)
 neighborhood:
   唯一ID: <pws_id>,neighborhood
   实体ID: sensor.<pws_id>_neighborhood
   描述: WU PWS参考名称
 obsTimeLocal:
   唯一ID: <pws_id>,obstimelocal
   实体ID: sensor.<pws_id>_local_observation_time   
   描述: 本地观测时间的文本摘要
 humidity:
   唯一ID: <pws_id>,humidity
   实体ID: sensor.<pws_id>_relative_humidity   
   描述: 相对湿度    
 stationID:
   唯一ID: <pws_id>,stationid
   实体ID: sensor.<pws_id>_station_id   
   描述: 您的个人气象站(PWS)ID
 solarRadiation:
   唯一ID: <pws_id>,solarradiation
   实体ID: sensor.<pws_id>_solar_radiation   
   描述: 当前太阳辐射水平
 uv:
   唯一ID: <pws_id>,uv
   实体ID: sensor.<pws_id>_uv_index   
   描述: 当前紫外线辐射水平
 winddir:
   唯一ID: <pws_id>,winddir
   实体ID: sensor.<pws_id>_wind_direction_degrees   
   描述: 风向角度
 windDirectionCardinal:
   唯一ID: <pws_id>,winddirectioncardinal
   实体ID: sensor.<pws_id>_wind_direction_cardinal   
   描述: 风向cardinal方位(N, NE, NNE, S, E, W等)
# 条件(当前)       
 dewpt:
   唯一ID: <PWS_ID>,dewpt
   实体ID: sensor.<pws_id>_dewpoint
   描述: 露点温度,低于此温度水滴开始凝结并可能形成露水
 elev:
   唯一ID: <pws_id>,elev
   实体ID: sensor.<pws_id>_elevation   
   描述: 海拔高度
 heatIndex:
   唯一ID: <pws_id>,heatindex
   实体ID: sensor.<pws_id>_heat_index   
   描述: 热指数(温度和空气湿度的综合效应)
 precipRate:
   唯一ID: <pws_id>,preciprate
   实体ID: sensor.<pws_id>_precipitation_rate   
   描述: 降雨强度
 precipTotal:
   唯一ID: <pws_id>,preciptotal
   实体ID: sensor.<pws_id>_precipitation_today   
   描述: 今日总降水量
 pressure:
   唯一ID: <pws_id>,pressure
   实体ID: sensor.<pws_id>_pressure   
   描述: 大气压力
 temp:
   唯一ID: <pws_id>,temp
   实体ID: sensor.<pws_id>_temperature   
   描述: 当前温度
 windChill:
   唯一ID: <pws_id>,windchill
   实体ID: sensor.<pws_id>_wind_chill   
   描述: 风寒指数(温度和风速的综合效应)      
 windGust:
   唯一ID: <pws_id>,windgust
   实体ID: sensor.<pws_id>_wind_gust   
   描述: 阵风速度
 windSpeed:
   唯一ID: <pws_id>,windspeed
   实体ID: sensor.<pws_id>_wind_speed   
   描述: 当前风速      
# 预报
 narrative:
   唯一ID: <PWS_ID>,narrative_<day>f
   实体ID: sensor.<pws_id>_weather_summary_<day>
   描述: 第<day>天的人类可读天气预报。(<day>变化为0, 1, 2, 3, 4)
 qpfSnow:
   唯一ID: <pws_id>,qpfsnow_<day>f
   实体ID: sensor.<pws_id>_snow_amount_<day>
   描述: 预报的降雪强度。(<day>变化为0, 1, 2, 3, 4)
# 预报日部分
 narrative:
   唯一ID: <PWS_ID>,narrative_<daypart>fdp
   实体ID: sensor.<pws_id>_forecast_summary_<suffix>
   描述: 某天的人类可读天气预报。(<suffix>变化为0d, 1n, 2d, 3n, 4d, 5n, 6d, 7n, 8d, 9n)
 qpf:
   唯一ID: <pws_id>,qpf_<daypart>fdp
   实体ID: sensor.<pws_id>_precipitation_amount_<suffix>
   描述: 预报的降水强度。(<suffix>变化为0d, 1n, 2d, 3n, 4d, 5n, 6d, 7n, 8d, 9n)
 precipChance:
   唯一ID: <pws_id>,precipchance_<daypart>fdp
   实体ID: sensor.<pws_id>_precipitation_probability_<suffix>
   描述: 降水概率。(<suffix>变化为0d, 1n, 2d, 3n, 4d, 5n, 6d, 7n, 8d, 9n)

描述:预测降水概率,以百分比表示。(后缀变化:0d、1n、2d、3n、4d、5n、6d、7n、8d、9n) 温度: 唯一ID:<pws_id>,temperaturefdp 实体ID:sensor.<pws_id>forecast_temperature 描述:预测温度。(后缀变化:0d、1n、2d、3n、4d、5n、6d、7n、8d、9n) 风速: 唯一ID:<pws_id>,windspeed_fdp 实体ID:sensor.<pws_id>average_wind 描述:预测风速。(后缀变化:0d、1n、2d、3n、4d、5n、6d、7n、8d、9n) 上述所列的所有条件将每5分钟更新一次。

Wunderground API 注意事项: 在当地表观时间下午3:00之后,API中的daypart对象以及daypart对象之外的temperatureMax字段将显示为null。 当满足此条件时,受影响的传感器将返回"Today Expired",值为"Unknown"。

上述标有"#d"的变体是每日预报。 上述标有"#n"的变体是夜间预报。

注意:虽然平台名为"wundergroundpws",但传感器在Home Assistant中将显示为 sensor.<pws_id>_forecast_temperature_<suffix> (例如:sensor.samplepwsid_forecast_temperature_0d)。

有关API的更多详细信息可在此处获得。 返回顶部

天气实体

wundergroundpws数据返回到天气实体(HASS天气预报卡): 当前:

  • 温度
  • 气压
  • 湿度
  • 风速
  • 风向

预报:

  • 日期时间
  • 温度(最高)
  • 温度(最低)
  • 天气状况(图标)
  • 降水量
  • 降水概率
  • 风向
  • 风速

可以创建模板来访问这些值,例如:

{% for state in states.weather -%}
  {%- if loop.first %}{{ state.name | lower }}是{{state.state_with_unit}}{% elif loop.last %},{{ state.name | lower }}是{{state.state_with_unit}}{% else %},{{ state.name | lower }}是{{state.state_with_unit}}{% endif -%}
{%- endfor %}。

风向是{{ states.weather.<STATIONID>.attributes.forecast[0].wind_bearing }},风速为{{ states.weather.<STATIONID>.attributes.forecast[0].wind_speed }} {{ states.weather.<STATIONID>.attributes.wind_speed_unit }}

返回顶部

统计中可用的传感器

以下是在Lovelace统计卡中公开的wundergroundpws传感器。 请注意,只有具有相同单位的传感器才能在单个卡片中组合。

  • 类别 NONE

  • sensor.samplepwsid_uv_index

  • 类别 DEGREE

  • sensor.sensor.samplepwsid_wind_direction_degrees

  • 类别 RATE & SPEED

  • sensor.samplepwsid_precipitation_rate

  • sensor.samplepwsid_wind_gust

  • sensor.samplepwsid_wind_speed

  • 类别 LENGTH

  • sensor.samplepwsid_precipitation_today

  • 类别 PRESSURE

  • sensor.samplepwsid_pressure

  • 类别 HUMIDITY

  • sensor.samplepwsid_relative_humidity

  • 类别 IRRADIANCE

  • sensor.samplepwsid_solar_radiation

  • 类别 TEMPERATURE

  • sensor.samplepwsid_dewpoint

  • sensor.samplepwsid_heat_index

  • sensor.samplepwsid_wind_chill

  • sensor.samplepwsid_temperature

返回顶部

本地化

传感器的"友好名称"通过翻译文件设置。 Wundergroundpws翻译文件位于'wundergroundpws/wupws_translations'目录中。 文件使用'en.json'作为基础,通过https://translate.i18next.com进行翻译。 翻译仅使用基本语言代码,而不使用变体(例如zh-CN/zh-HK/zh-TW使用zh)。 如果在wundergroundpws配置中未设置lang:选项,则默认为en-US(translations/en.json)。 如果设置了lang:(例如lang: de-DE),则加载translations/de.json文件,并使用de-DE查询Weather Underground API。 翻译文件适用于所有传感器的友好名称。 forecast-narrative、forecast-dayOfWeek、forecast-daypart-narrative和forecast-daypart-daypartName由API翻译。 可用的lang:选项有:

'am-ET', 'ar-AE', 'az-AZ', 'bg-BG', 'bn-BD', 'bn-IN', 'bs-BA', 'ca-ES', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-GB',
'en-IN', 'en-US', 'es-AR', 'es-ES', 'es-LA', 'es-MX', 'es-UN', 'es-US', 'et-EE', 'fa-IR', 'fi-FI', 'fr-CA', 'fr-FR',
'gu-IN', 'he-IL', 'hi-IN', 'hr-HR', 'hu-HU', 'in-ID', 'is-IS', 'it-IT', 'iw-IL', 'ja-JP', 'jv-ID', 'ka-GE', 'kk-KZ',
'km-KH', 'kn-IN', 'ko-KR', 'lo-LA', 'lt-LT', 'lv-LV', 'mk-MK', 'mn-MN', 'mr-IN', 'ms-MY', 'my-MM', 'ne-IN', 'ne-NP',
'nl-NL', 'no-NO', 'om-ET', 'pa-IN', 'pa-PK', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'si-LK', 'sk-SK', 'sl-SI',
'sq-AL', 'sr-BA', 'sr-ME', 'sr-RS', 'sv-SE', 'sw-KE', 'ta-IN', 'ta-LK', 'te-IN', 'ti-ER', 'ti-ET', 'tg-TJ', 'th-TH',
'tk-TM', 'tl-PH', 'tr-TR', 'uk-UA', 'ur-PK', 'uz-UZ', 'vi-VN', 'zh-CN', 'zh-HK', 'zh-TW'

天气实体(hass天气卡)的翻译由Home Assistant处理,并在用户->语言设置下配置。 返回顶部

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号