2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.weathercompany.internal.model;
16 * The {@link ForecastDTO} is the JSON object that contains the n-day forecast.
18 * The daypart object as well as the temperatureMax field OUTSIDE of the daypart object will
19 * appear as null in the API after 3:00pm Local Apparent Time.
21 * Standard HTTP Cache-Control headers are used to define caching length. The TTL value is
22 * provided in the HTTP Header as an absolute time value using the “Expires” parameter.
23 * Example: “Expires: Fri, 12 Jul 2013 12:00:00 GMT”. The response provides a data element
24 * expirationTimeUtc, this should be used to expire and remove a record from your system
33 * - windDirectionCardinal
37 * @author Mark Hilbush - Initial contribution
39 public class ForecastDTO {
43 public String[] dayOfWeek;
46 * For the purposes of this product day(D) = 7am to 7pm and night(N) = 7pm to 7am
48 public Object daypart;
51 * The narrative forecast for the 24-hour period.
53 public String[] narrative;
56 * Daily maximum temperature
58 public Double[] temperatureMax;
61 * Daily minimum temperature
63 public Double[] temperatureMin;
66 * The forecasted measurable precipitation (liquid or liquid equivalent) during 12 or 24 hour period.
71 * The forecasted measurable precipitation as snow during the 12 or 24 hour forecast period.
73 public Double[] qpfSnow;
76 * Time forecast is valid in local apparent time.
77 * ISO 8601 - YYYY-MM-DDTHH:MM:SS-NNNN; NNNN=GMT offset
79 public String[] validTimeLocal;
82 * Time forecast is valid in UNIX seconds
84 public Integer[] validTimeUtc;
87 * Expiration time in UNIX seconds
89 public Integer[] expirationTimeUtc;
92 * The local time of the sunrise. It reflects any local daylight savings conventions.
93 * For a few Arctic and Antarctic regions, the Sunrise and Sunset data values may be the
94 * same (each with a value of 12:01am) to reflect conditions where a sunrise or sunset does not occur.
95 * ISO 8601 - YYYY-MM-DDTHH:MM:SS-NNNN; NNNN=GMT offset
97 public String[] sunriseTimeLocal;
100 * Sunrise time in UNIX epoch value
102 public Integer[] sunriseTimeUtc;
105 * The local time of the sunset. It reflects any local daylight savings conventions.
106 * For a few Arctic and Antarctic regions, the Sunrise and Sunset data values may be the
107 * same (each with a value of 12:01am) to reflect conditions where a sunrise or sunset does not occur.
108 * ISO 8601 - YYYY-MM-DDTHH:MM:SS-NNNN; NNNN=GMT offset
110 public String[] sunsetTimeLocal;
113 * Sunset time in UNIX epoch value
115 public Integer[] sunsetTimeUtc;
118 * Description phrase for the current lunar phase
120 public String[] moonPhase;
123 * 3 character short code for lunar phases WNG, WXC, FQ, WNC, LQ, F, WXG, N()
125 public String[] moonPhaseCode;
128 * Day number within monthly lunar cycle
130 public Integer[] moonPhaseDay;
133 * First moonrise in local time. It reflects daylight savings time conventions
134 * ISO 8601 - YYYY-MM-DDTHH:MM:SS-NNNN; NNNN=GMT offset
136 public String[] moonriseTimeLocal;
139 * Moonrise time in UNIX epoch value
141 public Integer[] moonriseTimeUtc;
144 * First Moonset in local time. It reflects daylight savings time conventions
145 * ISO 8601 - YYYY-MM-DDTHH:MM:SS-NNNN; NNNN=GMT offset
147 public String[] moonSetTimeLocal;
150 * Moonset time in UNIX epoch value
152 public Integer[] moonsetTimeUtc;