Skip to content

Commit c0dbcfe

Browse files
authored
Merge pull request #243 from carlos-sarmiento/patch-1
Add Fahrenheit to Celsius and Celsius to Fahrenheit formatter
2 parents 996354c + 6a787a1 commit c0dbcfe

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

README.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -133,20 +133,22 @@ for more detailed descriptions and examples.
133133

134134
The `format` option supports the following values:
135135

136-
| Value | Type | Description |
137-
| -------------- | ----------- | ---------------------------------------------------------------- |
138-
| relative | `timestamp` | Convert value to relative time (`5 minutes ago`) |
139-
| total | `timestamp` | Convert value to relative time (`5 minutes`) |
140-
| date | `timestamp` | Convert timestamp value to date |
141-
| time | `timestamp` | Convert timestamp value to time |
142-
| datetime | `timestamp` | Convert timestamp value to date and time |
143-
| brightness | `number` | Convert brightness value to percentage |
144-
| duration | `number` | Convert number of seconds to duration (`5:38:50`) |
145-
| duration-m | `number` | Convert number of milliseconds to duration (`5:38:50`) |
146-
| invert | `number` | Convert number from positive to negative or vice versa |
147-
| kilo | `number` | Divide number value by 1000 (ex. `1500 W` -> `1.5 kW`) |
148-
| position | `number` | Reverses a position percentage (ex. `70%` open -> `30%` closed) |
149-
| precision<0-9> | `number` | Set decimal precision of number value (`precision3` -> `18.123`) |
136+
| Value | Type | Description |
137+
| --------------------- | ----------- | ---------------------------------------------------------------- |
138+
| relative | `timestamp` | Convert value to relative time (`5 minutes ago`) |
139+
| total | `timestamp` | Convert value to relative time (`5 minutes`) |
140+
| date | `timestamp` | Convert timestamp value to date |
141+
| time | `timestamp` | Convert timestamp value to time |
142+
| datetime | `timestamp` | Convert timestamp value to date and time |
143+
| brightness | `number` | Convert brightness value to percentage |
144+
| duration | `number` | Convert number of seconds to duration (`5:38:50`) |
145+
| duration-m | `number` | Convert number of milliseconds to duration (`5:38:50`) |
146+
| invert | `number` | Convert number from positive to negative or vice versa |
147+
| kilo | `number` | Divide number value by 1000 (ex. `1500 W` -> `1.5 kW`) |
148+
| position | `number` | Reverses a position percentage (ex. `70%` open -> `30%` closed) |
149+
| precision<0-9> | `number` | Set decimal precision of number value (`precision3` -> `18.123`) |
150+
| celsius_to_fahrenheit | `number` | Converts a Celsius temperature to its Fahrenheit equivalent |
151+
| fahrenheit_to_celsius | `number` | Converts a Fahrenheit temperature to its Celsius equivalent |
150152

151153
### Hiding
152154

src/entity.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ export const entityStateDisplay = (hass, stateObj, config) => {
5858
value = formatNumber(value - value * 2, hass.locale);
5959
} else if (config.format === 'position') {
6060
value = formatNumber(100 - value, hass.locale);
61+
} else if (config.format === 'celsius_to_fahrenheit') {
62+
value = formatNumber(value * 1.8 + 32, hass.locale, { maximumFractionDigits: 0 });
63+
} else if (config.format === 'fahrenheit_to_celsius') {
64+
value = formatNumber((value - 32) * 5 / 9, hass.locale, { maximumFractionDigits: 1 });
6165
}
6266
return `${value}${unit ? ` ${unit}` : ''}`;
6367
}

0 commit comments

Comments
 (0)