Pysmartweatherudp
Python 2和3模块通过UDP与Weatherflow的智能天气站进行交互
该模块使用UDP API与公司Weatherflow的智能家庭气象站进行通信。它从附件单元中检索当前的天气数据。目前有三种类型的单元:
- 空气- 该单元测量温度,湿度,压力和雷击
- 天空- 该单元测量降水,风,照明和紫外线
- Tempest-本机将空气和天空单元组合到单个设备中。
它们都附在中央集线器上,该中央集线器通过UDP广播数据,并将数据发送到Weatherflow管理的云数据库。该模块通过聆听本地网络上的UDP广播来检索数据。
根据车站的不同,有几个广播正在发送。该模块处理了四个广播:
- Rapid_wind-这包含当前风速和轴承,每3秒更新一次
- obs_air-在这里我们获得温度,湿度,压力和雷击。这每分钟发送数据
- obs_sky-这是我们得到降水,风,照明和紫外线的地方。每分钟也会广播。
- obs_st-这是针对一个天气站的新的暴风雨,并将空气/天空数据结合到每分钟发送的一条消息中。
注意:暴风雨单元将在SkyBattery和Airbattery传感器中返回电池电压。
该功能是专门用于与家庭助理一起使用的,因此需要格式化数据以适合该功能。但是它可以很容易地用于其他目的。
功能
该模块公开以下功能:
SWRECEIVER(主机,端口,单位)
这将返回数据类,其中所有数据类从特定站收集。
主持人
(字符串)(可选)要收听的IP地址。
默认值:0.0.0.0(所有IP地址)
港口
(整数)(可选)广播端口要收听。 Weatherflow仅将数据发送到端口50222
默认值:50222
单位
(字符串)(可选)要使用的单元系统。公制或帝国
默认值:度量
数据类定义
- 时间戳- 上次更新时期的时间
- 温度- 电流温度。注意:由于该模块被设计为与家庭助理一起使用,因此即使在调用模块时提供单位,也不会进行温度转换。温度将永远是摄氏。
- 感觉像- 温度的感觉。加热指数和风冷的结合
- 热_index-结合湿度和温度的温度测量值。感觉有多热。仅当温度高于26.67°C(80°F)时使用
- wind_chill-感觉有多冷。仅当温度低于10°C(50°F)时使用
- DeWpoint -DeWpoint。大气温度(根据压力和湿度变化)下面的水滴开始凝结并形成露水
- Wind_speed-最后一分钟的平均风速
- wind_speed_rapid-当前风速
- Wind_gust-最后一刻的最高风速
- Wind_lull-最后一刻的最低风速
- Wind_ -Bearing-最后一分钟的平均风轴承度(例如:287°)
- wind_bearing_rapid-当前的风轴承度(示例:287°)
- wind_direction-风轴承作为定向文本(示例:nnw)
- 降水- 自午夜以来的降水。由于UDP数据的性质,该数字是在内存中计算的。因此,如果重新启动模块,则计数器返回0。不幸的是,重新启动后无法抓住数据
- strad_rate-当前的降水速率-0如果不下雨
- 湿度- 当前湿度为%
- 压力- 当前的气压压力,考虑到车站的位置
- 紫外线- 紫外线指数
- solar_radiation-以W/M2测量的电流太阳辐射
- 照明- 显示Lux的亮度
- Lightning_count-显示最后一分钟的雷击数量。
- 空气炉- 空气单元的当前电压
- SkyBattery-天空单元的当前电压