Eltako FJ62NP Rollo Stop programmieren

Begonnen von prenzela, 14 April 2024, 20:34:18

Vorheriges Thema - Nächstes Thema

prenzela

Hallo zusammen.

ich habe einen Eltako FT55R Taster lokal an einem Rolladenaktor FJ62NP angelernt. Damit fahren die Rollos aus und ab und stoppen wenn im Fahrbetrieb die Taste ein weiteres Mal gedrückt wird.

Leider reicht das Signal einem in einem weitern Raum befindlichen FT55R nicht zu dessen FJ62NP (Funkstrecke zu weit) , aber bis zur FHEM Basis klappte es noch ;-) . Diese wiederum kann den FJ62NP steuern. Nur funktioniert das Stoppen des Rollos bei zweitem Tastendruck nicht. Er fährt immer bis in die jeweils andere Endlage durch. In ähnlich gelagerten Beiträgen wird von einer Lösung über DOIF gesprochen. Ich habe es leider noch nicht hinbekommen. Kann mir bitte jemand mit dem entsprechenden Code weiterhelfen ?

Ich habe diese zwei Zeilen programmiert

define n_R_EG_Kueche_up notify EnO_FEDED235:B0 set R_EG_Kueche opens
define n_R_EG_Kueche_down notify EnO_FEDED235:BI set R_EG_Kueche closes

Damit fährt er eben nach Tastendruck komplett durch. Ein weiterer Tastendruck würde ja wieder ein opens / closes senden.  Wie baut man hier ein DOIF ein, damit bei einem zweiten Tastendruck ein R_EG_Kueche stop gesendet wird ?

Danke
Andreas


Flachzange

Von der Logik willst Du ja folgendes. Drückt man die/irgendeine Taste, soll der Aktor stoppen, wenn er gerade in Bewegung ist. Also das geht auch einfach mit notify, aber da ich bei mir alles mit DOIF mache, auf die Schnelle mit DOIF. Vorschlag:

define <NAME> DOIF

Dann in DEF:

(([?R_EG_Kueche] eq "up" or [?R_EG_Kueche] eq "down") and ["EnO_FEDED235:(B0|BI)"]) (set R_EG_Kueche stop)
attr do always

ungetestet ;)

prenzela

Hi, danke für die schnelle Hilfe. Aber es klappt noch nicht.
Er checkt den zweiten Tastendruck, stoppt kurz und fährt dann weiter in die Endlage...

Flachzange

Ja Mist, weil Deine Notifies natürlich triggern. Also Notifies deaktivieren und mal so:

(([?R_EG_Kueche] eq "up" or [?R_EG_Kueche] eq "down") and ["EnO_FEDED235:(B0|BI)"]) (set R_EG_Kueche stop)
DOELSEIF(["EnO_FEDED235:B0"]) (set R_EG_Kueche opens)
DOELSEIF(["EnO_FEDED235:BI"]) (set R_EG_Kueche closes)

Dann aber das Attribut do always löschen.


prenzela

#4
Hi, das hat funktioniert.

Im Nebenraum mit dem gleichen Funkproblem ist ein weiterer Taster an einem weiteren FJ62NP.

Weitere Baustelle wäre FTUI .

Wie wäre denn hier der Code zu verändern, damit bei zweitem Druck auf die Schaltfläche das Rollo anhält ?

 
          <ftui-button @click="sendFhem('set R_EG_Kueche closes')" direction="vertical" color="current" fill="none"
                       margin="-1em">
            <ftui-icon name="angle-down" class="size-1" height="90%"></ftui-icon>
            <ftui-label>Ab</ftui-label>

Flachzange

#5
Zitat von: prenzela am 15 April 2024, 13:07:02Wie wäre denn hier der Code zu verändern, damit bei zweitem Druck auf die Schaltfläche das Rollo anhält ?

Du kannst einfach so tun als würde der Taster gedrückt:

@click="sendFhem('set EnO_FEDED235 BI')
Das tut real zwar nichts, löst aber ein Event aus, auf das wiederum das DOIF triggert. Alternativ kann man auch das DOIF direkt triggern

Flachzange

Alternativ könntest Du auch mal testen, ob und wie gut es funktioniert, wenn Du das TCM im FHEM selbst als Repeater nutzt, dann brauchst Du außer für FTUI gar keine Logik.

Zitatrepeater [0000|0101|0102]
Set Repeater Level: off = 0000, 1 = 0101, 2 = 0102.