Thanks. I posted it on github.
I tried to solve this with this script:
// Script: Controleer accuniveaus van apparaten
const threshold = 20; // Drempelwaarde voor de batterij (in %)
let lowBatteryDevices = []; // Lijst om apparaten met lage batterij op te slaan
// Haal alle apparaten op
const devices = await Homey.devices.getDevices();
// Loop door alle apparaten
for (let deviceId in devices) {
const device = devices[deviceId];
// Controleer of het apparaat een batterij heeft
if (device.capabilities.includes('measure_battery')) {
const batteryLevel = device.capabilitiesObj.measure_battery.value;
// Controleer of de batterij onder de drempel zit
if (batteryLevel !== null && batteryLevel <= threshold) {
lowBatteryDevices.push({
name: device.name,
battery: batteryLevel
});
}
}
}
// Controleer of er apparaten met een lage batterij zijn
if (lowBatteryDevices.length > 0) {
// Maak een melding
let message = 'Apparaten met lage batterij:\n';
lowBatteryDevices.forEach(device => {
message += `- ${device.name}: ${device.battery}%\n`;
});
// Start de Flow om de pushmelding te verzenden
await Homey.flow.triggerFlow({
id: '3bc6999b-6f1b-450c-a31a-b5e77cc3c24b', // Gebruik hier de ID van je Flow
tokens: { message } // Geef de melding door aan de Flow
});
// Log het resultaat
console.log(message);
} else {
console.log('Alle batterijen zijn OK!');
}
The script works fine and when testing, it exactly shows the right devices. The flow that actually sends the push message, looks like this:
For screenshot purposes I left out the user. De message information generated by the script does not show in de actual push notification (it just shows this):
How do I solve this?

