Script Jalousien KNX

Meine Familie droht mit Rauswurf, wenn ich nach mehreren Stunden weiterhin “Jalousien-Fahren” spiele und ich hoffe #einer von Euch kann helfen.
Als Teil eines „Moin“-Scripts sollen verschiedene KNX gesteuerte Jalousien im Hause je nach Raum 3 verschiedene Dinge tun:

  1. ganz hochfahren => kein Problem
  2. zu einer bestimmten Position hochfahren
    Hier passieren wilde und immer abwechselnde Dinge:
  • manchmal klappt es
  • die Jalousie fährt ganz nach oben und dann wieder runter auf den angegebenen %-Wert
    Irgendwie sieht es so aus, als wenn die Position vor dem Start des Scriptes nicht (flott)
    zurückgemeldet wird. Wenn ich die Position als sekundäre in der Entity Card angebe, dann kann ich
    beobachten, dass die Position sich erst nach längerer Zeit anpasst). Im Script:
- service: cover.set_cover_position
    data:
      position: 60
    target:
      entity_id: cover.esszimmer_links
  1. die Lamellen kippen
    Das habe ich mit 2 Varianten versucht:
    a) mit set_cover_ tilt_position:
  - service: cover.set_cover_tilt_position
    data:
      tilt_position: 30
    target:
      entity_id:
      - cover.wz_1
      - cover.wz_2l
      - cover.wz_3
      - cover.wz_4
      - cover.wz_5
      - cover.wz_6
  Das klappt aber leider kann ich die Lamellen weder über KNX-Terminal noch HA schliessen, da die   
  Entity Card keine Option für das Kippen der Lamellen hat und KNX auch kein geöffnet meldet. Die 
  Position gilt als "geschlossen", was sia ja auch ist

b) 2% rauffahren – dann kippen die Lamellen von alleine und der Status ist „offen“. So kann ich also wieder schliessen. Hier habe ich wieder das Problem der „verrückten“ Fahrten zu beliebigen Positionen

Die beiden Scripte mal in voller Länge

moin_test:
  alias: Moin
  sequence:
  - service: cover.set_cover_position
    data:
      position: 2
    target:
      entity_id:
      - cover.esszimmer_rechts
      - cover.wz_1
      - cover.wz_2
      - cover.wz_3
      - cover.wz_4
      - cover.wz_5
      - cover.wz_6n
  - service: cover.open_cover
    target:
      entity_id:
      - cover.buro_2
      - cover.buro_3_neben_fenster
      - cover.buro_4_kurier
      - cover.buro_5_schreibtisch
      - cover.kuche
    data: {}
  - service: cover.set_cover_position
    data:
      position: 60
    target:
      entity_id: cover.esszimmer_links
  mode: single
  icon: mdi:coffee
moin_duplizieren:
  alias: Moin (Duplizieren)
  sequence:
  - service: cover.set_cover_tilt_position
    data:
      tilt_position: 30
    target:
      entity_id:
      - cover.wz_1
      - cover.wz_2l
      - cover.wz_3
      - cover.wz_4
      - cover.wz_5
      - cover.wz_6
      - cover.esszimmer_rechts
  - service: cover.open_cover
    target:
      entity_id:
      - cover.buro_2
      - cover.buro_3_neben_fenster
      - cover.buro_4_kurier
      - cover.buro_5_schreibtisch
      - cover.kuche
    data: {}
  - service: cover.set_cover_position
    data:
      position: 60
    target:
      entity_id: cover.esszimmer_links
  mode: single
  icon: mdi:coffee

Die Jalousien sind alle nach dem gleichen Schema in der configuration.yaml angelegt

    - name: "Jal WZ 1"
      move_long_address: "4/0/6"
      move_short_address: "4/0/7"
      stop_address: "4/0/7"
      position_address: "4/0/94"
      position_state_address: "4/1/6"
      angle_address: "4/0/116"
      angle_state_address: "4/1/33"
      travelling_time_down: 60
      travelling_time_up: 60
      device_class: "shutter"

Die Zuordnung der Objekte in meinen Aktoren ist wie folgt:

Für mich klingt das so als hätten die Jalousien ihren Nullpunkt/Referenzpunkt verloren und öffnen einmal komplett um den Punkt wieder zu finden.
Muss aber dazu sagen das ich mich mit KNX Jalousien nicht auskenne, bei meinen Rollos (erfal / Homematic IP) konnte ich sowas noch nicht beobachten aber was anderes fällt mir zu dem Öffnungsverhalten nicht ein.

