WeatherFlow Tempest API & Developer Platform

https://weatherflow.github.io/Tempest/api/

Most third-party Tempest apps and integrations are designed for the personal use by a single Tempest System owner. 

To start using the REST or WS API, all you need is an access token. Your app or integration must ensure that the user viewing the station data is the owner of that station by authenticating the user’s account. There are two options for authentication: Oauth or the Personal Access Token.

To create a WeatherFlow login:
Download the Tempest app from the app stores.

https://tempestwx.com/signin.html

https://community.weatherflow.com/c/developers/5

GW1000 EcoWitt

WIFI Weather Station Gateway: Receives Ecowitt and Ambient Weather sensor data from external sensors (sold separately): outdoor temperature and humidity, multi-channel (max 8) temperature and humidity, rain, wind, soil moisture(max 8), PM2.5(max 4) and so on; Allowing you to remote monitor weather data on our free WS View APP

Studing a bit their API to access the data over a TCP “pull” connection

Cumulus MX source implemented it and their code is opensource

Specific part about the GW1000

and an extract to showcase how elegant is their solution (not):

// sample data = in-temp, in-hum, abs-baro, rel-baro, temp, hum, dir, speed, gust, light, UV uW, UV-I, rain-rate, rain-day, rain-week, rain-month, rain-year, PM2.5, PM-ch1, Soil-1, temp-2, hum-2, temp-3, hum-3, batt
//byte[] data = new byte[] { 0xFF,0xFF,0x27,0x00,0x5D,0x01,0x00,0x83,0x06,0x55,0x08,0x26,0xE7,0x09,0x26,0xDC,0x02,0x00,0x5D,0x07,0x61,0x0A,0x00,0x89,0x0B,0x00,0x19,0x0C,0x00,0x25,0x15,0x00,0x00,0x00,0x00,0x16,0x00,0x00,0x17,0x00,0x0E,0x00,0x3C,0x10,0x00,0x1E,0x11,0x01,0x4A,0x12,0x00,0x00,0x02,0x68,0x13,0x00,0x00,0x14,0xDC,0x2A,0x01,0x90,0x4D,0x00,0xE3,0x2C,0x34,0x1B,0x00,0xD3,0x23,0x3C,0x1C,0x00,0x60,0x24,0x5A,0x4C,0x04,0x00,0x00,0x00,0xFF,0x5C,0xFF,0x00,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xBA };
//byte[] data = new byte[] { 0xFF, 0xFF, 0x27, 0x00, 0x6D, 0x01, 0x00, 0x96, 0x06, 0x3C, 0x08, 0x27, 0x00, 0x09, 0x27, 0x49, 0x02, 0x00, 0x16, 0x07, 0x61, 0x0A, 0x00, 0x62, 0x0B, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x15, 0x00, 0x01, 0x7D, 0x40, 0x16, 0x00, 0x00, 0x17, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x00, 0x00, 0x11, 0x00, 0xF7, 0x12, 0x00, 0x00, 0x01, 0x5C, 0x13, 0x00, 0x00, 0x15, 0x54, 0x2A, 0x06, 0x40, 0x4D, 0x00, 0xAB, 0x1A, 0xFF, 0x3E, 0x22, 0x39, 0x1B, 0x00, 0x3D, 0x23, 0x51, 0x1C, 0x00, 0xA0, 0x24, 0x45, 0x1D, 0x00, 0xA4, 0x25, 0x3C, 0x1E, 0x00, 0x9D, 0x26, 0x3E, 0x4C, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xA4, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x19, 0x00, 0x1A, 0x8F };

        // expected response
        // 0 - 0xff - header
        // 1 - 0xff
        // 2 - 0x27 - live data command
        // 3 - 0x?? - size of response1
        // 4 - 0x?? - size of response2
        // 5-X      - data - NOTE format is Bigendian
        // Y - 0x?? - checksum

CH-AW 0.4

QRCode sneaked in.
Was easier than expected.
Based on ZXing implementation.

Now focus on the status bar temperature. I forgot how underutilized/underestimated/badly supported are those space up there and the whole android notification ecosystem.

Notifications should be a huge part of an OS workflow and user experience but nobody seem to really realize how powerful they could be.

Time to re-utilize some of the tricks I used with this notification volume control.

CH-AW Ambient Weather developing progress

Good news everybody, the Ambient Weather’s API return the station’s data even if the owner decide to not share them.

Sadly they don’t retun the station’s geoposition coordinates there…

Adding the widget and the temperature (or what else? Humidity?) in the notification bar and I’ll push version 0.9 to the store. Let see if I can make it before March.