Hallo zusammen,
ich möchte den HM-LC-SW4-BA-PCB gerne als Rollo schalter nehmen.
Dafür würde ich gerne ein Timer setzen. Ich habe schon viel über die Register gelesen aber nicht verstanden.
Hat vielleicht jemand die Geduld mir anhand meines Beispiels zu sagen wie es geht?
Eingerichtet ist:
WC_Fenster
WC_Fenster_down (Kanal4)
WC_Fenster_up (Kanal3)
Kanal 1 und 2 wird derzeit nicht benutzt.
Das Rollo kann über die internen Taster und über FHEM gesteuert werden. FHEM funktioniert einwandfrei!
Zweite frage wäre auch, ist es möglich die Relais zu verriegeln? Ich kann auch Kanal 1 und 2 als Taster nehmen und die Relais Kanal 3 und 4.
Viele Grüße
Tim
Hallo,
sag mal etwas mehr über Dein Vorhaben.
Wie werden die Rollos jetzt geschaltet (Original oder HM-Rolloschalter) ?
Was hast Du da jetzt schon eingerichtet ? - poste doch mal diesen Teil Deiner Config.
Wie möchtest Du oder hast Du den Schalter an das Rollo angelernt ?
Da gibt es so viele Möglichkeiten, das ein bisschen mehr Information benötigt wird.
Gruß Christoph
OK versuche ich das mal :-)
Der HM-LC-SW4-BA-PCB soll mein Rollo steuern. Dran hängen 2 Relais die gegenseitig aus Sicherheitsgründen verriegelt sind!
Ziel ist es die Rollos über FHEM Zeitabhängig zu steuern. (Funktioniert einwandfrei)
Jetzt möchte meine Frau die Rollos aber auch am Rollo (Ohne Rechner IPAD oder ähnliches) runter oder hoch fahren können. (Z.B. wegen Sonneneinstrahlung)
Dafür möchte ich die Taster am Aktor nutzen. Aber wenn die Taste nun gedrückt wird bleibt das Relai immer an bis die Taste wieder gedrückt wird. Genau das möchte ich nicht. Das Rollo läuft beispielsweise 15Sekunden runter und 20Sekunden hoch. Also wäre es super wenn ich diese Zeit fest (ohne FHEM) vorgeben könnte.
Ein kleines Problem ist das nicht beide Relais gleichzeitig geschaltet werden dürfen. (könnte ich aber noch hinnehmen für diesen Sonderfall)
Ich hoffe du hast es verstanden was ich machen will.
#*** Wohnzimmer ***
define Wohnzimmer_Tuer CUL_HM 28A47C
attr Wohnzimmer_Tuer IODev hmusb
attr Wohnzimmer_Tuer autoReadReg 4_reqStatus
attr Wohnzimmer_Tuer expert 2_full
attr Wohnzimmer_Tuer firmware 1.1
attr Wohnzimmer_Tuer model HM-LC-SW4-BA-PCB
attr Wohnzimmer_Tuer msgRepeat 1
attr Wohnzimmer_Tuer serialNr LEQ0412123
attr Wohnzimmer_Tuer subType switch
attr Wohnzimmer_Tuer webCmd getConfig:clear msgEvents
define FileLog_Wohnzimmer_Tuer FileLog ./log/Wohnzimmer_Tuer-%Y.log Wohnzimmer_Tuer
attr FileLog_Wohnzimmer_Tuer logtype text
attr FileLog_Wohnzimmer_Tuer room FileLog
define Wohnzimmer_Tuer_Sw_up CUL_HM 28A47C01
attr Wohnzimmer_Tuer_Sw_up group Wohnzimmer
attr Wohnzimmer_Tuer_Sw_up model HM-LC-SW4-BA-PCB
attr Wohnzimmer_Tuer_Sw_up peerIDs 00000000,
attr Wohnzimmer_Tuer_Sw_up room hidden
attr Wohnzimmer_Tuer_Sw_up webCmd statusRequest:toggle:on:off
define Wohnzimmer_Tuer_Sw_down CUL_HM 28A47C02
attr Wohnzimmer_Tuer_Sw_down group Wohnzimmer
attr Wohnzimmer_Tuer_Sw_down model HM-LC-SW4-BA-PCB
attr Wohnzimmer_Tuer_Sw_down peerIDs 00000000,
attr Wohnzimmer_Tuer_Sw_down room hidden
attr Wohnzimmer_Tuer_Sw_down webCmd statusRequest:toggle:on:off
define Wohnzimmer_Tuer_down CUL_HM 28A47C03
attr Wohnzimmer_Tuer_down group Wohnzimmer
attr Wohnzimmer_Tuer_down model HM-LC-SW4-BA-PCB
attr Wohnzimmer_Tuer_down peerIDs 00000000,
attr Wohnzimmer_Tuer_down room hidden
attr Wohnzimmer_Tuer_down webCmd statusRequest:toggle:on:off
define Wohnzimmer_Tuer_up CUL_HM 28A47C04
attr Wohnzimmer_Tuer_up group Wohnzimmer
attr Wohnzimmer_Tuer_up model HM-LC-SW4-BA-PCB
attr Wohnzimmer_Tuer_up peerIDs 00000000,
attr Wohnzimmer_Tuer_up room hidden
attr Wohnzimmer_Tuer_up webCmd statusRequest:toggle:on:off
define WZT_dummy dummy
attr WZT_dummy alias Rollo Wohnzimmertür
attr WZT_dummy eventMap zu:shutter_closed auf:shutter_open
attr WZT_dummy group Rollos
attr WZT_dummy room Fenster/Türen
attr WZT_dummy webCmd zu:auf
define WZT_zu notify WZT_dummy:zu {\
fhem("set Wohnzimmer_Tuer_up off");;\
fhem("set Wohnzimmer_Tuer_down on-for-timer 25");;\
}
define WZT_auf notify WZT_dummy:auf {\
fhem("set Wohnzimmer_Tuer_down off");;\
fhem("set Wohnzimmer_Tuer_up on-for-timer 30");;\
}
define Wohnzimmer_Tuer_down_an at *{sunset(0,"17:30","21:30")} set WZT_dummy zu
define Wohnzimmer_Tuer_up_an at *{sunrise(0,"06:45","08:00")} set WZT_dummy auf
Viele Grüße
Tim
Hallo Tim,
Dan legen wir mal los.
Also am Kanal des Gerätes gibt es ein Register "timedOn". Diese steht standardmäßig auf "off". Hier kann man mit "set Kanal regSet timedOn 15" eine Onzeit einstellen. Danach sollte das Gerät selber wieder auf "off" gehen.
Wie werden die Rollos denn jetzt geschaltet. Da muss es vor fhem doch schon einen Schalter gegeben haben. Meine Überlegung wäre mittels Relais die Tastendrücke auf die alte Bedieneinheit zu simulieren. Dann müsste ich mich nicht um die Verriegelung kümmern - es sei denn diese wäre mechanisch gemacht.
Ansonsten müsste man eine Verriegelung mit einem Relais aufbauen. Wenn Kanal 1 gedrückt, wird einfach der Ausgang von Kanal 2 elektrisch unterbrochen. Dann kann nichts passieren, Kanal 1 hat dann immer "Vorrang".
Gruß Christoph
Hallo Christoph,
die Hardware mäßige Verriegelung ist schon da. Damit habe ich kein Problem vor allem dann nicht wenn die Relais sicher nach 15 Sekunden ausschalten.
Hab ich das richtig verstanden:
Ich kann jedem Kanal eine Zeit zuweisen mit dem Befehl?!
Und die 15 Sekunden sind auch noch drin wenn Fhem mal nicht online ist?!
Hab da noch eine Frage:
Und kann ich die internen Taster von den Aktoren trennen?
Viele Grüße
Tim
Hallo,
Hab ich das richtig verstanden:
Ich kann jedem Kanal eine Zeit zuweisen mit dem Befehl?!
Und die 15 Sekunden sind auch noch drin wenn Fhem mal nicht online ist?!
- Ja, das Register wird auf dem Gerät gesetzt und auch dort gespeichert, fhem ist dann außen vor. Nach dem Schreiben die Configtaste am Gerät drücken, damit das übertragen wird. Anschließend getConfig und noch einmal die Configtaste am Gerät, um zu prüfen ob der Wert geschrieben wurde.
Hab da noch eine Frage:
Und kann ich die internen Taster von den Aktoren trennen?
- Nein. Das ist aber bei vielen HM Geräten so. Bei Rolloschalter, Lichtschalter, Schaltsteckdose, Unterputzschaltern, .... wird der Tastendruck nur intern ausgewertet und nicht per Funk übertragen. Daher gibt es auch nicht, wie sonst üblich Long oder Short. Bei den externen Tastern kann man für langen und kurzen Tastendruck verschiedene Aktionen hinterlegen.
Gruß Christoph
Zitat von: Bennemannc am 02 September 2014, 14:22:58
Nach dem Schreiben die Configtaste am Gerät drücken
Configtaste? Mein HM-LC-SW4-BA-PCB hat nur die Tasten für die Kanäle. Zum anlernen kann ich irgendeine taste nehmen.
Ist das da auch egal?
Hallo,
Jep, Hauptsache er geht in den Config Modus um die Daten von Fhem empfangen zu können. Beim Anlernen kannst Du ja auch eine beliebige Taste nehmen.
Gruß Christoph
Hallo Tim,
mal eine grundsätzliche Frage. Muss es denn unbedingt ein HM-LC-SW4-BA-PCB sein?
Wäre z.B. ein HM-LC-Bl1PBU-FM (Unterputz-Jalousieaktor) nicht geeigneter?
Hallo,
würde ich auch so sehen, aber der ist teurer. Elektrotechnisch ist das was Du vor hast murks.
Das mit den Zeiten ist ja noch hinzubekommen, das mit dem Verriegelungsrelais ist schon "gebastelt", wo willst Du das Teil den unterbringen - bzw. wie willst Du das betätigen ? Etwas über die Mikimaus Taster die eingebaut sind ? Der Jalousieactor passt perfekt in eine Unterputzdose und kann meist 1:1 gegen den vorhanden Schalter getauscht werden. Zudem gibt es Adaptersets, so das auch die Rahmen und Bedienteile an das vorhanden System angepasst werden können.
Gruß Christoph
Die Steuerung existiert schon lange und war auch vorher schon eine Eigenentwicklung mit einem ATMEGA8. Diesen habe ich nur durch den HM-LC-SW4-BA-PCB getauscht.
Nur tauschen geht somit nicht, da zu den Tastern nur eine Datenleitung liegt. Ich nutze die kleinen Taster nicht, ich gehe nur an die Platine mit meinen vorhanden Tastern ;-)
Werde das mit der Zeit heute mal anschauen. Die Taster werden höchst selten benutzt!
Vg
Tim
Jm.. Aus meiner Sicht ist timedOn ein Register, was von der state machine fallweise gesetzt wird und ausgelesen werden kann (um zu prüfen ob ein aktiver Schalter getimt ist).
Ich würde stattdessen shOnTime von self03 und self04 auf die 15 bzw 20 Sekunden programmieren. Fhem muss sich dann ebenfalls um eine Zeitbegrenzung kümmern (on-for-timer), aber das ist sicher schon realisiert.
Geht nich gips nich
timed-on wird im status eines device gemeldet und besagt, dass der Zustand nicht endlos ist, also nach einer gewissen Zeit automatisch geändert wird. Ein Register in unserem Sinne ist es nicht, sicher aber eine Zustandsvariable .
ZitatUnd kann ich die internen Taster von den Aktoren trennen?
im Sinne von "taster deaktivieren" schon. Im sinne von "taster als sensor nutzen" nein.
Zitat
Configtaste? Mein HM-LC-SW4-BA-PCB hat nur die Tasten für die Kanäle. Zum anlernen kann ich irgendeine taste nehmen.
Das device kann burst - somit ist drücken einer Taste nicht erforderlich, um die Daten zu übertragen oder zu lesen.
Zitat von: martinp876 am 04 September 2014, 21:00:16timed-on wird im status eines device gemeldet und besagt, dass der Zustand nicht endlos ist, also nach einer gewissen Zeit automatisch geändert wird. Ein Register in unserem Sinne ist es nicht, sicher aber eine Zustandsvariable.
Genau, so meinte ich es eigentlich auch. timedOn taucht bei den Readings auf. Habs gerade mit dem 4er Batterieaktor probiert: State on/off ergeben auch timedOn = off, im Falle einer aktiven Laufzeitbegrenzung "running".
Mit
ZitatHier kann man mit "set Kanal regSet timedOn 15" eine Onzeit einstellen. Danach sollte das Gerät selber wieder auf "off" gehen.
war der Tippgeber also auf dem Holzweg. Das Register ist nicht bekannt.
@Rettungs-Tim: Die einmal programmierten Zeiten funktionieren auch ohne FHEM, wie Bennemannc richtig sagt. Die Zeiten werden aber nicht pro Kanal gesetzt, sondern für jeden Auslöser getrennt, hier also für die Taste (self01 bis self04, je nach Kanal). Aktionen mit einer weitereren angelernten Fernbedienung müssen dann ebenfalls ähnlich zeitbegrenzt werden.
Die internen Taster können nur ihre eigenen Kanal-Ausgänge beeinflussen.
"Wohnzimmer_Tuer" ist die Bezeichnung der Aktorplatine. Mache zunächst die internen Taster sichtbar:
set Wohnzimmer_Tuer regSet intKeyVisib visib
Der Befehl zum Zeitbegrenzen wird sonst vom Empfänger nicht verarbeitet und verstopft den HMLAN-Queue, zumindest war das hier gerade so.
"Wohnzimmer_Tuer_down" ist der dritte Kanal. Setze die Zeitbegrenzung (30 Sekunden, beliebig anpassbar) also mit
set Wohnzimmer_Tuer_down regSet shOnTime 30 self03
Ein Tastendruck auf den Taster sollte den Ausgang nun für 30 Sekunden aktivieren. Ein erneuter vorzeitiger Druck schaltet den Ausgang ab, Du kannst den Rolladen damit also sogar stoppen.
Verfahre für das Hochfahren genauso, nimm dort aber self04 (wenn es der vierte Kanal ist).
Noch ein Tipp: teste mit kürzeren Zeiten, ob du richtig programmierst, und aktiviere per
set Wohnzimmer_Tuer regSet ledMode on
die LEDs als Zustandsanzeige - sie leuchten dann solange der Kanal aktiv ist.
set Wohnzimmer_Tuer regSet ledMode off
schaltet die Anzeige wieder ab (Stromsparmodus für Batteriebetrieb).
Hallo zusammen,
super es funktioniert wie gewünscht. Vielen Dank euch!
Aber leider habe ich gleich die nächsten Fragen und möchte nicht noch ein Thema aufmachen.
Ich möchte nun auch auch im FHEM sehen wenn das Rollo manuell runter gefahren wurde. Wie macht das die fertige Markiesensteuerung?
Oder wie kann ich das in FHEM umsetzen.
Derzeit arbeite ich mit Dummys für die Darstellung des Rollos. Ich möchte nicht das das Rollo nochmal runter fährt wenn ich ich es schon manuell runter gefahren habe. Hintergrund ist der das ich bei meinem Sohn das Rollo, wenn er schläft, wieder etwas hochfahre um Luft ins Zimmer zu lassen.
define WZT_dummy dummy
attr WZT_dummy alias Rollo Wohnzimmertür
attr WZT_dummy eventMap zu:shutter_closed auf:shutter_open
attr WZT_dummy group Rollos
attr WZT_dummy room Fenster/Türen
attr WZT_dummy webCmd zu:auf
define WZT_zu notify WZT_dummy:zu {\
fhem("set Wohnzimmer_Tuer_up off");;\
fhem("set Wohnzimmer_Tuer_down on-for-timer 25");;\
}
define WZT_auf notify WZT_dummy:auf {\
fhem("set Wohnzimmer_Tuer_down off");;\
fhem("set Wohnzimmer_Tuer_up on-for-timer 30");;\
}
define Wohnzimmer_Tuer_down_an at *{sunset(0,"17:30","21:30")} set WZT_dummy zu
define Wohnzimmer_Tuer_up_an at *{sunrise(0,"06:45","08:00")} set WZT_dummy auf
was ist "manuell"? Der Button am Device? Auch trigger von fernbedienungen? set kommandos, die manuell eingegeben wurde, also ohne timer?
ein trigger einer FB wird angezeigt (trigLast). Ob es eine Änderung hervorruft ist nicht sicher. Triggert man "auf" wenn schon offen ist war auch dies ein trigger!
trigger der internen taster sind schwierig, da sie keine spuren hinterlassen. Man kann Bewegung ohne Kommando oder trigger parsen.
das Ändern des Rollozustands per kommando kann man vielfältig erzeugen: up/down/on/off/press/pct
ZitatIch möchte nicht das das Rollo nochmal runter fährt wenn ich ich es schon manuell runter gefahren habe.
wenn es automatisch runter gefahren ist, willst du es noch einmal runterfahren?
Das geht jetzt doch schon viel weiter ...
Lokale Bedienungen wird man kaum direkt erfassen können, wie Martin schon richtig sagt - aber die Änderung des Schaltzustandes des Aktors und damit des Steuerrelais für den Motor bekommt FHEM doch mit, egal ob über HM-Fernbedienung oder lokal (am Aktor) ausgelöst. Letztlich könnte man dann über notifys und irgendeine Form von Zähler eine numerische Zustandsvariable erstellen, die in Abhängigkeit von den Längen der Motorbewegungen einen vermutlichen Rollo(zwischen)zustand ermittelt. Ein Betrieb über die maximale Fahrzeit der Rolläden hinaus setzt dann definierte Endzustände. Damit ließen sich umgekehrt sogar beliebige Zwischenstände anfahren. Und einen Automatikbefehl zum Herunterfahren könnte man vom Rolladenzustand abhängig machen ("führe nicht aus, wenn der Rolladen schon zu 90% geschlossen ist").
Meines Wissens ticken die originalen Rolladenaktoren intern doch ganz ähnlich, oder?
Ja genau so habe ich mir das auch gedacht. Ich habe da mal was bei den Codeschnipseln gefunden.
http://forum.fhem.de/index.php/topic,24781.msg178463.html#msg178463
Aber das umbauen auf Homematic und verstehen des Codes bereitet mir noch Schwierigkeiten.
Zitat von: RettungsTim am 10 September 2014, 07:23:09
Ja genau so habe ich mir das auch gedacht. Ich habe da mal was bei den Codeschnipseln gefunden. ... Aber das umbauen auf Homematic und verstehen des Codes bereitet mir noch Schwierigkeiten.
Dito. Alles weitere dort.