Has anyone else thought of running a mapping network that could eventually be added as StdRESTful config, where users feed averaged receptions of sanity-checked (no sub-0°F freezer, or oven, decodes) TPMS temperature packets within range of their elevated-antenna SDR stations? I'll call it TPMSTempNet.
I've been decoding someone's Toyota TPMS, apparently parked in the perfect spot (carport?) to rarely go out of Wunderground's QC delta (unlike my AcuRite 00592TXR & LaCrosse TX6U, which I abandoned attempting to feed as they would retain heat for hours, no matter where/how I placed them outside). I put a class for that TPMS in weewx-sdr.py (at bottom)
So the mapping server doesn't have as much to QC, the network's SDR users would run a custom weewx that
1) only has decoding classes for TPMS packets, added over time until just about every reliably-decoded make/model gets in there
2) logs only TPMS IDs that are actually parked, not just driving by
3) sanity checks decodes from the parked TPMS & adds only the sane ones' IDs to the averager with a rebind script, then
4) averager runs on the decodes from the stored sane IDs across every ~60s & sends a StdRESTful packet to TPMSTempNet.
class ToyotaTPMSPacket(Packet):
IDENTIFIER = "Toyota"
@staticmethod
def parse_json(obj):
if obj.get('type') != 'TPMS':
return None
pkt = dict()
pkt['dateTime'] = Packet.parse_time(obj.get('time'))
pkt['usUnits'] = weewx.METRICWX
sensor_id = obj.get('id')
pkt['temperature'] = Packet.get_float(obj, 'temperature_C')
pkt = Packet.add_identifiers(pkt, sensor_id, ToyotaTPMSPacket.__name__)
return pkt