Seite 1 von 1

Shelly über Aqara Motion Sensor steuern

Verfasst: 22. Dez 2019 22:26
von BO80
Hallo Zusammen,

ich habe vor ein Shelly 1 über ein Aqara Motion Sensor zu steuern.
Beide sind eingebunden und funktionieren für sich auch.

Code: Alles auswählen

//Bewegungsmelder Flur oben

Switch     FlurBewegungsmelderMotion           "Motion status"               {channel="mihome:sensor_motion_aq2:158d0003143f65:motion"}
Number     FlurBewegungsmelderIllumination     "Illumination"                {channel="mihome:sensor_motion_aq2:158d0003143f65:illumination"}
Number     FlurBewegungsmelderMotionOffTimer   "Motion off timer"            {channel="mihome:sensor_motion_aq2:158d0003143f65:motionOffTimer"}
DateTime   FlurBewegungsmelderLastMotion       "Last activity (date/time)"   {channel="mihome:sensor_motion_aq2:158d0003143f65:lastMotion"}
Number     FlurBewegungsmelderBatteryLevel     "Battery level"               {channel="mihome:sensor_motion_aq2:158d0003143f65:batteryLevel"}
Switch     FlurBewegungsmelderLowBattery       "Low battery"                 {channel="mihome:sensor_motion_aq2:158d0003143f65:lowBattery"}

Code: Alles auswählen

//Flur Oben

Switch        ShellyFlurObenRelayOutput        "Power"                      {channel="shelly:shelly1:93ea3d:relay#output"}
Switch        ShellyFlurObenRelayInput         "Input"                      {channel="shelly:shelly1:93ea3d:relay#input"}
Number:Time   ShellyFlurObenRelayAutoOn        "Auto on timer"              {channel="shelly:shelly1:93ea3d:relay#autoOn"}
Number:Time   ShellyFlurObenRelayAutoOff       "Auto off timer"             {channel="shelly:shelly1:93ea3d:relay#autoOff"}
Switch        ShellyFlurObenRelayTimerActive   "Auto on/off timer active"   {channel="shelly:shelly1:93ea3d:relay#timerActive"}
Number:Time   ShellyFlurObenDeviceUptime       "Uptime"                     {channel="shelly:shelly1:93ea3d:device#uptime"}
Number        ShellyFlurObenDeviceWifiSignal   "Signal strength"            {channel="shelly:shelly1:93ea3d:device#wifiSignal"}

Ich schaff es jedoch nicht eine Komunikation zwischen Beiden über eine rule herzustellen.
Die Binding Infos auf openhab.org hab ich schon gelesen,komme aber nicht weiter.

mein aktueller Stand:

Code: Alles auswählen

rule "Bewegungsmelder"

when

 Channel 'mihome:sensor_vibration:<GwID>:<ID>:action' triggered ON
 
then
    if (FlurBewegungsmelderMotion.state == ON) {
     shelly:shelly1:93ea3d:relay#output.sendCommand (ON) 

     } else {
      shelly:shelly1:93ea3d:relay#output.sendCommand (OFF) 
    }
    
    
end

Software: Openhab2.5

Gruß Benjamin

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 10:03
von BO80
Ich hab das mit den rules wohl nicht ganz verstanden, kann mir da keiner weiterhelfen?

Frohe Weihnachten
Gruß Benjamin

Gesendet von meinem ELE-L29 mit Tapatalk


Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 11:39
von sihui
BO80 hat geschrieben: 24. Dez 2019 10:03 Ich hab das mit den rules wohl nicht ganz verstanden
Ja, die Syntax ist leider völlig falsch. Außerdem bin ich mir nicht sicher ob die von dir genutzten Bindings Channel Trigger erlauben, ich würde eher auf Items triggern.
BO80 hat geschrieben: 24. Dez 2019 10:03 kann mir da keiner weiterhelfen?
Doch, allerdings ist so eine Rule etwas umfangreicher als du dir vielleicht denkst: du willst ja den Shelly wahrscheinlich etwas länger auf ON lassen als der Motion Sensor auf ON steht (dieser geht normalerweise direkt wieder auf OFF und damit würde bei einer einfachen Rule auch dein Shelly gleich wieder auf OFF gehen).

