Seite 1 von 3

General Aus in Openhab 3

Verfasst: 13. Mär 2021 07:18
von Abraxsas
Guten Tag zusammen,

ich bin in OpenHab und speziell in OpenHab3 recht neu.

Ich möchte einen Generalaus Schalter für das Gesamte Licht in meinem Haus haben. Hierzu hängt ein Taster an einem Shelly Aktor.

Jetzt meine Frage:
Wie realisiere es am "besten"?
Zum einen Besteht ja die möglichkeit das ganze über eine Regel zu lösen, das erscheint mir aber ziemlich umständlich.
In OpenHab2.5 konnte man über z.b. VisualStudioCode Gruppen bilden und diese gesammelt schalten.
Besteht diese Möglichkeit weiterhin? Oder ist das in OH 3 anders gelöst?

Danke für euere Hinweise.

Gruß
Tim

Re: General Aus in Openhab 3

Verfasst: 13. Mär 2021 10:16
von int5749
Abraxsas hat geschrieben: 13. Mär 2021 07:18 In OpenHab2.5 konnte man über z.b. VisualStudioCode Gruppen bilden und diese gesammelt schalten.
Besteht diese Möglichkeit weiterhin? Oder ist das in OH 3 anders gelöst?
Hallo Tim,

Das funktioniert in OH 3 noch genauso. Die Gruppen sind aber keine VSC Funktion, sondern dieser ist eine Editor, mit dem man sehr komfortabel OH Code erstellen kann.

Aber: Natürlich kannst Du Gruppen auch über die Main UI erstellen (was eigentlich empfohlen ist, da die text-basierende Konfig in (hoffentlich weit ferner) Zukunft nicht mehr unterstützt würde)

Generell sollte mann: Items (dazu gehören auch Gruppen) oder Things komplett über Main UI ODER text basierend (z.B. über VSC) anlegen. Ein Mix ist nicht empfohlen, da dies zu Problemen (aufgrund Unübersichtlichkeit) führen kann.

Für Deine Frage: Eine Gruppe in der alle Lampen Deines Wunsches aufgenommen werden (ich meine dies ist sogar als Beispiel in der Doku enthalten). Diese Gruppe kann Dir dann anzeigen, wie viele Lampen derzeit eingeschaltet sind und mit einem Klick kannst Du alle diese ausschalten lassen.

Viele Grüße

Re: General Aus in Openhab 3

Verfasst: 13. Mär 2021 10:22
von Abraxsas
Super, danke schonmal für die Info, ich denke mal ich werde alles über VSC realisieren weil er mir auf die Dauer nun doch flexibler erscheint. Ich suche jetzt mal nach der Doku.

Vielen Dank für den Hinweis :-)

Re: General Aus in Openhab 3

Verfasst: 13. Mär 2021 21:44
von int5749
Abraxsas hat geschrieben: 13. Mär 2021 10:22 Ich suche jetzt mal nach der Doku.
Ich habe gerade mal geschaut, finde dies aber in der Doku nicht (mehr)

Meine Konfig für alle Lampen

Items

Code: Alles auswählen

Group:Switch:OR(ON, OFF)		Lampen 		"Alle Lampen [(%d)]"

//Beispiel eine Lampe
Switch Lampe_OG_Schlafz_Decke		"Schlafzimmerdecke"	<light>	(Lampen)	["Lightbulb"]	{channel="knx:device:bridge:0815:ch5"}
Sitemap

Code: Alles auswählen

Switch item=Lampen mappings=[OFF="All Off"]
Somit könntest Du über die Sitemap all eingeschalteten Lampen der Gruppe mit einem Klick ausschalten

Bei Dir wäre es dann ein neues Switch Item für den Shelly und diesen programmieren, das er ein OFF sendet. Ein ON würde alle Lampen einschalten ;-)

Note: Dies sendet an ALLE Items der Gruppe "Lampen" einen "OFF" oder auch "ON" Befehl, unabhängig davon, ob diese bereits aus- oder eingeschaltet sind. => keep the bus busy ;-)

Wenn Du nur die Items schalten möchtest, müsste dies über eine rule und filtering erfolgen. ;-)

Re: General Aus in Openhab 3

Verfasst: 15. Mär 2021 19:13
von Abraxsas
Guten Abend,
das funktioniert einwandfrei. Jetzt muss ich es nur noch Schaffen dieses über einen tatsächlichen Schlater zu stuern. Ich müsste doch gehen den Zustand des Schalter abzufragen. Also wenn z.b. Wenn Schaltereingang 3 Sekunden auf on dann Schalter die Gruppe aus.

Kann mir da nochmal jemand weiterhelfen?

Vielen Dank schonmal
Gruß Tim

Re: General Aus in Openhab 3

Verfasst: 16. Mär 2021 05:59
von udo1toni
Verwendest Du einen Schalter, der exklusiv das All OFF steuern soll, oder ist das ein Taster, den Du auch noch für andere Aufgaben nutzen willst (also kurzer Druck -> Aktion 1, langer Druck, Aktion 2)?

Re: General Aus in Openhab 3

Verfasst: 16. Mär 2021 06:41
von Abraxsas
Guten Morgen.

kurz zum Hintergrund, ich löse das gesamte Haus über Shelly Aktoren. Der Taster "General Aus" ist auf dem Eingang eines Aktors. Der Ausgang ist nicht belegt. Also ich nutze ihn nur zum Steuern dieser einen Aktion. Allerdings soll es so sein das man den Taster eine zeit Halten muss bevor die Aktion ausgelöst wird.

Gruß Tim

Re: General Aus in Openhab 3

Verfasst: 16. Mär 2021 07:32
von udo1toni
Dann wäre die einfache Lösung so was (Vorausssetzung ist, dass die Taste beim Drücken ein ON sendet und beim Loslassen ein OFF sendet):

Code: Alles auswählen

var Timer tTaste = null

rule "Langer Tastendruck"
when
    Item allOffTaster changed
then
    if(allOffTaster.state != ON) {
        tTaste?.cancel
        tTaste = null
    } else if(tTaste === null) {
        tTaste = createTimer(ZonedDateTime.now.plusSeconds(3),[|
            Lampen.members.forEach[i|
                i.sendCommand(OFF)
            ]
            tTaste = null
        ])
    }
end
Sobald die Taste gedrückt wird, startet der Timer. Wird die Taste losgelassen, so wird der Timer sofort gestoppt und entfernt.
Wird die Taste weiterhin festgehalten, so läuft der Timer ab und sendet den OFF Befehl an alle Member der Gruppe Lampen.

Re: General Aus in Openhab 3

Verfasst: 16. Mär 2021 07:40
von Abraxsas
Super,
danke schonmal für die Hilfe, da wir erst umziehen, werde ich es heute nachmittag im Haus mal Ausprobieren.

Gruß
Tim

Re: General Aus in Openhab 3

Verfasst: 16. Mär 2021 07:48
von udo1toni
Ach so... vergessen...

Bei openHAB3 ist es essenziell, dass die Rule in einer *.rules Datei gespeichert wird, damit die globale Variable nutzbar ist.

Und ich habe gerade einen Tippfehler oben korrigiert...