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
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.
Schade, ich kenne leider auch das Problem >:(
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
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.
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
Die Startposition kanns du dir mit
attr global showInternalValues 1
mit anschließendem list für das entsprechende Device anzeigen lassen.
Moin,
da ich das gleiche Problem habe, wollte ich mal Fragen, ob es hier eine abschließende Lösung gegeben hat, danke.
Hi,
Ihr solltet euch das Modul mal genauer anschauen:
https://forum.fhem.de/index.php/topic,88811.0.html
(https://forum.fhem.de/index.php/topic,88811.0.html)
Dort werdet ihr die Lösung zu eurem Problem finden.
Gruß
Porsti