Generally, there are two types of data that flow through WeeWX: LOOP packets, andĪrchive records. Have WeeWX do the calculation, despite the type's presence in LOOP packets. Sometimes the firmware simply does it wrong, and you may choose to Should you choose to do so, the WeeWX service StdWXCalculate canįill in the gaps. Stations are capable of doing many of these calculations on their own. Or ET, which are calculated from the primary data. Radiation, there are also many useful dependent types, such as wind chill, heat index, In addition to the primary observation types such as temperature, humidity, or solar
Some kinds of hardware (most notably, Davis Vantage) are capable of emitting archive Raw bits and bytes, and puts the resulting data into LOOP packets.
The driver reads data fromĪ serial port or a device on the USB or a network interface.
"something" might be to print out the data, or to generate an HTML report, or to useįTP to copy a report to a web server, or to perform some calculations using the data.Ī driver is Python code that communicates with the hardware. When the sensors spit out some data, WeeWX does something. WeeWX includes an ability to customize behavior by installing extensions.Įxtensions may consist of one or more drivers, services, and/or skins, all in an Services can do things such as check the data quality, apply corrections, or saveĭata to a database. In order - services at the top of the pipeline act on the data Services bind to events of interest, such as new Internally, the WeeWX engine uses a pipeline architecture, consisting Such as rain, it is the sum of all values over the archive interval. LOOP packets over the archive interval (typically 5 minutes). WeeWX then compiles these LOOP packets into regularly spaced "archive records."įor most types, the archive record contains the average value seen in all of the Rain that fell during the observation period. In addition to any number of observations, such as temperature or humidity.įor extensive types, such as rain, the packet contains the total amount of Each LOOP packet must contain a time stamp, and a unit system, LOOP packets may contain arbitrary data from the station/driver in the form of a Than one driver can run in a WeeWX process. The driver is single-threaded and blocking, so no more
The process is configured using a file with the nameĪ WeeWX process has at most one "driver" to communicate with the station hardwareĪnd receive "high resolution" ( i.e. Data, in the form of LOOP packets and archiveĪ WeeWX process normally handles the monitoring of one station - e.g. More detail in the rest of this document.Ī typical WeeWX pipeline. You have done, particularly if they involve the API (skin customizations tend to beīelow is a brief overview of the WeeWX system architecture, which is covered in much Future upgrades may break any customizations Its internal design is subject to change. Warning! WeeWX is still an experimental system and, as such,
See the WeeWX Hardware Guideįor details of how different observation types are handled by different types hardware. Most of the guide applies to any hardware, but the exact data types are However, if your goal is a specialized application, such as adding alarms, RSS feeds,Įtc., then it would be worth your while to read about the internal architecture. With this approach you can easily add new plot images, change the titles of images,Ĭhange the units used in the reports, and so on. In customizing the generated reports you can probably skip the introduction and proceedĭirectly to the section Customizing reports. The introduction contains an overview of the architecture. Reasonably familiar with, the Users Guide. This document covers the customization of WeeWX.