{"current":{"ecowitt":{"id":53440,"source":"ecowitt","timestamp":"2026-04-24 19:50:00","data":{"temperature":66,"temperatureUnit":"ºF","humidity":27,"indoorTemperature":73.9,"indoorHumidity":35,"windSpeed":2.5,"windSpeedUnit":"mph","windDirection":172,"windGust":2.5,"pressure":1003.387357,"pressureUnit":"mb","rainRate":0,"rainRateUnit":"in/hr","rainDaily":0,"rainEvent":0,"rainHourly":0,"rainWeekly":0.35,"rainMonthly":1.57,"solarRadiation":72.5,"uvi":null,"sensorTime":"2026-04-24T19:50:00.000Z"}},"purpleair":{"id":53441,"source":"purpleair","timestamp":"2026-04-24 19:50:00","data":{"pm25":0.7,"aqi":3,"aqiLevel":{"label":"Good","color":"#00e400"},"humidity":21,"temperature":76,"sensorTime":"2026-04-24T19:48:42.000Z"}},"airgradient":{"id":53442,"source":"airgradient","timestamp":"2026-04-24 19:50:01","data":{"co2":584,"pm25":0,"pm01":0,"pm10":0,"tvocIndex":479,"noxIndex":1,"temperature":72.5,"humidity":43,"sensorTime":"2026-04-24T19:49:11.000Z"}}},"forecast":{"hours":[{"time":"2026-04-24T15:00","temperature":64.9,"precipitationProbability":0,"weatherCode":0,"windSpeed":7.9},{"time":"2026-04-24T16:00","temperature":65.6,"precipitationProbability":1,"weatherCode":0,"windSpeed":8.6},{"time":"2026-04-24T17:00","temperature":65.6,"precipitationProbability":1,"weatherCode":0,"windSpeed":7.6},{"time":"2026-04-24T18:00","temperature":65.1,"precipitationProbability":1,"weatherCode":0,"windSpeed":5.8},{"time":"2026-04-24T19:00","temperature":58.3,"precipitationProbability":1,"weatherCode":0,"windSpeed":8.7},{"time":"2026-04-24T20:00","temperature":53.6,"precipitationProbability":1,"weatherCode":3,"windSpeed":8.1},{"time":"2026-04-24T21:00","temperature":50.6,"precipitationProbability":1,"weatherCode":1,"windSpeed":6.6},{"time":"2026-04-24T22:00","temperature":49.5,"precipitationProbability":2,"weatherCode":1,"windSpeed":5.7},{"time":"2026-04-24T23:00","temperature":48.5,"precipitationProbability":2,"weatherCode":3,"windSpeed":5.9},{"time":"2026-04-25T00:00","temperature":48,"precipitationProbability":2,"weatherCode":3,"windSpeed":4.9},{"time":"2026-04-25T01:00","temperature":47.9,"precipitationProbability":2,"weatherCode":3,"windSpeed":5.4},{"time":"2026-04-25T02:00","temperature":47.1,"precipitationProbability":2,"weatherCode":1,"windSpeed":5},{"time":"2026-04-25T03:00","temperature":46.4,"precipitationProbability":2,"weatherCode":3,"windSpeed":7.6},{"time":"2026-04-25T04:00","temperature":46.3,"precipitationProbability":2,"weatherCode":3,"windSpeed":8.5},{"time":"2026-04-25T05:00","temperature":46.2,"precipitationProbability":5,"weatherCode":3,"windSpeed":7.6},{"time":"2026-04-25T06:00","temperature":46.2,"precipitationProbability":3,"weatherCode":3,"windSpeed":6.6},{"time":"2026-04-25T07:00","temperature":46.5,"precipitationProbability":5,"weatherCode":3,"windSpeed":7.6},{"time":"2026-04-25T08:00","temperature":45.8,"precipitationProbability":10,"weatherCode":3,"windSpeed":8.7},{"time":"2026-04-25T09:00","temperature":48,"precipitationProbability":18,"weatherCode":3,"windSpeed":8.6},{"time":"2026-04-25T10:00","temperature":46.1,"precipitationProbability":35,"weatherCode":55,"windSpeed":6.6},{"time":"2026-04-25T11:00","temperature":45.1,"precipitationProbability":48,"weatherCode":61,"windSpeed":7.9},{"time":"2026-04-25T12:00","temperature":44.4,"precipitationProbability":68,"weatherCode":51,"windSpeed":9.7},{"time":"2026-04-25T13:00","temperature":44.4,"precipitationProbability":73,"weatherCode":55,"windSpeed":10.1},{"time":"2026-04-25T14:00","temperature":43.5,"precipitationProbability":81,"weatherCode":3,"windSpeed":9},{"time":"2026-04-25T15:00","temperature":43.1,"precipitationProbability":87,"weatherCode":55,"windSpeed":9.3},{"time":"2026-04-25T16:00","temperature":43.2,"precipitationProbability":85,"weatherCode":61,"windSpeed":8.4},{"time":"2026-04-25T17:00","temperature":42.6,"precipitationProbability":82,"weatherCode":51,"windSpeed":7},{"time":"2026-04-25T18:00","temperature":42.1,"precipitationProbability":82,"weatherCode":55,"windSpeed":9.2},{"time":"2026-04-25T19:00","temperature":42,"precipitationProbability":84,"weatherCode":55,"windSpeed":9.6},{"time":"2026-04-25T20:00","temperature":41.9,"precipitationProbability":84,"weatherCode":63,"windSpeed":8.5},{"time":"2026-04-25T21:00","temperature":41.4,"precipitationProbability":84,"weatherCode":63,"windSpeed":8.7},{"time":"2026-04-25T22:00","temperature":41.4,"precipitationProbability":85,"weatherCode":63,"windSpeed":9},{"time":"2026-04-25T23:00","temperature":40.8,"precipitationProbability":83,"weatherCode":73,"windSpeed":9.1},{"time":"2026-04-26T00:00","temperature":40.5,"precipitationProbability":81,"weatherCode":73,"windSpeed":9},{"time":"2026-04-26T01:00","temperature":39.7,"precipitationProbability":79,"weatherCode":71,"windSpeed":9.3},{"time":"2026-04-26T02:00","temperature":38.9,"precipitationProbability":77,"weatherCode":71,"windSpeed":10.5},{"time":"2026-04-26T03:00","temperature":38.6,"precipitationProbability":60,"weatherCode":71,"windSpeed":9.9},{"time":"2026-04-26T04:00","temperature":38.1,"precipitationProbability":60,"weatherCode":71,"windSpeed":11.1},{"time":"2026-04-26T05:00","temperature":38,"precipitationProbability":60,"weatherCode":71,"windSpeed":10.3},{"time":"2026-04-26T06:00","temperature":38.8,"precipitationProbability":60,"weatherCode":3,"windSpeed":10.3},{"time":"2026-04-26T07:00","temperature":40,"precipitationProbability":60,"weatherCode":51,"windSpeed":10},{"time":"2026-04-26T08:00","temperature":41.2,"precipitationProbability":60,"weatherCode":3,"windSpeed":10.8},{"time":"2026-04-26T09:00","temperature":41.8,"precipitationProbability":38,"weatherCode":51,"windSpeed":10.2},{"time":"2026-04-26T10:00","temperature":41.9,"precipitationProbability":38,"weatherCode":51,"windSpeed":10.1},{"time":"2026-04-26T11:00","temperature":41.9,"precipitationProbability":38,"weatherCode":51,"windSpeed":9.8},{"time":"2026-04-26T12:00","temperature":41.9,"precipitationProbability":38,"weatherCode":53,"windSpeed":10.2},{"time":"2026-04-26T13:00","temperature":42.3,"precipitationProbability":38,"weatherCode":53,"windSpeed":10.2},{"time":"2026-04-26T14:00","temperature":42.5,"precipitationProbability":38,"weatherCode":53,"windSpeed":10.4},{"time":"2026-04-26T15:00","temperature":42.8,"precipitationProbability":28,"weatherCode":51,"windSpeed":9.8},{"time":"2026-04-26T16:00","temperature":43.2,"precipitationProbability":28,"weatherCode":51,"windSpeed":9.4},{"time":"2026-04-26T17:00","temperature":43.6,"precipitationProbability":28,"weatherCode":51,"windSpeed":9.1},{"time":"2026-04-26T18:00","temperature":44.3,"precipitationProbability":28,"weatherCode":3,"windSpeed":8.8},{"time":"2026-04-26T19:00","temperature":44.8,"precipitationProbability":28,"weatherCode":3,"windSpeed":8.6},{"time":"2026-04-26T20:00","temperature":45,"precipitationProbability":28,"weatherCode":3,"windSpeed":8.5},{"time":"2026-04-26T21:00","temperature":44.5,"precipitationProbability":18,"weatherCode":2,"windSpeed":7},{"time":"2026-04-26T22:00","temperature":43.4,"precipitationProbability":18,"weatherCode":1,"windSpeed":5.8},{"time":"2026-04-26T23:00","temperature":42.7,"precipitationProbability":18,"weatherCode":2,"windSpeed":5.3},{"time":"2026-04-27T00:00","temperature":42.1,"precipitationProbability":18,"weatherCode":1,"windSpeed":5.6},{"time":"2026-04-27T01:00","temperature":41.8,"precipitationProbability":18,"weatherCode":0,"windSpeed":7.4},{"time":"2026-04-27T02:00","temperature":41.8,"precipitationProbability":18,"weatherCode":0,"windSpeed":8.3},{"time":"2026-04-27T03:00","temperature":41.8,"precipitationProbability":16,"weatherCode":0,"windSpeed":8.4},{"time":"2026-04-27T04:00","temperature":41.6,"precipitationProbability":16,"weatherCode":0,"windSpeed":8.3},{"time":"2026-04-27T05:00","temperature":41.4,"precipitationProbability":16,"weatherCode":0,"windSpeed":8.9},{"time":"2026-04-27T06:00","temperature":41.2,"precipitationProbability":16,"weatherCode":0,"windSpeed":8.8},{"time":"2026-04-27T07:00","temperature":42.3,"precipitationProbability":16,"weatherCode":0,"windSpeed":8.9},{"time":"2026-04-27T08:00","temperature":45.2,"precipitationProbability":16,"weatherCode":0,"windSpeed":10},{"time":"2026-04-27T09:00","temperature":48.6,"precipitationProbability":14,"weatherCode":1,"windSpeed":11.2},{"time":"2026-04-27T10:00","temperature":49.3,"precipitationProbability":14,"weatherCode":3,"windSpeed":10.1},{"time":"2026-04-27T11:00","temperature":52.6,"precipitationProbability":14,"weatherCode":3,"windSpeed":11.4},{"time":"2026-04-27T12:00","temperature":54.9,"precipitationProbability":14,"weatherCode":3,"windSpeed":11.5},{"time":"2026-04-27T13:00","temperature":56.3,"precipitationProbability":14,"weatherCode":3,"windSpeed":10.8},{"time":"2026-04-27T14:00","temperature":57.1,"precipitationProbability":14,"weatherCode":3,"windSpeed":8.3},{"time":"2026-04-27T15:00","temperature":56.9,"precipitationProbability":8,"weatherCode":3,"windSpeed":7.1},{"time":"2026-04-27T16:00","temperature":57.8,"precipitationProbability":8,"weatherCode":3,"windSpeed":7},{"time":"2026-04-27T17:00","temperature":58.1,"precipitationProbability":8,"weatherCode":3,"windSpeed":8.5},{"time":"2026-04-27T18:00","temperature":55.6,"precipitationProbability":8,"weatherCode":3,"windSpeed":9.8},{"time":"2026-04-27T19:00","temperature":53.3,"precipitationProbability":8,"weatherCode":2,"windSpeed":10},{"time":"2026-04-27T20:00","temperature":50.6,"precipitationProbability":8,"weatherCode":0,"windSpeed":8.2},{"time":"2026-04-27T21:00","temperature":49.5,"precipitationProbability":6,"weatherCode":0,"windSpeed":7.6},{"time":"2026-04-27T22:00","temperature":48.8,"precipitationProbability":6,"weatherCode":0,"windSpeed":6.9},{"time":"2026-04-27T23:00","temperature":48.2,"precipitationProbability":6,"weatherCode":0,"windSpeed":5.7},{"time":"2026-04-28T00:00","temperature":48.4,"precipitationProbability":6,"weatherCode":0,"windSpeed":8.1},{"time":"2026-04-28T01:00","temperature":47.9,"precipitationProbability":6,"weatherCode":0,"windSpeed":10.1},{"time":"2026-04-28T02:00","temperature":47.2,"precipitationProbability":6,"weatherCode":0,"windSpeed":8.6},{"time":"2026-04-28T03:00","temperature":46.3,"precipitationProbability":6,"weatherCode":0,"windSpeed":6.7},{"time":"2026-04-28T04:00","temperature":45.2,"precipitationProbability":6,"weatherCode":0,"windSpeed":6.4},{"time":"2026-04-28T05:00","temperature":44.3,"precipitationProbability":6,"weatherCode":0,"windSpeed":4.5},{"time":"2026-04-28T06:00","temperature":43.2,"precipitationProbability":6,"weatherCode":0,"windSpeed":6.8},{"time":"2026-04-28T07:00","temperature":43.6,"precipitationProbability":6,"weatherCode":0,"windSpeed":7},{"time":"2026-04-28T08:00","temperature":45.9,"precipitationProbability":6,"weatherCode":0,"windSpeed":8.5},{"time":"2026-04-28T09:00","temperature":49.9,"precipitationProbability":5,"weatherCode":0,"windSpeed":8.2},{"time":"2026-04-28T10:00","temperature":54.4,"precipitationProbability":5,"weatherCode":0,"windSpeed":7},{"time":"2026-04-28T11:00","temperature":57.8,"precipitationProbability":5,"weatherCode":0,"windSpeed":11.4},{"time":"2026-04-28T12:00","temperature":58.9,"precipitationProbability":5,"weatherCode":0,"windSpeed":13},{"time":"2026-04-28T13:00","temperature":60.1,"precipitationProbability":5,"weatherCode":3,"windSpeed":12.3},{"time":"2026-04-28T14:00","temperature":61.7,"precipitationProbability":5,"weatherCode":3,"windSpeed":10.7},{"time":"2026-04-28T15:00","temperature":62.6,"precipitationProbability":12,"weatherCode":3,"windSpeed":14.3},{"time":"2026-04-28T16:00","temperature":63,"precipitationProbability":12,"weatherCode":0,"windSpeed":11.7},{"time":"2026-04-28T17:00","temperature":63.2,"precipitationProbability":12,"weatherCode":3,"windSpeed":10.9},{"time":"2026-04-28T18:00","temperature":61.7,"precipitationProbability":12,"weatherCode":3,"windSpeed":11.2},{"time":"2026-04-28T19:00","temperature":59.6,"precipitationProbability":12,"weatherCode":3,"windSpeed":10.9},{"time":"2026-04-28T20:00","temperature":57.6,"precipitationProbability":12,"weatherCode":3,"windSpeed":8.4},{"time":"2026-04-28T21:00","temperature":56.7,"precipitationProbability":20,"weatherCode":3,"windSpeed":7.5},{"time":"2026-04-28T22:00","temperature":55.8,"precipitationProbability":20,"weatherCode":3,"windSpeed":9},{"time":"2026-04-28T23:00","temperature":54.7,"precipitationProbability":20,"weatherCode":3,"windSpeed":7.7},{"time":"2026-04-29T00:00","temperature":54.2,"precipitationProbability":20,"weatherCode":3,"windSpeed":6.5},{"time":"2026-04-29T01:00","temperature":54.2,"precipitationProbability":20,"weatherCode":3,"windSpeed":6.9},{"time":"2026-04-29T02:00","temperature":53.8,"precipitationProbability":20,"weatherCode":3,"windSpeed":7.8},{"time":"2026-04-29T03:00","temperature":53.1,"precipitationProbability":30,"weatherCode":3,"windSpeed":7.2},{"time":"2026-04-29T04:00","temperature":52,"precipitationProbability":30,"weatherCode":3,"windSpeed":9.2},{"time":"2026-04-29T05:00","temperature":50.9,"precipitationProbability":30,"weatherCode":3,"windSpeed":9},{"time":"2026-04-29T06:00","temperature":51.1,"precipitationProbability":30,"weatherCode":3,"windSpeed":8},{"time":"2026-04-29T07:00","temperature":50.8,"precipitationProbability":30,"weatherCode":3,"windSpeed":7.8},{"time":"2026-04-29T08:00","temperature":50.9,"precipitationProbability":30,"weatherCode":3,"windSpeed":6.1},{"time":"2026-04-29T09:00","temperature":51.7,"precipitationProbability":24,"weatherCode":3,"windSpeed":6.2},{"time":"2026-04-29T10:00","temperature":52.6,"precipitationProbability":24,"weatherCode":3,"windSpeed":6.6},{"time":"2026-04-29T11:00","temperature":53.6,"precipitationProbability":24,"weatherCode":3,"windSpeed":7},{"time":"2026-04-29T12:00","temperature":54.4,"precipitationProbability":24,"weatherCode":3,"windSpeed":7},{"time":"2026-04-29T13:00","temperature":55.1,"precipitationProbability":24,"weatherCode":3,"windSpeed":6.7},{"time":"2026-04-29T14:00","temperature":55.6,"precipitationProbability":24,"weatherCode":3,"windSpeed":6.5},{"time":"2026-04-29T15:00","temperature":56.1,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.5},{"time":"2026-04-29T16:00","temperature":56.3,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.7},{"time":"2026-04-29T17:00","temperature":56.5,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.9},{"time":"2026-04-29T18:00","temperature":56.6,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.7},{"time":"2026-04-29T19:00","temperature":56.5,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.5},{"time":"2026-04-29T20:00","temperature":56.3,"precipitationProbability":33,"weatherCode":3,"windSpeed":6.7},{"time":"2026-04-29T21:00","temperature":55.9,"precipitationProbability":38,"weatherCode":3,"windSpeed":7.4},{"time":"2026-04-29T22:00","temperature":55.3,"precipitationProbability":38,"weatherCode":3,"windSpeed":8.5},{"time":"2026-04-29T23:00","temperature":54.7,"precipitationProbability":38,"weatherCode":3,"windSpeed":9.4},{"time":"2026-04-30T00:00","temperature":53.9,"precipitationProbability":38,"weatherCode":3,"windSpeed":9.6},{"time":"2026-04-30T01:00","temperature":53.1,"precipitationProbability":38,"weatherCode":3,"windSpeed":9.6},{"time":"2026-04-30T02:00","temperature":52.4,"precipitationProbability":38,"weatherCode":3,"windSpeed":9.6},{"time":"2026-04-30T03:00","temperature":51.9,"precipitationProbability":34,"weatherCode":3,"windSpeed":9.6},{"time":"2026-04-30T04:00","temperature":51.7,"precipitationProbability":34,"weatherCode":3,"windSpeed":9.9},{"time":"2026-04-30T05:00","temperature":51.5,"precipitationProbability":34,"weatherCode":3,"windSpeed":9.9},{"time":"2026-04-30T06:00","temperature":51.5,"precipitationProbability":34,"weatherCode":51,"windSpeed":10.1},{"time":"2026-04-30T07:00","temperature":51.7,"precipitationProbability":34,"weatherCode":51,"windSpeed":10.5},{"time":"2026-04-30T08:00","temperature":51.8,"precipitationProbability":34,"weatherCode":51,"windSpeed":10.3},{"time":"2026-04-30T09:00","temperature":51.8,"precipitationProbability":26,"weatherCode":55,"windSpeed":9.2},{"time":"2026-04-30T10:00","temperature":51.8,"precipitationProbability":26,"weatherCode":55,"windSpeed":7.5},{"time":"2026-04-30T11:00","temperature":51.8,"precipitationProbability":26,"weatherCode":55,"windSpeed":6.5},{"time":"2026-04-30T12:00","temperature":51.9,"precipitationProbability":26,"weatherCode":51,"windSpeed":6.2},{"time":"2026-04-30T13:00","temperature":52,"precipitationProbability":26,"weatherCode":51,"windSpeed":6.2},{"time":"2026-04-30T14:00","temperature":52,"precipitationProbability":26,"weatherCode":51,"windSpeed":6.1},{"time":"2026-04-30T15:00","temperature":52,"precipitationProbability":26,"weatherCode":53,"windSpeed":5.8},{"time":"2026-04-30T16:00","temperature":51.9,"precipitationProbability":26,"weatherCode":53,"windSpeed":5.4},{"time":"2026-04-30T17:00","temperature":51.8,"precipitationProbability":26,"weatherCode":53,"windSpeed":5.2},{"time":"2026-04-30T18:00","temperature":51.7,"precipitationProbability":26,"weatherCode":51,"windSpeed":5.4},{"time":"2026-04-30T19:00","temperature":51.3,"precipitationProbability":26,"weatherCode":51,"windSpeed":5.6},{"time":"2026-04-30T20:00","temperature":51.1,"precipitationProbability":26,"weatherCode":51,"windSpeed":5.5},{"time":"2026-04-30T21:00","temperature":51,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.2},{"time":"2026-04-30T22:00","temperature":51,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.2},{"time":"2026-04-30T23:00","temperature":50.9,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.6},{"time":"2026-05-01T00:00","temperature":50.7,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.8},{"time":"2026-05-01T01:00","temperature":50.2,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.6},{"time":"2026-05-01T02:00","temperature":49.9,"precipitationProbability":22,"weatherCode":51,"windSpeed":5.4},{"time":"2026-05-01T03:00","temperature":49.6,"precipitationProbability":21,"weatherCode":51,"windSpeed":5.6},{"time":"2026-05-01T04:00","temperature":49.4,"precipitationProbability":21,"weatherCode":51,"windSpeed":6.3},{"time":"2026-05-01T05:00","temperature":49,"precipitationProbability":21,"weatherCode":51,"windSpeed":7.3},{"time":"2026-05-01T06:00","temperature":48.1,"precipitationProbability":21,"weatherCode":3,"windSpeed":8.1},{"time":"2026-05-01T07:00","temperature":47.1,"precipitationProbability":21,"weatherCode":3,"windSpeed":9},{"time":"2026-05-01T08:00","temperature":46.3,"precipitationProbability":21,"weatherCode":3,"windSpeed":9.8},{"time":"2026-05-01T09:00","temperature":45.9,"precipitationProbability":22,"weatherCode":3,"windSpeed":10.3},{"time":"2026-05-01T10:00","temperature":45.9,"precipitationProbability":22,"weatherCode":3,"windSpeed":10.8},{"time":"2026-05-01T11:00","temperature":46.3,"precipitationProbability":22,"weatherCode":3,"windSpeed":11.6},{"time":"2026-05-01T12:00","temperature":47.4,"precipitationProbability":22,"weatherCode":3,"windSpeed":13},{"time":"2026-05-01T13:00","temperature":49,"precipitationProbability":22,"weatherCode":3,"windSpeed":14.6},{"time":"2026-05-01T14:00","temperature":50.2,"precipitationProbability":22,"weatherCode":3,"windSpeed":15.7}],"days":[{"date":"2026-04-24","tempMax":65.6,"tempMin":48.5,"weatherCode":3,"precipitationProbabilityMax":3},{"date":"2026-04-25","tempMax":48,"tempMin":40.8,"weatherCode":73,"precipitationProbabilityMax":87},{"date":"2026-04-26","tempMax":45,"tempMin":38,"weatherCode":73,"precipitationProbabilityMax":81},{"date":"2026-04-27","tempMax":58.1,"tempMin":41.2,"weatherCode":3,"precipitationProbabilityMax":18},{"date":"2026-04-28","tempMax":63.2,"tempMin":43.2,"weatherCode":3,"precipitationProbabilityMax":20},{"date":"2026-04-29","tempMax":56.6,"tempMin":50.8,"weatherCode":3,"precipitationProbabilityMax":38},{"date":"2026-04-30","tempMax":53.9,"tempMin":50.9,"weatherCode":55,"precipitationProbabilityMax":38}]},"forecastError":null,"version":"2.6.1"}