[SOLVED] NEST always Celsius?

Hi,

I just upgraded to OH 2.4, and using the NEST API 2.4.0 (firmware 5.9.3-6). I have a simple site map configured to see and set the temperature of a thermostat.

 Text item=HallwayThermostat_Temperature label="Current Temperature [%.0f °F]" icon="temperature"
 Setpoint item=HallwayThermostat_SetPoint label="Set Temperature [%.0f °F]" icon="temperature" minValue=65 maxValue=80 step=1

The thermostat is set to Fahrenheit, and when changing the temperature at the NEST unit, OpenHAB is updated correctly.

2018-12-28 10:01:41.146 [vent.ItemStateChangedEvent] - HallwayThermostat_Temperature changed from 74.0 to 75.0
2018-12-28 10:27:17.156 [vent.ItemStateChangedEvent] - HallwayThermostat_Temperature changed from 75.0 to 74.0

However, when I try to set the temperature from OpenHAB, I see the below messages in openhap.log.`

2018-12-28 09:58:47.399 [WARN ] [t.internal.handler.NestBridgeHandler] - Nest API error: Temperature F value is too high: 166.0
2018-12-28 09:58:50.080 [WARN ] [t.internal.handler.NestBridgeHandler] - Nest API error: Temperature F value is too high: 165.0
2018-12-28 09:59:10.337 [WARN ] [t.internal.handler.NestBridgeHandler] - Nest API error: Temperature F value is too high: 164.0
2018-12-28 09:59:13.057 [WARN ] [t.internal.handler.NestBridgeHandler] - Nest API error: Temperature F value is too high: 163.0

Apparently, the number is “converted”, as if I was trying to set the temperature in Celsius, and a value in Fahrenheit is sent. For instance, trying to set 74F, I see “value too high 165” in the log, as if I was trying to set 74C, which is 165.2F.

Or is it just something I configured incorrectly?

If I change everything to Celsius (thermostat, as well as OpenHAB configuration), it works perfectly.

Thank you in advance,
Miki.

Can you post your items, please?

Thank you so much for the quick response! :slight_smile:

I created my Nest items with the PaperUI, so I hope it’s OK if I post the corresponding lines from /var/lib/openhab2/jsondb/org.eclipse.smarthome.core.items.Item.json.

  "HallwayThermostat_Mode": {
    "class": "org.eclipse.smarthome.core.items.ManagedItemProvider$PersistedItem",
    "value": {
      "groupNames": [],
      "itemType": "String",
      "tags": [],
      "label": "Mode"
    }
  },
  "HallwayThermostat_Temperature": {
    "class": "org.eclipse.smarthome.core.items.ManagedItemProvider$PersistedItem",
    "value": {
      "groupNames": [],
      "itemType": "Number",
      "tags": [],
      "label": "Temperature",
      "category": "Temperature"
    }
  },
  "HallwayThermostat_SetPoint": {
    "class": "org.eclipse.smarthome.core.items.ManagedItemProvider$PersistedItem",
    "value": {
      "groupNames": [],
      "itemType": "Number",
      "tags": [],
      "label": "Set Point",
      "category": "Temperature"
    }
  },

Let me know if this is not what you wanted, or if you need something else.

Thanks again,
Miki.

Go to PaperUI -> Configuration -> System -> Regional Settings -> Show more -> Measurement System
And select Imperial (US)

2 Likes

Gaah! That easy! :slight_smile: Thanks a bunch!

Please tick the solution mark under the post that gave you the solution. Thanks
And add a like!! Thanks