hasensors: add pressure and temperature sensors

master
Richard de Boer 2024-12-03 21:57:54 +01:00
parent a02b5a6f56
commit 6d8b87587c
No known key found for this signature in database
3 changed files with 35 additions and 0 deletions

View File

@ -3,3 +3,4 @@
Customize code directly, remove config file Customize code directly, remove config file
0.03: Add HRM sensor 0.03: Add HRM sensor
Add step count sensor Add step count sensor
Add pressure and temperature sensors

View File

@ -24,3 +24,5 @@ Currently creates these sensors:
* `<sensor id>_battery_state`: `charging` or `discharging` * `<sensor id>_battery_state`: `charging` or `discharging`
* `<sensor id>_hrm`: Heart rate (only if measured: this app doesn't enable/disable the sensor) * `<sensor id>_hrm`: Heart rate (only if measured: this app doesn't enable/disable the sensor)
* `<sensor id>_steps`: Step Count * `<sensor id>_steps`: Step Count
* `<sensor id>_pressure`: Pressure
* `<sensor id>_temperature`: Temperature

View File

@ -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() { exports.sendUpdate = function() {
if (!NRF.getSecurityStatus().connected) return; if (!NRF.getSecurityStatus().connected) return;
sendBattery(); sendBattery();
sendSteps(); sendSteps();
sendPressure();
} }