FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: gibacht am 18 Dezember 2014, 08:38:46

Titel: Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 18 Dezember 2014, 08:38:46
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
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 20 Dezember 2014, 10:03:20
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
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 20 Dezember 2014, 11:32:58
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!
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 20 Dezember 2014, 12:21:43
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?
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 20 Dezember 2014, 17:06:24
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...)
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 20 Dezember 2014, 17:41:34
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.
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 20 Dezember 2014, 19:20:17
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.

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 20 Dezember 2014, 19:36:05
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!!!
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 20 Dezember 2014, 19:57:06
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.
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 20 Dezember 2014, 20:36:29
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.

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 21 Dezember 2014, 09:58:59
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
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 21 Dezember 2014, 12:54:55
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
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 21 Dezember 2014, 14:55:44
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.
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 21 Dezember 2014, 15:59:02
Funktioniert....
Vielen Dank!
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 30 Januar 2015, 11:20:46
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

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 31 Januar 2015, 20:36:06
wenn du immer vom Endzustand her schaltest ist es doch nicht so schwer:
taster tvnoch ist ein peer in allen Motoren. das delay stellst du ein für jeden.
bei runter das gleiche.
fertig.

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 15 März 2015, 09:10:46
Hallo,

melde mich anach einiger Zeit noch einmal. (Das Tapezieren usw. dauert länger als erwartet).
Ich habe da noch eine Frage zu der Kollistionsvermeidung für die beiden Aktionen (TV runter / TV hoch).

Bei runter muß zuerst die Luke (mot3) geöffnet werden, bevor mot und mot2 (mit delay) startet. Tja, Kopfzerbechen... würde hier einen opt. Fensterkontakt als Sensor einbauen.

1. Idee
Aufnehmen des mot3 in den vb_btn? Aber wie kann ich sicherstellen, dass mot3 tatsächlich seine Stellung erreicht hat? Kann man den Fensterkontakt irgendwie in die Peerings einbinden?

2.Idee
Die Aktion über einen Dummy den Vorgang starten. Der mot3 startet (Laufzeit 20s) und dann, falls Fensterkontakt closed (If-Anweisung), mot1 mot2 startet? Hier müsste ich ein sleep einbauen, der mir Fhem lahm legt...

Bei hoch startet mot2 und mot1 gleichzeitig. Hier möchte ich auch einen opt. Fensterkontakt anbringen, der im Erntfall (closed) den Vorgang abbricht.

Grüße
Dirk

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 15 März 2015, 12:57:01
du hast sicher 2 optionen: Du baust einen Ablauf und hast ein gewisses Vertrauen, dass es so käuft. oder du prüfst alle Zustände mittels sensoren ab - das Fahre wird dann mittels der Sensoren gesteuert. Spätestens wenn du den 2. Fall implementierst würde ich die Steuerung über die Zentrale machen.... glaube ich.

Im ersten Fall sehe ich keine wirkliche Schwierigkeit, einen Ablauf zu gestalten. Wenn es sicherheitsrelevant ist musst du sensoren einbauen. Im einfachsten eine art notaus - wenn es zu einer Kollision kommen würden schaltest du hart die Spannung der Motoren weg - alles stop.
Im Normalfall (min 99,98% :) ) muss es klappen. eins aus tausend kommt es zum Stop und du musst frisch einrichten. ...


Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 15 März 2015, 13:41:53
OK, danke für die Info. Da ja auch einmal ein Motor ausfallen kann und dann bei einer Kollision mit der Wand der TV schlimmstenfalls hin ist, werde ich die Sensoren einbauen. Ich denke ich werde eine Kombi aus Notaus Sensor1 (Beim Hochfahren Kollision mit der Wand --> Notaus) und die Sache mit der Luke mache ich dann so, dass der Fensterkontakt (Sensor3) den Befehl zum Runterfahren auslöst...
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 15 August 2015, 11:01:43
Hallo,

ich brauche noch einmal eine Info...

Wie kann man einen Kanal eines HM-MOD-Em-8 mit dem Jalousieaktor peeren so, dass beim Auslösen des Tasters eine evtl. Motorktivität sofort stoppt? und nicht, wenn der Motor nicht läuft diesen startet?

Geht das überhaupt?

Grüße Dirk

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 16 August 2015, 13:08:27
Einsteigerdoc lesen und HM Prinzip verstehen:
ein Sensor sendet einen Trigger. Manchmal mit einem Zusatzwert (Bewegungsmelder: Helligkeit).
Alles andere macht der Aktor. Der erkennt die Triggerquelle und reagiert wie DORT programmiert.

