Hallo Udo!
udo1toni hat geschrieben: ↑9. Nov 2024 01:06
Welche Version von openHAB setzt Du ein?
Ich verwende openHAB 4.3.0.M2 (ich habe damals wegen einem Z-Wave Gerät gewecheselt, aber eigentlich würde ich gerne Stable verwenden, nur warnt mich openHAB dabei vor möglichen Problemen)
udo1toni hat geschrieben: ↑9. Nov 2024 01:06
Welche Hardware (und welche Addons) setzt Du (mindestens im Zusammenhang mit dem Item) ein?
Beteiligt sind drei Z-Wave Geräte, ein Dimmer und zwei Schalter von TechniSat.
Nachdem ich den Thread gestartet habe, ist mir eingefallen, dass man Z-Wave Geräte direkt miteinander verknüpfen kann, was ich dann für alle Lampen mit mehreren Schaltern gemacht habe und dann konnte ich die Regeln deaktivieren. Das funktioniert in 4 anderen Räumen und Fluren tadellos wobei dort auch ein Dimmer dabei ist, der quasi die gleiche Regel enthält wie der hier erwähnte Dimmer.
Nach dieser Änderung ist es jetzt zumindest so, dass der Dimmer von den beiden Schaltern geschaltet werden kann, solange die Regel deaktiviert ist, das war davor nicht Fall.
udo1toni hat geschrieben: ↑9. Nov 2024 01:06
Welche Items sind beteiligt?
Die Item-Namen sind im Skript natürlich richtig eingetragen, ich habe nur den Namen meines Kindes entfernt,
der muss nicht im Netz stehen und tut ja auch nichts zur Sache.
Die Regel ist ganz einfach und wurde sogar mit deiner Hilfe erstellt (und hat auch funktioniert!)
2024-11-09_09-52.png
Das ursprüngliche Skript sah so aus:
Code: Alles auswählen
logInfo("actions", "Licht OG")
if(Flur_Obergeschoss_Licht_Dimmer.state > 0){
logInfo("actions", "if Flur_Obergeschoss_Licht_Dimmer.state: " + Flur_Obergeschoss_Licht_Dimmer.state)
Flur_Obergeschoss_Licht_Dimmer.sendCommand(OFF)
} else {
logInfo("actions", "else Flur_Obergeschoss_Licht_Dimmer.state: " + Flur_Obergeschoss_Licht_Dimmer.state)
if(kinder_schlafen.state == ON){
Flur_Obergeschoss_Licht_Dimmer.sendCommand(1)
} else {
Flur_Obergeschoss_Licht_Dimmer.sendCommand(100)
}
}
Jetzt wollte ich es zum Testen wirklich nur ein und ausschalten und habe es ChatGPT vor die Füße geworfen und der hat was interessantes gemacht, was mir gar nicht bewusst war, dass das möglich ist, nämlich mit
val lichtItem = Flur_Obergeschoss_Licht_Dimmer
das Item in eine andere Variable gespeichert, was es natürlich viel leichter macht den Code wiederzuverwenden.
Code: Alles auswählen
// Überprüfe, ob das Skript ausgeführt werden soll, basierend auf dem aktuellen Zustand des Dimmers
val lichtItem = Flur_Obergeschoss_Licht_Dimmer // Name des Licht-Items
// Log den aktuellen Zustand für das Debugging
logInfo("lichtSteuerung", "Zustand von " + lichtItem.name + ": " + lichtItem.state)
// Prüfen, ob das Skript durch einen der anderen Schalter ausgelöst wurde
if (lichtItem.state != OFF && lichtItem.state != 0) {
// Bedingung: Ausführung nur, wenn der Dimmer im ausgeschalteten Zustand ist oder auf 0 steht
logInfo("lichtSteuerung", "Das Licht ist an und soll ausgeschaltet werden")
lichtItem.sendCommand(OFF)
} else {
logInfo("lichtSteuerung", "Das Licht ist aus und soll eingeschaltet werden")
lichtItem.sendCommand(ON)
}
// Log zum Abschluss
logInfo("lichtSteuerung", "Umschaltaktion abgeschlossen")
Leider ändert das nichts am Verhalten, sobald ich die Regel aktiviere, geht das Licht umgehend wieder aus.
udo1toni hat geschrieben: ↑9. Nov 2024 01:06
Gibt es Rules im Hintergrund?
Ich hatte ja erwähnt, dass ich /var/lib/openhab/jsondb/automation_rules.json nach Regeln durchsucht und nichts relevantes gefunden habe (soll ich die Ausgabe hier posten?)
Leider weiß ich nicht ob das ausreicht um sagen zu können, dass keine Regel im Hintergrund einen Einfluss nimmt.
@Udo Du rockst ja quasi das gesamte Forum alleine und hast mir alleine schon unzählige Male geholfen und/oder den Arsch gerettet.
Hast du vielleicht eine Amazon- oder Conrad-Wunschliste oder irgendwo die Möglichkeit, dass man dir was spenden kann? Ich bekomme langsam echt ein schlechtes Gewissen.
Vorab aber schon mal (wieder) vielen Dank!
Schönen Gruß
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.