FSB14 Open_Ack position event wird nicht getriggert

Begonnen von stoney49th, 30 Dezember 2017, 11:47:30

Vorheriges Thema - Nächstes Thema

stoney49th

HI,

habe eine neue Installation mit vielen FSB14 und habe folgendes festgestellt: Bei den aktuellen Aktoren wird beim senden von open_ack die position nicht auf 0 gesetzt. Da der Aktor bei den somfy motoren die ich habe nur dieses Kommando schickt, bleibt die Position auf dem letzten wert vor dem vollständigen öffnen stehen. Im schlimmsten Fall 100, kann aber jeder beliebige zwischenwert sein.

Ich habe das Problem behoben, in dem ich in 10_Enocean in Zeile 7119 noch push @event, "3:position:0"; eingefügt habe. Bei closed ist das jetzt schon der Fall, damit funktioniert der Case. Mit meiner Änderung zeigt fhem jetzt alles ziemlich genau an.

Könnte man das permantent übernehmen? Spricht ja nichts dagegen -> Wenn der aktor ein open_ack schickt, ist der Rollo offen und damit die Position immer 0.

Viele Grüße,
Stoney

klaus.schauer

In den vergangenen Jahren sind solche und andere Probleme mit der korrekten Anzeige der Position und mögliche Lösungen im Forum diskutiert worden. Bei der Vielzahl unterschiedlicher Versionsstände der Aktoren und Einsatzgebiete gibt es bei "Optimierungen" wie dieser Probleme an anderer Stelle, leider. Zielführender war eher die gute Parameterisierung über die diversen Akttribute.

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Porsti

Hi,

ich kenne auch dieses Problem.
Habe mir dafür ein DOIF gebaut.



define ROLLO_OPEN_ACK DOIF (["ROLLO:open_ack"])\
(setreading $DEVICE position 0)
attr ROLLO_OPEN_ACK do always



Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

stoney49th

#4
Ok, versteh ich...

...habe das DOIF nachgebaut. Danke für die Vorlage.

Hier meine version, nochmal generalisiert für alle Devices, funktioniert soweit ich sehen kann aber noch nicht so ganz:

define ROLLOS_OPEN_ACK DOIF (["^Rollo_:open_ack"]) (setreading $DEVICE position 0)
attr ROLLOS_OPEN_ACK do always


Starten die Rollos on oben (pos 0) dann funktioniert die Positionsanzeige. Starten sie von unten (pos 100) dann nicht...ich teste morgen noch etwas weiter.

stoney49th

Update:

Ich sehe folgendes:

Rolle offen (pos 0, open_ack) -> Fahre auf ~ Pos 60 mit Wandtaster, anzeige stimmt (pos 60, stop) -> fahren bis ganz geschlossen (pos 100, closed) -> fahren mit wandtaster auf ca. pos 60, dann zeigt er ca. pos 20 an.

das lässt sich mit dem gleichen offset (letzter wert bevor der rollo ganz zugefahren wurde) beliebig wiederholen. Er scheint dann intern immer mit dem letzten wert von "stop" zu fahren. Ein open_ack setzt aber wie gewünscht zurück. Meine Modifikation habe ich mittlerweile wieder entfernt. Kann es sein das intern eine Variable in 10_EnO noch auf dem falschen Wert steht?

Grüße,
Lukas

Brasletti

Die Startposition kanns du dir mit
attr global showInternalValues 1
mit anschließendem list für das entsprechende Device anzeigen lassen.

EisNerd

Moin,
da ich das gleiche Problem habe, wollte ich mal Fragen, ob es hier eine abschließende Lösung gegeben hat, danke.
Openindiana Server FHEM in Zone via FGW14-USB an FAM14 mit Eltako RS485 Aktoren (FSB14 und FSR14-2x und 4x)

Porsti

Hi,

Ihr solltet euch das Modul mal genauer anschauen:


https://forum.fhem.de/index.php/topic,88811.0.html


Dort werdet ihr die Lösung zu eurem Problem finden.

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)