Stelle also die Statemachine des entsprechend funktioniert.
Siehe auch HMInfo templates.
Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 21 August 2015, 18:04:18
Hallo Leute, Hallo Martin,

die Einsteigerdoku habe ich gelesen, aber irgendwie habe ich ein Problem beim Verstehen. Die Registerlogik erchliesst sich mir nicht, bei den ganzen Register-Bezeichnungen und -Kürzeln. Vielleicht ist auch die aktuelle Anforderung nicht unbedingt als Peering-Einstiegsprojekt 9geeignet. Bitte helft mir...

Mittlerweile habe ich den Sensor... also einen HM-MOD-Em-8.

Dieser soll am ersten Kanal einen Taster bekommen, der einen Kontakt liefert, wenn eine Kollision mit der Wand auftreten sollte.
Das hatte ich bereits in einem neuem Thema beschrieben, ab da komme ich nicht weiter. Deswegen hier im Zusammenhang mit den Basisinformationen zum TVLift, was evtl. dann auch für andere interessant sein könnte.... Wenn alles läuft gibt es ein Video. ;-)

Die mögliche Kollision kann nur entstehen, wenn der Mot2 nicht läuft und Mot1 den TV hochzieht. (Bild anbei).
Also müsste der HM-MOD-Em-8 (8-KanalSender) beim Auslösen des Tasters ein Stopp an den HM-LC-Bl1PBU-FM (Jalousieaktor) weitergeben.
(Wenn Mot1 und Mot2 steht darf natürlich auch nicht gestartet werden).

Grüße Dirk




Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: martinp876 am 22 August 2015, 10:38:14
das einsteigerdoc sollte es klären:
ein Button liefert NIE stop/start/toggle oder sonst was. Er liefert "ich bin kurz gedrückt worden" oder bei Lang "ich werde gerade lang gedrückt" - was alle 0,4sec weiderholt wird bis du los lässt.
ein "sensor-taster" wie ein Bewegungsmelder liefert dazu noch einen Wert wie in diesem Fall die Helligkeit. Ein "long" gibt es hier nur theoretisch.

Alles andere ist Sache es Aktors. der hat für jeden peer separate Eintellungen - also für jedenButton und für diese eine für long und eine für short.  Das sollte man aus dem Einsteigerdoc erkennen können - dann darf man nicht mehr fragen, wie ein Button ein Stop senden kann - kann er nicht.

Der Aktor hat eine Statemachine. er ist immer in einem "Zustand" wir an/aus/wartenAufAn.... dazu gibt es Bilder im Einsteigerdoc. Wenn nun ein trigger eines Peers kommt, den der Aktor kennt wird geprüft:
ich bin im Zustand "an", es kommt ein trigger von Peer-X, der ist "short". Was steht in "Peer-x-kurz-an" ="R-Peer-x-shOn"? wenn da steht "off" gehe in den Zustand "off", gehe nicht über Los, ziehe keine 400€ ein. Das Licht geht aus.
Wenn da steht "on" gehe nach "on" - da sind wir schon, also passiert (fast) nichts. Es gibt den Timer "peer-x-shOnTime" - also "kurz-Peer-x-An-Dauer". Wenn da steht 30 bleibt der Aktor 30sec in "an". danach geht es dem Kreis rum weiter - nach offDelay, nach off. wenn in shOffTimer nicht infinite steht geht es nach Ablauf dieses Timers weiter nach onDelay, nach on. Das kannst du nun endlos blinken lassen, wenn du die Timer so einstellst - bis eben ein anderer Trigger die Werte überschreibt.

Einfach einmal die Namen übersetzen und die Bilder mit den Pfeilen ansehen.
schon einmal get regList eingegeben?

Beachte, dass die aktoren nur auf trigger reagieren, nicht auf externe Zustände. wenn also ein Sensor (button) einen trigger schickt kann der Aktor NICHT prufen, in welchen Zustand ein anderer Sensor ist. Das kann nur die Zentrale.

Titel: Antw:Zwei HM-LC-Bl1PBU Rolladenmotoren schalten - TV-Lift
Beitrag von: gibacht am 24 August 2015, 07:43:58
Hallo,

ich habe jetzt die Register wie folgt definiert...

set TVLift.schwenken regSet lgBlJtOff off TVLift.sich.ch1 (von dlyOn)
set TVLift.schwenken regSet lgBlJtOn off TVLift.sich.ch1 (von dlyOff)
set TVLift.schwenken regSet shBlJtOff off TVLift.sich.ch1 (von dlyOn)
set TVLift.schwenken regSet shBlJtOn off TVLift.sich.ch1 (von dlyOff)

Es funktioniert. Vielen Dank für die Hilfe!

Grüße Dirk