Skip to content

sdague/arwn-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arwn-client

Python client library for parsing ARWN weather station MQTT messages.

Installation

pip install arwn-client

Usage

from arwn_client import parse_message

device = parse_message("arwn/temperature/BackYard", {"temp": 72.5, "units": "F"})
if device:
    print(f"{device.device_name}")
    for r in device.readings:
        print(f"  {r.sensor_name}: {r.value} {r.unit}")
# BackYard
#   BackYard Temperature: 72.5 °F

CLI

arwn listen                          # connect to localhost:1883
arwn listen --host 192.168.1.10      # custom broker host
arwn listen --port 1884              # custom broker port
arwn listen --count 5                # stop after 5 messages
arwn listen --json                   # output as JSON

API

parse_message(topic, payload) -> ArwnDevice | None

Parse an ARWN MQTT message. Returns None for unknown topics.

ArwnDevice

Field Type Description
device_key str Unique key e.g. "temperature_BackYard"
device_name str e.g. "BackYard", "Weather Station"
readings list[ArwnReading] Sensor readings for this device

ArwnReading

Field Type Description
sensor_key str e.g. "temp", "speed"
sensor_name str e.g. "BackYard Temperature"
value float | int The reading value
unit str Unit string e.g. "°F", "mph"

License

Apache 2.0

About

Client library for arwn for HA integration

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages