Your VEVOR 7-in-1 Wi-Fi Weather Station YT60234 in Weewx

This write-up could easily be entitled The Rise and Fall of my FT0310 weather station, but to appease the Gods of SEO, I’ll focus on the weewx angle.

The Decline

As you may have guessed, my FT0310 weather station written up here has bitten the dust after a little over two years in operation. A few weeks ago the console stopped displaying illumination and UV data because the external sensor unit began sending what I assume is error code data (insanely high lux and UV values). A cursory check showed water droplets on the inside of the light sensor hatch, so I assumed that something wasn’t waterproofed sufficiently.

Interestingly, after doing a post-mortem, I found a family of spiders happily living inside my sensor unit. Although there was some moisture on the UV sensor board, there is no evident damage. Visual inspection provided no clues as to why both the UV and the temperature/humidity boards have failed, but the investigation is still ongoing.

I also correctly assumed the possibility of a cascade failure and immediately did some light research and ordered a replacement/backup unit, namely the VEVOR 7-in-1 Wi-Fi Weather Station, YT60234, produced by Youtong.

A few weeks later the console stopped displaying humidity and temperature data, thus expediting the replacement.

This part was fairly easy, I just reused my Weathercloud and Weather Underground station ID’s on the new station and got it running in less than half an hour, since its firmware and WIFI support rely on a similar backend.

YT60234 Vevor 7-in-1 weather station in Weewx

To get its data into Weewx, I had to do the following:

  1. Change the RTL_433 run command in sdr.py plugin to listen on the correct frequency, which is 868.3 MHz, thus something along the lines of rtl_433 -M utc -F json -f 868.3M. This is the frequency you’d also use when troubleshooting.
  2. Add a new entry for the station in sdr.py. Please note that this station provides wind speed in km/h so convert values accordingly if necessary. I’ve included a function to convert km/h to m/s in case you need it.
    class Vevor7in1Packet(Packet):
    # {"time" : "2024-11-13 13:27:59", "model" : "Vevor-7in1", "id" : 52266, "channel" : 0, "battery_ok" : 1, "temperature_C" : 5.400, "humidity" : 76, "wind_avg_km_h" : 0.700, "wind_max_km_h" : 2.667, "wind_dir_deg" : 87, "rain_mm" : 12.116, "uv" : 0, "light_lux" : 7213, "mic" : "CHECKSUM"}'
    IDENTIFIER = "Vevor-7in1"

    @staticmethod
    def parse_json(obj):
    pkt = dict()
    pkt['dateTime'] = Packet.parse_time(obj.get('time'))
    pkt['usUnits'] = weewx.METRICWX
    station_id = Packet.get_int(obj, 'id')
    pkt['battery'] = Packet.get_int(obj, 'battery_ok')
    pkt['temperature'] = Packet.get_float(obj, 'temperature_C')
    pkt['humidity'] = Packet.get_float(obj, 'humidity')
    pkt['wind_gust'] = kmh_to_ms(Packet.get_float(obj, 'wind_max_km_h'))
    pkt['wind_speed'] = kmh_to_ms(Packet.get_float(obj, 'wind_avg_km_h'))
    pkt['wind_dir'] = Packet.get_float(obj, 'wind_dir_deg')
    pkt['total_rain'] = Packet.get_float(obj, 'rain_mm')
    pkt['light_lux'] = Packet.get_int(obj, 'light_lux')
    pkt['uv'] = Packet.get_float(obj, 'uv')
    pkt = Packet.add_identifiers(pkt, station_id, Vevor7in1Packet.__name__)
    return pkt

    def kmh_to_ms(v):
    if v is not None:
    v /= 3.6
    return v
  3. map the sdr.py data in weewx.conf (52266 is my unique station ID, yours will probably be different).
    [[sensor_map]]
    windDir = wind_dir.52266.Vevor7in1Packet
    windSpeed = wind_speed.52266.Vevor7in1Packet
    windGust = wind_gust.52266.Vevor7in1Packet
    outTemp = temperature.52266.Vevor7in1Packet
    outHumidity = humidity.52266.Vevor7in1Packet
    rain_total = total_rain.52266.Vevor7in1Packet
    UV = uv.52266.Vevor7in1Packet
    luminosity = light_lux.52266.Vevor7in1Packet

If any of the above instructions are unclear, make sure to check out my original post, because it contains more information.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.