Compare commits

...

6 Commits

Author SHA1 Message Date
8e75f96c03 update for aprsd master 2025-06-17 21:45:49 -04:00
872ffd6ce4 don't dump the packet when you get it from weewx 2023-10-06 16:28:56 -04:00
e59fa28cb1 Update building WeatherPacket 2023-10-06 16:26:51 -04:00
e4904f6d56 another try 2023-04-20 16:14:57 -04:00
6c1ae8202d Updated pressure * 10 2023-04-20 15:58:47 -04:00
1da5037f49 Take the pressure from pressure_inHg 2023-04-20 15:43:46 -04:00
2 changed files with 26 additions and 5 deletions

View File

@ -1,9 +1,25 @@
CHANGES
=======
v0.3.2
------
* another try
v0.3.1
------
* Updated pressure \* 10
v0.3.0
------
* Take the pressure from pressure\_inHg
v0.2.0
------
* update for 0.2.0
* Fixed pep8 failures
* Update to aprsd 3.0.0 and include config options!
* don't dump the whole packet

View File

@ -5,10 +5,10 @@ import logging
import queue
import time
import aprsd.messaging
import paho.mqtt.client as mqtt
from aprsd import plugin, threads
from aprsd.threads import tx
from aprsd.packets import core
from oslo_config import cfg
from aprsd_weewx_plugin import conf # noqa
@ -187,6 +187,7 @@ class WeewxMQTTThread(threads.APRSDThread):
)
self.client = mqtt.Client(client_id="WeewxMQTTPlugin")
self.client.on_connect = self.on_connect
self.client.on_disconnect = self.on_disconnect
self.client.on_message = self.on_message
self.client.connect(self._mqtt_host, self._mqtt_port, 60)
if CONF.aprsd_weewx_plugin.mqtt_user:
@ -204,6 +205,9 @@ class WeewxMQTTThread(threads.APRSDThread):
LOG.info(f"Connected to MQTT {self._mqtt_host} ({rc})")
client.subscribe("weather/loop")
def on_disconnect(self, client, userdata, rc):
LOG.info(f"Disconnected from MQTT {self._mqtt_host} ({rc})")
def on_message(self, client, userdata, msg):
wx_data = json.loads(msg.payload)
LOG.debug("Got WX data")
@ -317,14 +321,15 @@ class WeewxWXAPRSThread(threads.APRSDThread):
rain_since_midnight = float(wx_data.get("day_Rain_in", 0.00))
humidity = float(wx_data.get("outHumidity", 0.00))
# * 330.863886667
pressure = float(wx_data.get("relbarometer", 0.00)) * 10
return aprsd.packets.WeatherPacket(
# inHg * 33.8639 = mBar
pressure = float(wx_data.get("pressure_inHg", 0.00)) * 33.8639 * 10
return core.WeatherPacket(
from_call=self.callsign,
to_call="APRS",
latitude=self.convert_latitude(float(self.latitude)),
longitude=self.convert_longitude(float(self.longitude)),
course=int(wind_dir),
speed=wind_speed,
wind_direction=int(wind_dir),
wind_speed=wind_speed,
wind_gust=wind_gust,
temperature=temperature,
rain_1h=rain_last_hr,