Lampe dimmbar on/off & Google korrekt einrichten ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
TorstenE
Beiträge: 246
Registriert: 12. Jan 2022 18:29
Answers: 4
Wohnort: Niederstaufen

Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von TorstenE »

Hallo Mitstreiter,

Zuerst meine Frage ist einfacher:

Wie richtet Ihr eine Lampe ein, damit diese:

1. In den Standort-Bulbs angezeigt werden. (aber nur 1 x und nicht 2 x)
2. Mit einem Schwitch ON/OFF geschaltet werden kann (Helligkeit bleibt erhalten)
3. Mit einem Dimmer die Helligkeit geregelt werden kann
4. Mit Google Sprachbefehl "Schalte Lampe ein/aus" auch die Helligkeitswerte erhalten bleiben.
5. Mit Google Sprachbefehl "Schalte Lampe 50%" ebenfalls geht.
6. In Google aber dann nicht 2 Lampen angezeigt werden (Schalter & Dimmer)

Grob gesagt, passt bei mir immer eine dieser 4 Punkte nicht, egal wie ich es hin und her drehe.

Schönen Tag

Torsten
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von udo1toni »

Ganz einfach: Du nimmst ein Dimmer Item. NUR ein Dimmer Item.
Das Dimmer Item beherrscht die Befehle 0 - 100, INCREASE, DECREASE und, Achtung: ON und OFF.
Du kannst ein Dimmer Item mit mehreren Widgets verknüpfen, auch parallel. Die Widgets können auch nur einen Teil der Befehle abdecken, das stört nicht.
Der Punkt: "Schalte Lampe ein" mit Helligkeitswert behalten wird eher schwierig, es sei denn, die Lampe selbst unterstützt dieses Feature. Meine knx Dimmer z.B. kann ich so parametrieren, dass ein ON Befehl die vor dem OFF zuletzt gewählte Helligkeit aufruft, oder auch eine ganz bestimmte Helligkeit (nicht nur 100%).
Wenn openHAB das so abbilden soll, weil der Dimmer selbst das nicht unterstützt, musst Du ein Proxy Item verwenden, welches die ON-Befehle entsprechend umsetzt. Ob Du dann das Proxy Item in das Model einpflegst, oder das "echte" Item, ist vermutlich nicht so wichtig, wie, nur eines der beiden Items dort einzubauen.

Wie die Sprachkommandos exakt lauten müssen, weiß ich nicht, da ich keine Sprachsteuerung haben will. Es kann aber durchaus sein, dass Du ganz bestimmte Schlüsselwörter verwenden musst - z.B. "Dimme Lampe auf 50%", statt "Schalte Lampe auf 50%".
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
TorstenE
Beiträge: 246
Registriert: 12. Jan 2022 18:29
Answers: 4
Wohnort: Niederstaufen

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von TorstenE »

Guten Morgen Udo,

ja die Lampe selbst unterstützt es. Jedoch ist ON/OFF über "state: ON/OFF" gelöst und "0-100" über "brightness: 0-100".

D.h. die Lampe hat 2 Items (entsprechende Channels), ein "Dimmer"-Item und ein "Switch"-Item.
Das funktioniert auch wunderbar. Bei "ON" wird immer die letzte eingestellte Helligkeit verwendet, was die Lampe somit
von sich aus kann.

Definiert sind die Items:
Type: switch
Semantic class: control
Semantic property: Light

Type: dimmer
Semantic class: point
Semantic property: Light

Damit habe ich die getrennte Steuerung. Der Dimmer ist deshalb als "point" angegeben, da sonst in der Standortübersicht
2 Items für die Lampe angezeigt werden (Lampe-Symbol mit "2") dahinter.

Das ist auch die "Krucks" mit Google, wenn ich für beide Items die Meta-Daten für Google eintrage habe ich
bei Google natürlich dann auch 2 Lampen.

Ich hoffe das ist bis hierher einigermaßen verständlich.

