RE: Verständnisfrage zur Hardware: Buttons für Routinen

Threads Index Foren Verständnisfrage zur Hardware: Buttons für Routinen RE: Verständnisfrage zur Hardware: Buttons für Routinen

#26321
XHelp
Teilnehmer

Vielen Dank für die Antwort, ich habe die Tage etwas mit openHAB rumgespielt und das gewünschte Ergebnis erzielt.

Falls jeman über diesen Thread später stolpert, hier ist eine grobe Beschreibung wie ich das umgesetzt habe:

Ich habe openHAB mit einem Conbee II Stick eingerichtet und dabei folgende AddOns verwendet: deconz,hue,mqtt,amazonechocontrol

  • Aus Alexa werden alle Skills gelöscht, die bis jetzt die Lampen gefunden haben: SmartLife (für die WLAN Spots) und IKEA SmartHome (für die Tradfri Lampen)
  • Tradfri Gateway kommt weg
  • Alle Zigbee Lampen und Schalter werden über Conbee registriert, dort benötigt man keine weitere Konfiguration davon, da die Logik in openHAB passiert
  • OpenHAB wird mit conbee über deconz-Bindung verbunden und hat nun Zugriff auf alle Geräte, die über den Stick registriert wurden.
  • OpenHAB wird über mqtt mit den tuya WLAN Lampen verbunden: der Schritt ist fürs erste mal etwas komplexer, weil vieles, was man in Foren finden nicht mehr funktioniert und ich musste auch tuya-mqtt source code anpassen. Ich kann mir aber vorstellen, dass es einfachere Möglichkeiten gibt…

Zwischenergebnis: Alle Geräte können über openHAB angesteuert werden, aber keins davon über Alexa, weil die da nicht sichtbar sind.

Um die Brüke zu schlagen, exportiere ich mittels amazonechocontrol an Alexa, teilweise direkt, wenn es die Zigbee Lampen sind:

(auszug aus .items, die “alexa” Parameter sind hier relevant)

[code]
Group group_livingroom_singlelight_ceilinglamp "Deckenlampe" (group_livingroom_lights) {alexa="Lighting"}
Dimmer item_livingroom_ceilinglamp_brightness_dimmer "Wohnzimmerdeckenlampe - Helligkeit" (group_livingroom_singlelight_ceilinglamp) {alexa="PowerController.powerState,BrightnessController.brightness", channel="hue:0220:conbeehueconnect:thing_livingroom_ceilinglamp:brightness" }
Dimmer item_livingroom_ceilinglamp_color_temperature_dimmer "Wohnzimmerdeckenlampe - Farbtemperatur" (group_livingroom_singlelight_ceilinglamp) {alexa="ColorTemperatureController.colorTemperatureInKelvin", channel="hue:0220:conbeehueconnect:thing_livingroom_ceilinglamp:color_temperature" }
[/code]

teilweise als “Virtuelle Lampe”, falls es die WLAN Spots sind:

[code]

Group group_livingroom_huemock_guitarspot3 "Gitarrenspot 3" (group_livingroom_huemocks) {alexa="Lighting"}
Dimmer item_livingroom_huemock_guitarspot3_brightness_dimmer "Gitarrenspot 3 - Helligkeit" (group_livingroom_huemock_guitarspot3, group_livingroom_guitarspots_emulation_brightness_dimmer) {alexa="BrightnessController.brightness"}
Switch item_livingroom_huemock_guitarspot3_switch "Gitarrenspot 3 - Schalter" (group_livingroom_huemock_guitarspot3, group_livingroom_guitarspots_emulation_switch) {alexa="PowerController.powerState"}
Color item_livingroom_huemock_guitarspot3_color "Gitarrenspot 3 - Farbe" (group_livingroom_huemock_guitarspot3, group_livingroom_guitarspots_emulation_color) {alexa="ColorController.color"}

[/code]

Mit den rules synchronisiere ich die “virtuellen” Spots und die echten Lampen, z.B.

[code]

rule "Guitar spots turn on/off via alexa"
when
Member of group_livingroom_guitarspots_emulation_switch received command
then
sendCommand(triggeringItem.name.replaceAll("huemock_",""), triggeringItem.state.toString)
end

rule "Guitar spots brightness controll via alexa"
when
Member of group_livingroom_guitarspots_emulation_brightness_dimmer changed
then
val realIteamName = triggeringItem.name.replaceAll("huemock_","").replaceAll("_brightness_dimmer", "_color")
val realColorItem = ScriptServiceUtil.getItemRegistry?.getItem(realIteamName) as ColorItem
val currentState = if (realColorItem.state == null || realColorItem.state.toString == "NULL" || realColorItem.state.toString == "UNDEF") (HSBType.BLUE) else (realColorItem.state as HSBType)
val stateToForward = new HSBType(currentState.hue, currentState.saturation, newState);
realColorItem.sendCommand(stateToForward)
end

[/code]

Zwischenergebnis: openHAB kennt alle Lampen und kann die steuern. Alexa erkennt alle Lampen und kann die zwar mit allen Bequemlichkeiten (Lampe aus, Lampe heller, Lampe auf “warmes weiß”, Lampe auf 80% etc) steuern, aber über openHAB.

Nun habe ich die Logik für die TRADFRI Fernbedienungen in openHAB implementiert und habe jetzt einen Hardware-Schalter, der ebenfalls beliebige Dinge ausführen kann. In meinem Fall ist es:

Wenn ich auf den Knopf “AN/AUS” drücke und irgendein Licht im Wohnzimmer ist an, geht alles aus. Wenn ich auf den Knopf “AN/AUS” drücke und alle Lichter im Wohnzimmer sind aus, dann gehen alle Lichter an.

 

TLDR: Mein Einstieg in das Smarte Haus ist hiermit erfolgt, bin gespannt wo die reise hingeht 🙂