Aber Hilfe ist in Sicht: schau dir mal die Beispiele der Design Patterns an, dort ist Schritt für Schritt erklärt wie man das genau umsetzt und einen Timer programmiert damit der Shelly eine definierte Zeit nach Auslösung der Bewegung eingeschaltet bleibt:

https://community.openhab.org/t/design- ... imer/14954

Schau dir die Beispiele für "Rules DSL" an.
Triggern solltest du auf

Code: Alles auswählen

Item FlurBewegungsmelderMotion received update ON
und den Shelly schalten mit

Code: Alles auswählen

ShellyFlurObenRelayOutput.sendCommand(ON)
oder

Code: Alles auswählen

ShellyFlurObenRelayOutput.sendCommand(OFF) 
Ebenfalls Frohes Fest und viel Erfolg mit deiner Rule.

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 11:40
von seppy
Hi,

in Deinen rules musst Du Items verwenden!

Hier ein Beispiel

Code: Alles auswählen


rule "Bewegungsmelder"
when
	Channel 'mihome:sensor_vibration:<GwID>:<ID>:action' triggered ON 
then
    if (FlurBewegungsmelderMotion.state == ON) {
     ShellyFlurObenRelayOutput.sendCommand (ON) 

     } else {
      ShellyFlurObenRelayOutput.sendCommand (OFF) 
    }
end
Deine Bedingung scheint auch nicht fertig zu sein?! Da fehlen doch die ID's.

Grüße,
Seppy

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 11:56
von KellerK1nd
Korrekt sieht es so aus:

Code: Alles auswählen


rule "Bewegungsmelder"

when

Item FlurBewegungsmelderMotion changed
 
then
    if (FlurBewegungsmelderMotion.state == ON){
          ShellyFlurObenRelayOutput.sendCommand (ON) 
     } 
    else {
          ShellyFlurObenRelayOutput.sendCommand (OFF) 
    }
end

Die Haltezeit des Relais bestimmt der Bewegungsmelder, so lange wie der Kontakt beim Bewegungsmelder ansteht ist auch das Relais geschlossen. Man könnte noch einen Timer einbauen.

Code: Alles auswählen


var Timer nTimer1 = null

rule "Bewegungsmelder"

when

Item FlurBewegungsmelderMotion changed
 
then
    if (FlurBewegungsmelderMotion.state == ON){
          nTimer1?.cancel
          ShellyFlurObenRelayOutput.sendCommand (ON) 
     } 
    else {
          nTimer = createTimer(now.plusSeconds(30))[|
                ShellyFlurObenRelayOutput.sendCommand (OFF)
                nTimer1 = null
           ]
    }
end

Bei dieser Regel wird bei Detektion des Bewegungsmelders ein bestehender Timer gecancelt und dein Relais geschaltet. Fällt der Kontakt beim Bewegungsmelder ab, wird ein 30 Sekundentimer gestartet. Ist der Timer abgelaufen, wird das Relais aus geschaltet. Man könnte diese Regel noch verfeinern und das Relais vor dem Schalten abfragen um unnötige Befehle zu vermeiden, aber im Prinzip sollte dir das helfen.

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 13:04
von BO80
Danke für die schnelle Hilfe, es funktioniert jetzt auch mit dem Timer!

Gruß Benjamin

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 13:42
von KellerK1nd
Ich hab meine Regel noch korrigiert, war ein kleiner Fehler im Timer drin.

Frohe Weihnachten

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 14:20
von BO80
Kann ich auch einen 2. Bewegungsmelder einbinden, wie muss dann die Rule aussehen?

Re: Shelly über Aqara Motion Sensor steuern

Verfasst: 24. Dez 2019 15:55
von KellerK1nd
Wenn sie das selbe Item schalten sollen, am besten über eine Gruppe.