2 * Copyright (c) 2010-2022 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.bondhome.internal.api;
15 import static org.openhab.binding.bondhome.internal.BondHomeBindingConstants.*;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
20 import com.google.gson.annotations.Expose;
21 import com.google.gson.annotations.SerializedName;
24 * This POJO represents the version information of the bond bridge
26 * The incoming JSON looks like this:
28 * {"target": "snowbird", "fw_ver": "v2.5.2", "fw_date": "Fri Feb 22 14:13:25
29 * -03 2019", "make": "Olibra LLC", "model": "model", "branding_profile":
30 * "O_SNOWBIRD", "uptime_s": 380, "_": "c342ae74"}
32 * @author Sara Geleskie Damiano - Initial contribution
35 public class BondSysVersion {
36 // The current state hash
38 @Expose(serialize = false, deserialize = true)
39 public @Nullable String hash;
41 @Expose(serialize = true, deserialize = true)
42 public @Nullable String target;
44 @SerializedName("fw_ver")
45 @Expose(serialize = true, deserialize = true)
46 public @Nullable String firmwareVersion;
48 @SerializedName("fw_date")
49 @Expose(serialize = true, deserialize = true)
50 public @Nullable String firmwareDate;
52 @Expose(serialize = true, deserialize = true)
53 public @Nullable String make;
55 @Expose(serialize = true, deserialize = true)
56 public @Nullable String model;
58 @SerializedName("branding_profile")
59 @Expose(serialize = true, deserialize = true)
60 public @Nullable String brandingProfile;
62 @Expose(serialize = true, deserialize = true)
63 public @Nullable String bondid;
65 @SerializedName("upgrade_http")
66 @Expose(serialize = true, deserialize = true)
67 public @Nullable Boolean upgradeHttp;
69 @Expose(serialize = true, deserialize = true)
72 @SerializedName("uptime_s")
73 @Expose(serialize = true, deserialize = true)
74 public int uptimeSeconds;