Das mit dem Proxy Item ist vielleicht die Lösung. Das Proxy-Item wird als "Lightbulb" mit Dimmer/Switch
ausgestattet. Eine Rule muss jetzt die Werte 0-100 bzw. ON/OFF auswerten und die beiden Original-Items steuern.
Dann müsste über eine 2 Rule die Werte vom Original-Item wieder an das Proxy zurück geschrieben werden.

Warum muss es immer kompliziert sind ;-)

Schönen Morgen

Torsten
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian

Benutzeravatar
TorstenE
Beiträge: 246
Registriert: 12. Jan 2022 18:29
Answers: 4
Wohnort: Niederstaufen

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von TorstenE »

Also ich habe jetzt eine weiter Lampe (LED Birne) heute bekommen. Auch diese Birne behält die Helligkeit nach dem Ausschalten.
Das ist somit "normal". D.h. das Dimmer-Item, darf die Helligkeit nicht auf 0 bzw. 100 % setzen beim ein- und ausschalten,
sondern muss tatsächlich einen ON/OFF liefern. Jetzt weis ich nicht ob es das auch tut.
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von udo1toni »

Wenn Du ein ON Command an ein Dimmer Item sendest, sollte es auch ein ON Command weiterleiten.
Ansonsten muss halt ein Proxy Item her, welches Du allein im Semantic Model einbaust. Eine Rule kümmert sich dann darum, die verschiedene Befehle an die Items zu senden, welche tatsächlich mit der Lampe verbunden sind. Diese Items dürfen dann natürlich nicht im Semantic Model eingebaut werden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
TorstenE
Beiträge: 246
Registriert: 12. Jan 2022 18:29
Answers: 4
Wohnort: Niederstaufen

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von TorstenE »

Hallo Udo,

so dachte ich es mir ungefähr auch. Jetzt habe ich aber mehr als 1 "Funzel". Wie kann ich eine Rule so
verallgemeinern, dass sie für alle in Frage kommenden "Funzeln" läuft ?
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lampe dimmbar on/off & Google korrekt einrichten ?

Beitrag von udo1toni »

Du musst die Itemnamen geschickt wählen und Gruppenitems definieren, in denen alle Items drin sind, die zu berücksichtigen sind. Kommt etwas auf die Aufgabe an, wie man das genau baut.

Grundsätzlich:

Code: Alles auswählen

rule "eine für alle"
when
    Member of MeinGroupItem received command
then
    // mach was. triggeringItem ist das Item, welches die Rule getriggert hat, receivedCommand enthält den Befehl
    // z.B.
    logInfo("oneforall","Das Item {} hat die Rule mit dem Befehl {} ausgelöst!", triggeringItem.name,receivedCommand)
end
Wenn du also z.B. Proxy Items zum Steuern brauchst, musst Du die passenden Itemnamen aus dem triggernden Item "errechnen" können, z.B. indem der Name erweitert oder an einer bestimmten Stelle verändert wird. Gern genommen in dem Zusammenhang ist split(), welches eine Zeichenkette (hier den Itemnamen) an bestimmten Stellen auftrennt:

Code: Alles auswählen

val parts = triggeringItem.name.split("_")
Heißt ein Item z.B. EGWohnzimmerLampe1_Proxy enthielte parts anschließend eine Liste: "EGWohnzimmerLampe1" und "Proxy". Und nun könnte man mit get(0) nur den ersten Teil der Zeichenkette verwenden, um ein anderes dazu passendes Item zu suchen:

Code: Alles auswählen

gMeineAndereGruppe.members.filter[i|i.name==parts.get(0)+"_Dimmer"].head.sendCommand(receivedCommand)
.members.filter[] sucht alle Items aus der Gruppe, für die die gesetzten Kriterien gelten. Es wird also eine Liste zurückgeliefert, die alle Items enthält, deren Namen mit der Zeichenkette EGWohnzimmerLampe1_Dimmer übereinstimmen (Die Liste enthält nur ein Element, ist aber dennoch eine Liste!) .head liefert das erste Element der Liste (in diesem Fall als genericItem, man kann also alle Methoden verwenden, welche man auch auf ein "normales" Item anwenden würde.)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten