Rule Machine support for temperature units?

So... Rule Machine (and other apps) don't know about units for temperatures. That's all well and good, no problem -- until you decide your New Year resolution is to join the rest of the world and make the move from F to C.


I had to go through every rule that has any temperature reference and manually convert from F to C. It sure would be handy to have Rule Machine (and other apps) specify a unit whenever temperatures are specified.

In general the temperature returned should be based on the temperatureScale specified when the hub is setup. Doesn’t always hold, but most drivers should adhere to this convention.


I’ll second what @thebearmay says. My hub is setup to show temperature in Celsius and everything reports in that unit of measure.

This can be changed under Settings -> Localizations (Part of “Hub Global Values” within Settings):


Yeah, I know that it supports C and F.

The problem I stated is that once I set up my hub in F (and write my rules with F temperatures) it's not easy to change the hub to C. Since temperatures in rules don't have a unit (F or C) associated with them. When you write your rule with 68º (for F) and then change the hub unit to C, the 68º is not converted to 20º. Instead your rule now is based on 68º C.

That can be bad.

So... I had to go manually adjust all of the references to temperatures in all my rules (and other apps.)

1 Like

Not so much an answer to your issue right now, but if you are using similar values in multuple rules, you could at least set them up using one of the variable options, that way you will at least have a smaller list of changes to make.

That said, I agree it would be nice to be able to include the scale with a fixed value, allowing you to point to the hub scale so that if it changes so does the value used.

1 Like

Agreed. Using variables instead of constants in rules and other apps seems like a good idea - 2022 hindsight. :wink:

But, yeah, your comment about including the unit scale would be a really nice feature. It would also allow entering temps in either F or C in a rule - regardless of your global hub setting.


Now that I think about it some more, it would be nice for it to be built in to variables first, then RM honour that. So a variable with a type of temperature, including a setting for scale, where you you can point to the hub setting, or override this and set it manually, like you mentioned.

The reason variables seems like the most likely spot to do this is they are intended to be a conduit between apps, so it would be a good point to implement the change (IMHO)

1 Like

This is probably not a common occurrence though.

I wish the US had adopted the metric system a long time ago. Our units of measure make no sense, and I use metric units regularly at work. But changing my home to metric units while the rest of the country continues with Imperial wouldn’t make much sense to me either.

1 Like

That's it! That's a very elegant solution.

Agreed, but temperature is the only case this occurs, and having a temperature type variable would certainly make it more flexible (and global).

I can go back and forth between metric and English measurement fairly easily, with the exception of some lesser used units.

Many of the English units do have a basis in reality. For example, my foot is approximately 12" in length. One of the older measurements is the mile. It dates back to the days when Romans built roads throughout the Empire. The roads had a markers placed every mile. A mile was defined as 1000 paces walked by Roman soldiers in formation.

Formerly, the kilogram was defined as the mass (not weight) of a lump of platinum-iridium alloy maintained in the International standards lab in France. The problem with doing that is that the mass of the metal lost a few micrograms of material each time it was handled. That definition has been updated so that the kilogram is now calculated from Plank's constant. While that is useful to physicists, it is incomprehensible to most humans.

Likewise, the meter (metre) was originally defined as one ten millionth of the distance from the Equator to the North Pole following a Great Circle route. This definition is understandable, Now the meter is defined as a specific number of wavelengths of Krypton-86 emissions. Once again, this is useful to physicists, but not so much to the common man.

While the metric system is based on the power of ten for most units, one remainder of ancient history is time. The second is defined as a specific number of vibrations of a Cesium atom, However, we sill use 60 second per minute and 60 minutes per hour and 24 hours per day. The use of the sexagecimal system (power of 60) dates back to the ancient Sumerians. We also use this system for the measurement of angles (360 degrees in a circle) and for measuring latitudinal and longitudinal coordinates. Thus, nothing is quite as simple as it seems.

1 Like

I find it tedious and wish it was unnecessary :confused:.

This is what I was referring to. It’s simpler for most purposes.