Seite 1 von 1

Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 19:45
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

Re: Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 22:57
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]

Re: Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 22:59
von Thommy2012
so haut es jetzt hin. Der schalter muss nicht zwingend zurück er wird ja noch mal angetriggert :D

Re: Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 23:11
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.

Re: Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 23:17
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.

Re: Alexa und Rolladensteuerung KNX

Verfasst: 12. Feb 2019 23:28
von Thommy2012
Haut Super hin. so wie es eigentlich sollte. Vielen Dank