Seite 1 von 1

#1 Unzuverlässige Ausführung, wenn Kommando an Gruppe geht

Verfasst: Sa 29. Dez 2018, 22:19
von timbms
Ich möchte openhab verwenden, um eine Gruppe von Jalousiemotoren mit LCN-Relais zu schalten.
Dazu definiere ich einen Gruppen-RollerShutter, im Beispiel unten EGJalousienSued und eine Gruppe, der die zugehörigen Jalousien zugeordnet werden, hier gEGJalousienSued.

Wenn ein Kommando an EGJalousienSued geht, dann setze ich mit einer Rule um, dass die Jalousien, die der Gruppe gEGJalousienSued angehören, gesteuert werden, s. Ausschnitt aus der Rules-Datei.

Um die Ausführung aller Relaiskommandos zuverlässig hinzubekommen, muss ich eine Verzögerung zwischen den einzelnen Kommandos einbauen. Ich habe dazu 150ms bestimmt.

Aber eigentlich sollte das im Binding berücksichtigt werden.

Gibt es Pläne zur Verbesserung des Bindings? Wer kümmert sich darum?

Ausschnitt aus lcn.items Datei:

Code: Alles auswählen

Group gEG (gHaus)
Group g1OG (gHaus)
Group gHausJalousien (gHaus)
Group gEGJalousien "EG Jalousien" (gHausJalousien)
Group gJalousienSued "Jalousien Sued" (gHausJalousien)
Group gJalousienWest "Jalousien West" (gHausJalousien)
Group gJalousienNord "Jalousien Nord" (gHausJalousien)
Group gEGJalousienSued "EG Jalousien Sued" (gEGJalousien, gJalousienSued)
Group gEGJalousienWest "EG Jalousien West" (gEGJalousien, gJalousienWest)
Rollershutter EGJalousien
Rollershutter EGJalousienSued
Rollershutter EGJalousienWest
Rollershutter KZJalousien
Group gKZJalousien "KiZ Jalousien" (gHausJalousien)
Rollershutter lcnJalousieWZWestLinks "Jalousie WZ West links"     (gWZ, gEGJalousien, gHausJalousie, gJalousienWest, gEGJalousienWest, gLcn) {lcn="[UP:myHome:RELAYS.0.54.11------], [DOWN:myHome:RELAYS.0.54.10------], [STOP:myHome:RELAYS.0.54.0-------]"}
Rollershutter lcnJalousieWZSuedMitte "Jalousie WZ Süd Mitte"      (gWZ, gEGJalousien, gHausJalousie, gJalousienSued, gEGJalousienSued, gLcn) {lcn="[UP:myHome:RELAYS.0.54.--11----], [DOWN:myHome:RELAYS.0.54.--10----], [STOP:myHome:RELAYS.0.54.--0-----]"}
Rollershutter lcnJalousieWZSuedLinks "Jalousie WZ Süd links"      (gWZ, gEGJalousien, gHausJalousie, gJalousienSued, gEGJalousienSued, gLcn) {lcn="[UP:myHome:RELAYS.0.54.----11--], [DOWN:myHome:RELAYS.0.54.----10--], [STOP:myHome:RELAYS.0.54.----0---]"}

Ausschnitt aus home.sitemap:

Code: Alles auswählen

Frame label="Jalousien EG" {
    Switch item=EGJalousien   
    Switch item=EGJalousienSued
    Group item=gEGJalousienSued icon="rollershutter" label="EG Süd"{
      Switch item=lcnJalousieWZWestLinks
      Switch item=lcnJalousieWZWestMitte
      Switch item=lcnJalousieWZWestRechts
    }
    Switch item=EGJalousienWest
    Group item=gEGJalousienWest icon="rollershutter" label="EG West" {
      Switch item=lcnJalousieWZSuedLinks
      Switch item=lcnJalousieWZSuedMitte
      Switch item=lcnJalousieWZSuedRechts
    }
  }

Ausschnitt aus lcn.rules:

Code: Alles auswählen

rule "Move for all EG South"
when
   Item EGJalousienSued received command
then
  gEGJalousienSued?.members.forEach(Rollershutter,i|createTimer(now.plusMillis(i*150)) [|Rollershutter.sendCommand(receivedCommand)])
end