Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift

Begonnen von gibacht, 18 Dezember 2014, 08:38:46

Vorheriges Thema - Nächstes Thema

gibacht

Hallo,

ich habe hier gerade ein Problem und bin mir nicht sicher wie ich es am Besten löse...

Aktuell baue ich einen TVlift, der meinen Fernsehr in der Decke verschwinden lassen soll.
Dazu habe ich einen Rolladenmotor für die vertikale Bewegung (Teleskoprohr), benannt mit "innnen", und einen für den Klappmechanismus, benannt mit "aussen", verbaut. (Skizze anbei). Beide werden mit einem HM-LC-Bl1PBU gesteuert. Die Aktionen (Hoch/Runter) sollen auschliesslich über Fhem ausgeführt werden.

Beim herunterlassen soll, wenn der Vorgabewert von "aussen"> 60 ist der motor "innen" zugeschaltet werden. Z.B. aussen.pct 80 => innen.pct 50.

Damit der Fernseher nicht mit der Wand kollidiert, ist es wichtig, dass der Motor "innen" beim herauffahren des "aussen", also < 60 auch tatsächlich auf der Position 0 steht.

Bei meinen bisherigen Testszenarien hatte ich immer Probleme mit dem gleichzeitigen Starten der Motoren, die durch die unterschiedlichen Signal- bzw. Sendeverzögerungen (CUL) auftreten. Damit verbunden sind weitere Probleme mit den Drahtseilen, die bei nicht gleichzeitigem Anlauf erschlaffen.

Freue mich über jede Idee...

Viele Grüße
Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

gibacht

Schade, hat wirklich keiner Idee?
Ich dachte das wäre evtl.auch für andere interessant...
Kann man ggfs. beim peeren Bereiche definieren? oder kann man vielleicht die Priorität der Befehle beeinflusssen?

Grüße Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

rolladenaktoren von HM sind zeitgesteuert. Du benötigtst auch einen ist-wert lesen. Da musst deutlich mehr investieren and Aufwand. Ob schlussendlich ein Rolladenaktor sinn macht wäre mit nicht klar. Evlt reicht ein einfacher schaltern. wichtig sind die Sensoren!

gibacht

#3
Danke für Deine Antwort!
OK, man könnte zur Sicherheit einen Fensterkontakt zweckentsfremden um eine evtl. falsches pct-Reading zu verifizieren.
Welche Art von Schaltern wäre denn Deiner Meinung nach geeignet?
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

wie sieht die motorsteuerung aus? Sind da endschalter? Die brauchst du sowieso.
wievielen positionen sollten ansteuerbar sein?
nachdem du 2 Richtungen fahren willst - (oder kippt der automatisch?) solltest du erkennen, welcher Motor in welchem Segment ist. Endschalter zur Motorsteuerung brauchst du sowieso.
Wenn du einen 8-kanal sensor nimmst und schalter einbaust kannst du die verschiedenen Stellungen abfragen....
aber ich kenne weder deinen motor noch die mechanik gut genug um zu wissen, was machbar ist.
Einen Motor kannst du auch mit einem normalen Schalter einschalten - auch mit timern (also on for 10 sec...)

gibacht

Es soll nur die Funktion auf und zu geben. runtergfahren: Beide 100; hochgefahren: Beide 0

Das ist eigentlich alles schon fertig und funktioniert. Die Rolladenmotoren haben von Haus aus einen (einstellbaren)  Endabschalter in der Position 0 und 100. Mein Problem ist, dass beim Startbefehl für beide Motoren eine zeitl. Verzögerung auftritt. Also "innen" startet z.B. sofort und bei "aussen" dauert es dann 1-2 oder auch mal 3 Sek..  Beim Runterfahren startet "aussen" und bei 60% wird "innen" zugeschaltet.

Beim herauffahren stoppe ich erst einmal aussen bei 60% und frage per ReadingsVal des "innen" den pct ab. Dann kommt, wenn "innnen" 0 liefert, der zweite Schritt um ganz hoch zu fahren.
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

ah - ok.
du hast 2 Aktoren und steuerst beide quasi separat an?
mache es über einen virtuellen Button.
peere beide Aktoren mit einem (besser 2) buttons. Einer für auf, einer für zu.

define vb CUL_HM 123456
set vb virtual 2
set vb_Btn1 peerChan 0 mot1 dual set both
set vb_Btn1 peerChan 0 mot2 dual set both

save # nicht vergessen - sind virtuellen aktoren.

dann machen ein
set vb_Btn1 press
oder
set vb_Btn2 press

Das ist max synchron - beide aktoren werden mit der identischen message gestartet.
ein button sollte öffnen, einer schliessen sein.


gibacht

#7
Ok, ich glaube wir kommen der Sache näher...
Ja, ich habe zwei Motoren und zwei Aktoren, die separat angesteuert werden.

