diff --git a/README.md b/README.md
index 3788a4d..77254c6 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ switch | Only turning on/off, energy consumption and standby mode are not suppor
automation* | Can be turned on/off.
scene* | Execution
script* | Execution
-sensor | Display values for the following sensor types: temperature, humidity, CO2, PM10, PM25 (others will be displayed but won't have a proper icon)
+sensor | Display values for the following sensor types: temperature, humidity, CO2, PM10, PM25, energy, gas and water (others will be displayed but won't have a proper icon).
\* marked are not entities in the true sense of the word, but why have two tables
diff --git a/resources/icons/energy_meter.xcf b/resources/icons/energy_meter.xcf
new file mode 100644
index 0000000..4978538
Binary files /dev/null and b/resources/icons/energy_meter.xcf differ
diff --git a/resources/icons/gas_meter.xcf b/resources/icons/gas_meter.xcf
new file mode 100644
index 0000000..cd5f857
Binary files /dev/null and b/resources/icons/gas_meter.xcf differ
diff --git a/resources/icons/water_meter.xcf b/resources/icons/water_meter.xcf
new file mode 100644
index 0000000..4de4a32
Binary files /dev/null and b/resources/icons/water_meter.xcf differ
diff --git a/widget/resources/drawables/drawables.xml b/widget/resources/drawables/drawables.xml
index 3539444..51defc2 100644
--- a/widget/resources/drawables/drawables.xml
+++ b/widget/resources/drawables/drawables.xml
@@ -31,5 +31,8 @@
+
+
+
\ No newline at end of file
diff --git a/widget/resources/drawables/energy_meter.png b/widget/resources/drawables/energy_meter.png
new file mode 100644
index 0000000..6d25fa6
Binary files /dev/null and b/widget/resources/drawables/energy_meter.png differ
diff --git a/widget/resources/drawables/gas_meter.png b/widget/resources/drawables/gas_meter.png
new file mode 100644
index 0000000..58c4028
Binary files /dev/null and b/widget/resources/drawables/gas_meter.png differ
diff --git a/widget/resources/drawables/water_meter.png b/widget/resources/drawables/water_meter.png
new file mode 100644
index 0000000..cec5c54
Binary files /dev/null and b/widget/resources/drawables/water_meter.png differ
diff --git a/widget/source/Entities/EntityListView.mc b/widget/source/Entities/EntityListView.mc
index c111158..5b905b6 100644
--- a/widget/source/Entities/EntityListView.mc
+++ b/widget/source/Entities/EntityListView.mc
@@ -308,6 +308,12 @@ class EntityListView extends Ui.View {
drawable = WatchUi.loadResource(Rez.Drawables.CO2);
} else if (sensorClass == Hass.SENSOR_PM) {
drawable = WatchUi.loadResource(Rez.Drawables.AirPM);
+ } else if (sensorClass == Hass.SENSOR_ENERGY) {
+ drawable = WatchUi.loadResource(Rez.Drawables.EnergyMeter);
+ } else if (sensorClass == Hass.SENSOR_WATER) {
+ drawable = WatchUi.loadResource(Rez.Drawables.WaterMeter);
+ } else if (sensorClass == Hass.SENSOR_GAS) {
+ drawable = WatchUi.loadResource(Rez.Drawables.GasMeter);
} else if (sensorClass == Hass.SENSOR_OTHER) {
drawable = WatchUi.loadResource(Rez.Drawables.Unknown);
}
diff --git a/widget/source/hass/Constants.mc b/widget/source/hass/Constants.mc
index 3cd5a58..f3638c0 100644
--- a/widget/source/hass/Constants.mc
+++ b/widget/source/hass/Constants.mc
@@ -59,6 +59,9 @@ module Hass {
SENSOR_HUMIDITY,
SENSOR_CO2,
SENSOR_PM,
+ SENSOR_ENERGY,
+ SENSOR_GAS,
+ SENSOR_WATER,
SENSOR_OTHER
}
}
\ No newline at end of file
diff --git a/widget/source/hass/Hass.mc b/widget/source/hass/Hass.mc
index 9303938..4b644ba 100644
--- a/widget/source/hass/Hass.mc
+++ b/widget/source/hass/Hass.mc
@@ -169,6 +169,12 @@ module Hass {
sensorClass = SENSOR_PM;
} else if (sensorClassStr.find("pm10") != null) {
sensorClass = SENSOR_PM;
+ } else if (sensorClassStr.find("energy") != null) {
+ sensorClass = SENSOR_ENERGY;
+ } else if (sensorClassStr.find("water") != null) {
+ sensorClass = SENSOR_WATER;
+ } else if (sensorClassStr.find("gas") != null) {
+ sensorClass = SENSOR_GAS;
}
} else {
sensorClass = SENSOR_OTHER;