Alexa und Rolladensteuerung KNX

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Thommy2012
Beiträge: 85
Registriert: 11. Apr 2018 09:55

Alexa und Rolladensteuerung KNX

Beitrag von Thommy2012 »

Hallo Zusammen ,ich habe ein kleines problem.

Ich habe in alexa eine routine angelegt wenn (Sprache) Alexa erdgeschoss Auf, wird der Item Schalter EG_Gesammt_Fenster_Alexa_Auf angesteuert der dann über CASE das Rollo hochfährt. Nach dem befehl soll der Schalter EG_Gesammt_Fenster_Alexa_Auf wieder auf OFF gesetzt werden damit er für das nächste sprachcommando wieder zur verfügung steht.

Jetzt habe ich das Problem da der Befehl recived command ist die Regel immer wieder gestartet wird. Die Rollos fahren zwar wunderbar aber im log sieht man das es immer wieder gestartet wird.

ich möchte gerne ein changed to ON einsetzten aber dann passt das receivedcommand am Switch vor CASE On nicht mehr.

Hat einer einen Tip wie der Befehl dann heißen soll.

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Auf"
when
Item EG_Gesammt_Fenster_Alexa_Auf received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt oeffnen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(UP)
}
Thread::sleep(1000)
sendCommand(EG_Gesammt_Fenster_Alexa_Auf, OFF)
end

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Zu"
when
Item EG_Gesammt_Fenster_Alexa_Zu received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt Schliessen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(DOWN)
}
Thread::sleep(1000)
sendCommand(EG_Gesammt_Fenster_Alexa_Zu, OFF)
end

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Stop"
when
Item EG_Gesammt_Fenster_Alexa_Stop  received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt Stoppen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(STOP)
}
Thread::sleep(1000)
sendCommand(EG_Gesammt_Fenster_Alexa_Stop, OFF)
end

Thommy2012
Beiträge: 85
Registriert: 11. Apr 2018 09:55

Re: Alexa und Rolladensteuerung KNX

Beitrag von Thommy2012 »

Thommy2012 hat geschrieben: 12. Feb 2019 19:45 Hallo Zusammen ,ich habe ein kleines problem.

Ich habe in alexa eine routine angelegt wenn (Sprache) Alexa erdgeschoss Auf, wird der Item Schalter EG_Gesammt_Fenster_Alexa_Auf angesteuert der dann über CASE das Rollo hochfährt. Nach dem befehl soll der Schalter EG_Gesammt_Fenster_Alexa_Auf wieder auf OFF gesetzt werden damit er für das nächste sprachcommando wieder zur verfügung steht.

Jetzt habe ich das Problem da der Befehl recived command ist die Regel immer wieder gestartet wird. Die Rollos fahren zwar wunderbar aber im log sieht man das es immer wieder gestartet wird.

ich möchte gerne ein changed to ON einsetzten aber dann passt das receivedcommand am Switch vor CASE On nicht mehr.

Hat einer einen Tip wie der Befehl dann heißen soll.

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Auf"
when
Item EG_Gesammt_Fenster_Alexa_Auf received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt oeffnen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(UP)
}

end

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Zu"
when
Item EG_Gesammt_Fenster_Alexa_Zu received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt Schliessen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(DOWN)
}

end

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Stop"
when
Item EG_Gesammt_Fenster_Alexa_Stop  received command
then
logInfo("RULE", "–> Alexa Rollo EG Gesammt Stoppen")
switch(receivedcommand)
{
case ON : EG_Gesammt1.sendCommand(STOP)
}

[/quote]

Thommy2012
Beiträge: 85
Registriert: 11. Apr 2018 09:55

Re: Alexa und Rolladensteuerung KNX

Beitrag von Thommy2012 »

so haut es jetzt hin. Der schalter muss nicht zwingend zurück er wird ja noch mal angetriggert :D

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

Re: Alexa und Rolladensteuerung KNX

Beitrag von udo1toni »

Gibt es einen besonderen Grund, warum Du dem auslösenden Item noch einen Befehlschicken willst? Eine einfache Variante wäre, das received command einzuschränken.

Code: Alles auswählen

rule "Rollo EG Gesammt Alexa Auf"
when
    Item EG_Gesammt_Fenster_Alexa_Auf received command ON
then
    logInfo("RULE", "–> Alexa Rollo EG Gesammt oeffnen")
    EG_Gesammt1.sendCommand(UP)
    EG_Gesammt_Fenster_Alexa_Auf.sendCommand(OFF)
end
Weiterhin kann es gut sein, dass Du eigentlich gar keinen Befehl schicken willst, sondern nur den Status des Items zurücksetzen willst.

Code: Alles auswählen

    EG_Gesammt_Fenster_Alexa_Auf.postUpdate(OFF)
Warum nutzt Du überhaupt so viele Items? Alexa sollte auch mit Rollershutter items umgehen können, im Zweifel bräuchtest Du dann überhaupt keine Rule.

Übrigens kann man die LogStufe abhängig vom Kontext wählen (der Kontext ist der erste String der Action). Es ist also sinnvoll, hier nicht einfach nur "RULE" hinzuschreiben.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Thommy2012
Beiträge: 85
Registriert: 11. Apr 2018 09:55

Re: Alexa und Rolladensteuerung KNX

Beitrag von Thommy2012 »

Hallo Udo1toni. Danke für deine Infos. Ich bin ein Neuling in Sachen Openhab und wohl noch so gesehen in der Experimentier phase.

Thommy2012
Beiträge: 85
Registriert: 11. Apr 2018 09:55

Re: Alexa und Rolladensteuerung KNX

Beitrag von Thommy2012 »

Haut Super hin. so wie es eigentlich sollte. Vielen Dank

Antworten