LG
totow

Teste mal vorher über den Gruppenmonitor in der ETS bei einer Jalousie deine fahrten zu den gewünschten Positionen. Wenn das so weit funktioniert wie gewünscht, dann schau mal im Gruppenmonitor was für Telegramme auf den BUS geschickt werden wenn die Befehle über HA abgesetzt werden.

Guter Tip - weil alles in der HA/KNX sonst gut läuft, hatte ich vermutet, dass es hier keine Probleme gibt. Habe mir noch einmal ein einfaches Szenario gebaut:

moin_duplizieren:
  alias: Test Jal Büro
  sequence:
  - service: cover.set_cover_position
    data:
      position: 90
    target:
      entity_id:
      - cover.buro_3_neben_fenster
      - cover.buro_4_kurier
  - service: cover.set_cover_position
    data:
      position: 50
    target:
      entity_id:
      - cover.buro_5_schreibtisch
  mode: single
  icon: mdi:coffee

Also 2 Jalousien auf 90% und eine auf 50%. Alle Positionen werden über die GA im Gruppenmonitor korrekt angefahren. Position 0% ist bei mir oben/offen und 100% ist unten/geschlossen. Ich habe den invert_position Parameter also nicht verwendet (der sollte also auf dem default ‘false’ stehen).

Wenn ich bei laufendem Monitor das Script abschiesse passiert Seltsames:

Die 90% des HA-Scripts kommen als 10% im Bus an => Jalousien fahren also bis kurz vor Ende oben.
Die 50% kommen zwar als 50% an, aber die Jalousie fährt erst ganz nach oben und dann runter auf die 50%.
Fall 1 klingt wie ein fehlender invert_position Parameter, obwohl laut Doku wohl richtig verwendet.
Fall 2 lässt mich rätseln

Kleines Update:
Ich habe mit dem invert_position gespeit und diesen (trotz geglaubten) defaults erst explizit ‘false’ gesetzt und dann auf ‘true’ gesetzt. Bei ‘false’ habe ich immerhin EINE richtige Fahrt geschafft, bei false habe ich in jeder Situation das rauf/runter-Spielchen.


I6.png)

Ich habe dann vermutet, dass die IST-Position ein PRoblem sein könnte:

  1. Auslesen mit dem ETS Gruppenmonitor. Das ist 100% identisch mit
  2. den Werten, die ich über Sensoren in HA einlese, aber
  3. ANDERS als es in den Zuständen steht.

Ich komme nicht weiter

Jal Test 3_2

Mach mal eine einfache Automatisierung und nutze den Service (Dienst) knx.send

Payload = Zielposition in Prozent
Value type = Datenpunktyp angeben (auf richtigen DPT achten ! ) in deinem Fall 5.001

Ich habe fast Tränen in den Augen, meine Jalousiemotoren auch und ich darf wieder Teil dieser Familie sein: ES FUNKTIONIERT !!
Automatisierung habe ich zwar nicht gemacht (ich raffe nicht, wie ich einen ‘manuellen’ Trigger setze und dachte immer eine Automatisierung ist nur ein Script mit ‘automatischem Trigger’). Wumpe… ein Script mit knx.send service tut, was es tun soll und übergibt saubere Werte an den Bus, der dann auch da macht, was man von ihm erwartet. Werde jetzt mal das Thema “tilt_position” in der selben Manier angehen.
Ich bin Enthusiast, weit weg von Versteher (auch wenn ich schon vieles gelernt habe) und kämpfe mich bei HA so durch.
Ohne Leute wie Dich hätte ich bestimmt nicht weitergemacht.
Also, vielen, vielen Dank !!!
Für mein Verständnis: hast Du eine Erklärung für die Phänomene ohne oder mir knx.send ?

Ich gehe jetzt mal das eigentliche Szenario an und hoffe, dass ich das so hinkriege

Nein, war nur eine Vermutung. :wink:

Nutze nur knx.send, z.B. um meine Beleuchtung im Vorraum beim öffnen der Eingangstür (Reedkontakt/Binäreingang) in Abhängigkeit der Helligkeit im Vorraum auf einen bestimmten Dimmwert einzuschalten und beim schließen der Tür zeitverzögert auszuschalten.

Für die Automatisierung brauchst nur einen Helfer als Trigger erstellen und den dann als Button verwenden.

Würde persönlich aber das ganze als Automatisierung lösen.
Aber letztendlich ist das Geschmackssache; viele Wege führ’n nach Rom.