[SOLVED]How to calculate temperature real feel (feels like, heat index)

Hi all,
Has anyone already done something like this, or has an idea how to do it…
if you read 37C and 63% humidity on your smart home sensor, this would make “feels like” 53C
according to this

is there a way to do this in openhab, anyone knows a magic formula and how to use it in a rule? :slight_smile:

One listed in your link looks promising… Give ir a try in a rule. the forum is to help you develop a solution, not provide a complete one. You need to understand your system to properly maintain it.

The formula below approximates the heat index in degrees Fahrenheit, to within ±1.3 °F (0.7 °C). It is the result of a multivariate fit (temperature equal to or greater than 80 °F (27 °C) and relative humidity equal to or greater than 40%) to a model of the human body.[[1]](https://en.wikipedia.org/wiki/Heat_index#cite_note-SteadmanI-1)[[13]](https://en.wikipedia.org/wiki/Heat_index#cite_note-13) This equation reproduces the above NOAA National Weather Service table (except the values at 90 °F (32 °C) & 45%/70% relative humidity vary unrounded by less than ±1, respectively).

Just try to search in the forum for humidex or heat index. I postst a rule some years ago.

1 Like

See my post: Apparent temperature

thanks, i managed to find it by searching forum for humidex or heat index what was suggested, not sure who’s post I found, maybe yours

this is my rule

rule "set FeelTemperature"
 Item BalconyTemperature changed or
 Item BalconyHumidity changed
    var Number Temp = BalconyTemperature.state as DecimalType
    var Number Humidity = BalconyHumidity.state as DecimalType
    var Number T = Temp * 9/5 + 32
    var Number RH = Humidity
    var Number HI = 0;

    if(T <= 40.0) {
        HI = T
    } else {
        HI = -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T*T - 0.05481717*RH*RH + 0.00122874*T*T*RH + 0.00085282*T*RH*RH - 0.00000199*T*T*RH*RH

        if (RH < 13 && T >= 80 && T <= 112) {
            var adjust = ((13-RH)/4)  * Math.sqrt(17-Math.abs(T-95)/17)
            HI -= adjust
        } else if (RH > 85 && T >= 80 && T <= 87) {
            var adjust = ((RH-85)/10) * ((87-T)/5)
            HI += adjust
        } else if (T < 80){
            HI = 0.5 * (T + 61.0 + ((T-68.0)*1.2) + (RH*0.094))
    var Number RealFeelTemp = (HI - 32) * 5/9

Great you found the post, glad it works, I initially came up with the formula.

1 Like

Does anyone have a formula that also take Wind chill in consideration