Mix data from Ecowitt and Davis

127 views
Skip to first unread message

mihec

unread,
Aug 14, 2026, 6:05:49 AM (11 days ago) Aug 14
to weewx-user
Hi,
I have 10+ years database from Davis Vantage Vue which is still working well. I'm going to add a Ecowitt temperature & humidity sensor which will be placed to a more appropriate location (Vue is installed rooftop...).
I'd like to log the Ecowitt's temperature as the main temperature (outTemp) and Davis as the extra one. Is this feasible? If not, I can still log Ecowitt as the extraTemp. Then I'd need to change the NOAA reports properly.

What would be the right way to access data from Ecowitt? I should probably leave the station as Davis and add a service that reads the Ecowitt's data from a file?

Thanks for any hint.

Tom Keffer

unread,
Aug 14, 2026, 3:10:49 PM (10 days ago) Aug 14
to weewx...@googlegroups.com
There are several ways of accomplishing this.

The simplest is just to run two different WeeWX instances, one for the Vantage, one for the Ecowitt. This will result in two different databases. Then combine them into one report. See the section Using multiple bindings in the documentation.

Another approach is as you say: write a service that extracts what data you want from the Ecowitt. This will require running a separate thread that does the data acquisition from the Ecowitt so as not to block the main thread.

Run two instances and have them both publish to MQTT. Then run a third instance that subscribes to the MQTT broker and let it produce the reports.

There are lots of possibilities!

-tk


--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/weewx-user/e455744c-29e2-47be-a99f-d9dca8332bb5n%40googlegroups.com.

Vince Skahan

unread,
Aug 14, 2026, 4:32:46 PM (10 days ago) Aug 14
to weewx-user
The nuance here is mihec wants to use the Ecowitt temperature as the primary outTemp yet (seemingly) wants to use the Vue for everything else. That's a bit unusual.

I think I'd edit the skin(s) that generate the NOAA reports after forking them to new names.  Save the diffs as a patch that can be reapplied to future updates of whatever skin(s) have the NOAA report templates.  I can only think of Seasons, Standard, and Belchertown (original or new) as skins that do that.

I use MQTT here but I do 'not' supersede which data is in outTemp/outHumidity so each instance has its own NOAA data, but here's my MQTT stanzas for doing that.  Setting up a mosquitto MQTT broker on the weewx box is easy to do.

# the Ecowitt instance publishes
[[MQTT]]
    client_id = ecowitt
    server_url = mqtt://192.168.1.69:1883/
    topic = ecowitt 
    log_success = false
    log_failure = true
    enable = true


# the Vantage instance subscribes
[MQTTSubscribeService]
    enable = true
    host = 192.168.1.69
    port = 1883
    keepalive = 60
    username = None
    password = None
    binding = loop
    [[message_callback]]
        type = json
    [[topics]]
        unit_system = US
        ignore_start_time = True
        ignore_end_time = True
        [[[ecowitt/loop]]]
            [[[[outTemp_F]]]]     # outside ecowitt
                name = extraTemp1 # save ecowitt temp to vantage instance's extraTemp1
                units = degree_F

mihec

unread,
Aug 15, 2026, 2:49:28 PM (9 days ago) Aug 15
to weewx-user
Thanks both for replies. I know it is unusual but the temperature readings at height are not the same as at 2 m. I'll probably read Ecowitt from file and log in some extraTemp field. I hope it is possible to change the NOAA template to use e.g. extraTemp5 instead of outTemp -- I'll look into that. I'd optimally generate a native one and the one with the Ecowitt temperature sensor.
I'll run another weewx instance (for the Ecowitt sensors) in parallel for sure. I'll probably have to switch to Ecowitt in full at some point.

petek, 14. avgust 2026 ob 22:32:46 UTC+2 je oseba Vince Skahan napisala:

jterr...@gmail.com

unread,
Aug 16, 2026, 3:03:31 AM (9 days ago) Aug 16
to weewx-user
A few years ago, i add the same need to use some Ecowitt sensor as main sensors and using the GW1000 service.  
So I wrote a service that was linked  to the NEW_ARCHIVE_RECORD event, with the aim to transfer Ecowitt sensor  to the a main sensor,  such as for example :
 event.record['outTemp'] = event.record['extraTemp5']   (extraTemps5 is mapped by the GW1000 service to an Ecowitt temperature sensor)

The problem was that the record received by the NEW_ARCHIVE_RECORD event did not contained any Ecowitt data, so for example event.record['extraTemp5'] was missing .  

The record data of ecowitt (coming from the accumulator) are generated after just before the archiving process of SdtArchive., and are therefore not available at the time of the NEW_ARCHIVE_RECORD event.

Reply all
Reply to author
Forward
0 new messages