Beim Herunterfahren sollen nicht beide gleichzeitig starten, sondern versetzt.

Runter
Motor "aussen"
0----------------------------------------60------------------------------100
Motor "innnen"
#########nichts#########0------------------------------100


*************************************************

Hoch
Motor "innen"
100------------------------0#############nichts#######
Motor "aussen"
100------------------------60--------------------------------------------0

Könnte man das auch in den Peer bzw.in die virt. Buttons einbauen?, oder wa würdest Du empfehlen?

Vielen Dank für Deine Unterstützung!!!
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

ZitatKönnte man das auch in den Peer bzw.in die virt. Buttons einbauen?, oder wa würdest Du empfehlen?
klar.
mit dem runter button triggerst du beide Motoren gleichzeitig. Motor aussen fährt sofort los. Bei motor innen programmierst du einen delayOn von ~50sec. dann wartet er nach dem trigger 50 sec und startet.

bei noch ist es einfach. beide starten sofort, der eine ist eben schneller fertig.

Was nicht geht (auf diesem Wege) ist eine wirkliche kopplung der Motoren - also nach dem gegenseitigen Zustand. Aber wenn du immer nur komplett auf und zu machen willst ist es kein Problem.
Sollte es sicherheitsrelevant sein (Fernseher stösst ggf an und irgendetwas bricht ab) musst du dir etwas überlegen. Wer kann wo stoppen und neu starten... in welchen Stellungen kann der Motor stehen bleiben.... und dann wohin starten.

gibacht

Ok, bzw. fast..., bin ja noch nicht so der Spezi...
Könntest Du Deinen Ansatz etwas konkreter formulieren?
Mir ist noch nicht klar wie ich den Trigger und den DelayOn einbauen kann.

HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

Lege erst einmal die virtuelen buttons an und peere diese. Both ist default - und wichtig. Dann sind die grundeinstellungen i. Den aktoren schon sehr nahe am ziel.
Sofort danach kannst du schon den trigger senden - also ein press des buttons. Die motoren sollten gleichzeitig anfangen zu fahfen. Jeder inseine endposition. Die fahrdauer hast du im aktor sicher schon vorgegeben. Hat ja mit den peeren nichts zu tun.
Wenn das alles steht ist nur noch ein register im verzoegerten motor zu setzten, das mit dem delay

gibacht

#11
Hallo,

die virt. Buttons habe ich drin und die Motoren laufen beide synchron an  8)
Nur habe ich keine Ahnung wie ich das Delayon in das Register bekomme...
(Die Verzögerung darf ja auch nur beim Runterfahren eintreten)

Grüße
Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

martinp876

schalte expert auf 1, dann siehst du alle register.
nun suche ein
R-<peer>-shOnDly

das solltest du für den entsprechenden button ändern - es steht normal auf 0, also keine verzögerung.

set <blindActor1>regSet shOnDly 50 <button1>
dann wird Aktor 1 nach trigger von Button1 erst einmal 50sec warten, dann starten.

gibacht

HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

gibacht

So, das Projekt schreitet voran und wird auch umfangreicher, so dass ich noch einmal um Meinung / Vorschläge bitte...

Mittlerweile ist ein weiterer (Rolladen-)Motor für die Deckenöffnung hinzugekommen. Hier möchte ich zur Sicherheit mit einem Sensor die Öffnung der Deckenöffnung verifizieren, genauso wie die mögliche Kollision mit der Wand.

Das neue bzw. erweiterte Szenario sieht also folgender Maßen aus:

Motor 1: TV hoch-/runterschwenken
Motor 2: TV vertikal hoch/runter - mit Sensor (1) zur Prüfung, ob...
Motor 3: Deckenöffnung auf/ zu - mit Sensor (2) zur Prüfung, ob ...

Die Sensoren habe ich noch nicht. Nach meinem Dafürhalten kämen dafür entweder der Zweifachtaster HM-PB-2-WM55 oder der optische Fensterkontakt HM-Sec-SCo in Frage.

Funktion 1 (TV runter):
Motor 3 starten, wenn fertig (20s), dann Motor 1 starten, nach der halben Fahrt (14s) Motor 2 starten.
Wenn Sendor 2 geschlossen meldet, alle Motoren abschalten.

Funktion 2 (TV hoch):
Motor 2 und Motor 1 gleichzeitig starten. Wenn fertig (28s), Motor 3 starten.
Wenn Sensor 1 oder Sensor 2 geschlossen meldet, alle Motoren abschalten.

Ich weiß nicht, wie ich den Motor drei einbinden könnte, bzw. wie das Peering aussehen könnte und auf welche Weise die Sensoren zu integrieren sind und bitte um Vorschläge.

Gruß
Dirk

HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.