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

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

Vorheriges Thema - Nächstes Thema

martinp876

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.


gibacht

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

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

martinp876

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. ...



gibacht

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...
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

gibacht

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

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

martinp876

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.

gibacht

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




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

martinp876

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.


gibacht

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
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.