Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.
Moderatoren: seppy , udo1toni
rcaspar
Beiträge: 4 Registriert: 18. Apr 2025 22:15
Answers: 0
Beitrag
von rcaspar » 18. Apr 2025 22:46
Hi all
Bin am verzweifeln ...
Ich habe einen Sonoff Temperatursensor (Zigbee) welcher einwandfrei funktioniert und Temperaturwerte sendet.
Nun möchte ich eine Aktion auslösen (Notifikation mit Telegram senden - der Teil funktioniert) sobald die Temperatur einen Wert überschreitet und umgekehrt.
Da liegt mein Problem - Der ausgegebene Wert ist immer höher als 10, auch wenn der Sensor 6.4 ausgibt. Wahrscheinlich liegt es daran, dass der ausgegebene Wert kein effektiver Wert ist, sondern als Text erkannt wird. DIes zu konvertieren habe ich aber nicht gescgafft.
Kann mir da jemand unter die Arme greifen?
Danke schon mal
R
udo1toni
Beiträge: 15240 Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt
Beitrag
von udo1toni » 19. Apr 2025 01:42
Herzlich willkommen im openHAB Forum!
Zeig doch mal Deine Konfiguration des Things (Code als Text kopieren und hier im Forum - als Code markiert - einfügen)
Grundsätzlich müssen Werte immer im korrekten Format in openHAB landen, aber gerade mit Zigbee sollte das überhaupt kein Problem sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
rcaspar
Beiträge: 4 Registriert: 18. Apr 2025 22:15
Answers: 0
Beitrag
von rcaspar » 19. Apr 2025 10:32
Sebstversändlich mach ich doch gerne
Hier der Sensor:
------
Code: Alles auswählen
UID: zigbee:device:0d78cff157:0ceff6fffe3f850a
label: Sensor 003
thingTypeUID: zigbee:device
configuration:
zigbee_macaddress: 0CEFF6FFFE3F850A
bridgeUID: zigbee:coordinator_ember:0d78cff157
channels:
- id: 0CEFF6FFFE3F850A_1_batterylevel
channelTypeUID: system:battery-level
label: Battery Level
configuration:
zigbee_reporting_polling: 7200
- id: 0CEFF6FFFE3F850A_1_temperature
channelTypeUID: zigbee:measurement_temperature
label: Temperature
configuration:
zigbee_reporting_polling: 7200
- id: 0CEFF6FFFE3F850A_1_batteryalarm
channelTypeUID: zigbee:battery_alarm
label: Battery Alarm
configuration:
zigbee_reporting_polling: 7200
- id: 0CEFF6FFFE3F850A_1_humidity
channelTypeUID: zigbee:measurement_relativehumidity
label: Humidity
configuration:
zigbee_reporting_polling: 7200
------
und hier meine Rule
------
Code: Alles auswählen
var State_Fridge;
var things = Java.type('org.openhab.core.model.script.actions.Things');
if (State_Fridge == null) {
State_Fridge = 'Kühlschrank OK';
} else if (items.getItem('Sensor_003_Temperature').state < Quantity('10 °C') && State_Fridge == 'Kühlschrank OK') {
State_Fridge = 'Kühlschrank OK';
} else if (items.getItem('Sensor_003_Temperature').state >= Quantity('10 °C') && State_Fridge == 'Kühlschrank OK') {
things.getActions('telegram', 'telegram:telegramBot:TelegramBot').sendTelegram('Kühlschrank zu warm');
} else if (items.getItem('Sensor_003_Temperature').state >= Quantity('10 °C') && State_Fridge == 'Kühlschrank zu warm') {
State_Fridge = 'Kühlschrank zu warm';
} else if (items.getItem('Sensor_003_Temperature').state < Quantity('10 °C') && State_Fridge == 'Kühlschrank zu warm') {
things.getActions('telegram', 'telegram:telegramBot:TelegramBot').sendTelegram('Kühlschrank wieder OK');
State_Fridge = 'Kühlschrank OK';
}
-----
Von der Rule trifft immer der folgende Teil zu:
Code: Alles auswählen
} else if (items.getItem('Sensor_003_Temperature').state >= Quantity('10 °C') && State_Fridge == 'Kühlschrank OK') {
things.getActions('telegram', 'telegram:telegramBot:TelegramBot').sendTelegram('Kühlschrank zu warm');
AKtuell misst der Sensor 8.2 °C
R
Zuletzt geändert von
rcaspar am 19. Apr 2025 11:16, insgesamt 1-mal geändert.
rcaspar
Beiträge: 4 Registriert: 18. Apr 2025 22:15
Answers: 0
Beitrag
von rcaspar » 19. Apr 2025 10:42
... habe noch vergessen....
auch folgenden Vergleich habe ich schon versucht:
...(items.getItem('Sensor_003_Temperature').state >= '10' && S...
identisch
rcaspar
Beiträge: 4 Registriert: 18. Apr 2025 22:15
Answers: 0
Beitrag
von rcaspar » 20. Apr 2025 13:45
Hey Harka
Danke für den Tipp, hat mich "auf den richtigen Weg" gebracht und nun funktioniert es.
Frohe Ostern
R