diff --git a/apps/hasensors/ChangeLog b/apps/hasensors/ChangeLog index 77e8042a5..503fe11bc 100644 --- a/apps/hasensors/ChangeLog +++ b/apps/hasensors/ChangeLog @@ -3,3 +3,4 @@ Customize code directly, remove config file 0.03: Add HRM sensor Add step count sensor + Add pressure and temperature sensors diff --git a/apps/hasensors/README.md b/apps/hasensors/README.md index 011f70844..7988c0d2c 100644 --- a/apps/hasensors/README.md +++ b/apps/hasensors/README.md @@ -24,3 +24,5 @@ Currently creates these sensors: * `_battery_state`: `charging` or `discharging` * `_hrm`: Heart rate (only if measured: this app doesn't enable/disable the sensor) * `_steps`: Step Count +* `_pressure`: Pressure +* `_temperature`: Temperature diff --git a/apps/hasensors/lib.js b/apps/hasensors/lib.js index 624bc2dc6..5a0cf0cab 100644 --- a/apps/hasensors/lib.js +++ b/apps/hasensors/lib.js @@ -53,10 +53,42 @@ function sendSteps() { }); } +/** + * Sends pressure *and temperature* + */ +function sendPressure() { + if (!Bangle.getPressure) return; // not a Bangle 2 + const promise = Bangle.getPressure(); + if (!promise) return; // emulator? + promise.then(values=>{ + post("pressure", { + state: Math.round(values.pressure*10)/10, + attributes: { + friendly_name: "{name} Pressure", + unit_of_measurement: "hPa", + device_class: "atmospheric pressure", + state_class: "measurement", + icon: "mdi:gauge", + } + }); + post("temperature", { + state: Math.round(values.temperature*10)/10, + attributes: { + friendly_name: "{name} Temperature", + unit_of_measurement: "°C", + device_class: "temperature", + state_class: "measurement", + icon: "mdi:thermometer", + } + }); + }); +} + exports.sendUpdate = function() { if (!NRF.getSecurityStatus().connected) return; sendBattery(); sendSteps(); + sendPressure(); }