FHEM Forum

FHEM => Sonstiges => Thema gestartet von: FHEM16 am 22 Juli 2018, 13:24:42

Titel: Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 13:24:42
Hallo zusammen,

ich steuere einige Rollläden über SIGNALduino & CUL und habe leider ein Problem, wo ich keine zuverlässige Lösung finde.

Das Problem ist, dass ein Rollladen nicht angesprochen wird, wenn der Befehl vom vorherigen noch nicht 100% beendet ist.
Aktuell steht bei mir vor jedem Befehl sleep 10; sleep 20; sleep 30; .... und somit wird erst nach 10 Sekunden der nächste Rollladen angesprochen.

Das Attribut wait kann ich auch nicht verwenden, da z.B. in dem DOIF auch andere Befehle ausgeführt werden, die keine Verzögerungen haben dürfen.

Ich würde gerne etwas über Eure Umsetzung erfahren um mehrere Rollläden direkt hintereinander anzusteuern um meine Rollladensteuerung optimieren zu können.

Vielen Dank im Voraus für Eure Informationen und viele Grüße
Fhem16
Titel: Antw:Rolladenstruerung
Beitrag von: rudolfkoenig am 22 Juli 2018, 17:38:58
Haengt vom verwendeten Funkprotokoll ab: z.Bsp. bei FS20 versendet das FHEM Modul 00_CUL.pm die Signale so, dass es keine Ueberschneidung gibt, im Hintergrund, ohne Blockierung, automatisch. Auch bei ZWave wird darauf geachtet, dass die einzelnen Befehle nacheinander abgeschickt werden. Nur bei Mischen der Protokolle muss der Benutzer was ueberlegen, dafuer gibt es aber im Structure das asyncWait Attribut. Allerdings kommit mir 10s ziemlich viel vor, ich haette eher was im Bereich von 0.2s, je nach Protokoll auch weniger.

So ganz ohne SIGNALduino und DOIF :)
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 18:14:15
Es werden nur SOMFY Rollläden angesprochen

über den CUL habe ich bei 5 Sekunden Verzögerung weniger Probleme bemerkt und bei SIGNALduino funktioniert es bei 5 Sekunden nicht und ich benötige eine längere Verzögerung.
Ich kann auch keine genauen Zeiten sagen, da ich nur mit den sleep Zeiten im DOIF teste.

Was bedeutet das "asyncWait" Attribut? kann ich da etwas einstellen/prüfen? Mein Ziel ist es z.B. 10 set pos direkt an verschiedene Rollläden zu senden und alle Rollläden fahren ohne Störung an die angegeben Position (das ist momentan ohne sleep Verzögerung nicht möglich).

Vielleicht habe ich auch grundsätzlich einen Denkfehler oder mache etwas anderes falsch...
Titel: Antw:Rolladenstruerung
Beitrag von: rudolfkoenig am 22 Juli 2018, 18:18:11
ZitatWas bedeutet das "asyncWait" Attribut?

Sorry mein Fehler, es heisst async_delay:
Zitatasync_delay
If this attribute is defined, unfiltered set commands will not be executed in the clients immediately. Instead, they are added to a queue to be executed later. The set command returns immediately, whereas the clients will be set timer-driven, one at a time. The delay between two timercalls is given by the value of async_delay (in seconds) and may be 0 for fastest possible execution.  This way, excessive delays often known from large structures, can be broken down in smaller junks.
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 18:31:08
Ich denke, mir fehlt eine wichtige Information um das async_delay Attribut verwenden zu können :(
Im CUL und bei den Rollläden sehe ich es nicht und habe keine Idee wo ich das Attribut anpassen kann...

Wo finde ich das Attribut und mit welchem Wert würdest Du starten?

Sorry aber ich bin wohl gerade vollkommen auf dem Holzweg :(
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 18:36:07
OK ich muss vermutlich eine structure anlegen ... habe ich bisher noch nicht gemacht.
Könntest Du mir bitte Starthilfe geben, wenn ich 10 Rollläden unabhängig ansprechen möchte?
Titel: Antw:Rolladenstruerung
Beitrag von: rudolfkoenig am 22 Juli 2018, 18:48:34
structure ist fuers gemeinsame Schalten aller Mitgliedsgeraete zustaendig.
Wenn du die Geraete in beliebiger Kombination schalten willst, dann muss diese Behandlung im FHEM-Modul oder im Firmware erfolgen.
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 18:53:19
OK dann ist structure auch nicht meine Lösung da ich jeden Rollladen einzeln (aber mehrere direkt hintereinander) ansprechen möchte
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 19:11:19
Ich habe es jetzt mal mit einer structure (3 Rollläden und async_delay = 0.2) getestet und alle Rollläden wurden richtig angefahren.
... spricht etwas dagegen eine structure für jeden Rollladen (also jeweils nur ein Rollladen und mit async_delay) anzulegen und die Rollläden dann nicht mehr direkt sondern nur über diese direkte structure anzusprechen?
Titel: Antw:Rolladenstruerung
Beitrag von: rudolfkoenig am 22 Juli 2018, 19:32:16
Ja, es bringt nichts :)

structure setzt fuer alle Mitglieder das set Befehl nacheinnander ab, und fuegt async_delay dazwischen ein.
Wenn man nur ein Mitglied hat....
Titel: Antw:Rolladenstruerung
Beitrag von: FHEM16 am 22 Juli 2018, 19:38:36
OK :( war wohl wieder nichts
Leider sollen die Rollläden alle unterschiedlich angefahren werden... ich erstelle mir aber eine neue structure mit allen Rollläden und bei Feuer fahren dann alle Rollläden hoch ;)

Auf jeden Fall vielen Dank für den Hinweis auf structure (war bei mir noch eingebunden)