ich habe wieder einmal ein Problem beim Erstellen einer Rule.
Mir ist es gelungen, eine funktionierende Rule mittels Blockly zu erstellen, ich erhalte aber nicht alle gewünschten Informationen als Benachrichtigung.
Folgendes Szenario:
Ich habe mehrere Funk Sensoren, welche mir den Status der Batterie als Number:ElectricPotential liefern.
Diese Sensoren habe ich in eine Gruppe zusammengefasst, und eine Übersichtseite die mir die Spannungswerte aller Batterien anzeigt habe ich ebenfalls erstellt.
Fällt jetzt die Batteriespannung bei einem der Sensoren aus dieser Gruppe unter 2.6 Volt, erhalte ich per Telegram eine Benachrichtigung. Zusätzlich wird noch ein item (switch) geschalten, welches mir die Farbe der Label Card des betroffenen Sensors von grün auf rot ändert.
Die Telegram Meldung ist aber nur eine „Sammelmeldung“, ich weiß jetzt noch nicht, um welchen Sensor es sich handelt.
Das i-Tüpfelchen wäre es in der Nachricht zu sehen, um welchen Sensor es sich handelt.
Zurzeit sieht der Blockly Teil meiner Regel so aus:
Code: Alles auswählen
var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
var things = Java.type('org.openhab.core.model.script.actions.Things');
if (itemRegistry.getItem('Homematic_Temeratursensor_01_Operating_Voltage').getState() < '2.6' || itemRegistry.getItem('Zigbee_Sensor_01_Batterie').getState() < '2.6' || itemRegistry.getItem('Zigbee_Sensor_02_Batterie').getState() < '2.6') {
if (itemRegistry.getItem('Batteriewarnung_Allgemein').getState() == 'OFF') {
logger.warn('Die Spannung einer Batterie ist unter 2.6 Volt gefallen!');
events.sendCommand('Batteriewarnung_Allgemein', 'ON');
things.getActions('telegram', 'telegram:telegramBot:XXXXXXXXXX').sendTelegram('Die Spannung einer Batterie ist unter 2.6 Volt gefallen!');
}
} else {
if (itemRegistry.getItem('Batteriewarnung_Allgemein').getState() == 'ON') {
logger.info('Die Batteriespannung ist wieder normal.');
events.sendCommand('Batteriewarnung_Allgemein', 'OFF');
things.getActions('telegram', 'telegram:telegramBot:XXXXXXXXXX').sendTelegram('Die Batteriespannung ist wieder normal.');
}
}
Vielleicht hat jemand schon etwas ähnliches zusammengestellt und kann mir auf die Sprünge helfen, vielleicht ist das ja auch gar nicht umsetzbar.
Grüße
Manfred