HM-LC-Sw4-WM Register setzen Timer

Begonnen von T.ihmann, 04 Februar 2013, 00:25:30

Vorheriges Thema - Nächstes Thema

T.ihmann

Hallo,

ich habe einen HM-LC-Sw4-WM 4-fach Schalter und möchte den Schalter so programmieren, daß Kanal 1 jeweils x Sekunden an bleibt (Treppenhausschaltung). Leider sind die Register dieses Schalters nicht in der Einsteiger Doku erwähnt. Wie gehe ich in FHEM mit CUL da vor ?

Vielen Dank.

Liebe Grüße,

T. Ihmann

Zrrronggg!

define Treppenhauslicht notify <HM-LC-Sw4-WM Kanal1> set Lampe_Treppenhaus on-for-timer (Sekunden)

<HM-LC-Sw4-WM Kanal1> dann natürlich wie du den HM-LC-Sw4-WM bzw Kanal1 in FHEM eingerichtet hast.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

T.ihmann

Vielen Dank. So ähnlich habe ich es bislang gelöst. Der 4-fach Schalter sollte es eigentlich auch hardwareseitig können. Ich denke man muß ein bestimmtes Register über den CUL setzen. Hier habe ich das entsprechende Register aber noch nicht gefunden...

Martin Thomas Schrott

Hi,

set sw_kanal getConfig
get sw_kanal reg all
sollte die liste der register für gepairte geräte ausgeben.

das on_for_time sollte so ähnlich aussehen wie: shOnTime

Nicht vergessen zuerst den SChalter pairen!

lG
Martin

martinp876


ja pairen und peeren (danke Martin - nur noch einmal zur Verdeutlichung fuer Einsteiger)

ein

get sw_kanal regList

zeigt die Moeglichkeiten. das "get reg all" zeigt 'nur' die benutzten Register. Wenn kein peering besteht kommt evtl nichts...
regList geht uebrigens immer, auch wenn nichts gelesen wurde. reg all nur wenn daten vorhanden sind.
Ausserdem ist in regList der Wertebereich enthalten

shOnTime ist wichtig - aber auch
lgOnTime nicht vergessen! Es gibt immer wieder grobmotoriker die einfach den Schalter nicht loslassen.

Zrrronggg!

ZitatDer 4-fach Schalter sollte es eigentlich auch hardwareseitig können.

Darf ich fragen, wo da der Vorteil liegen soll? Gut: Weniger Funkverkehr.

Aber ansonsten ziehe ich eigentlich Kontrolle über FHEM vor und verwende höchstens "on/off-for-timer" (HM kann allerdings kein off-for-timer). Ist leichter einzurichten (wie du gerade siehst), man hat mehr kontrolle und kann die Einschaltdauer auch besser manipulieren (sagen wir mal: Treppenhauslicht nachts länger anlassen als Tagsüber und mittags gar nicht und so)

Oder übersehe ich da was?

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

martinp876

Hi Zrrronggg!

Es ist geschmackssache, darueber laesst sich nicht streiten. Daher legen ich nur dar, warum ich IMMER direkt peeren wuerde, wenn die Funktion bereit steht

- weniger Funkverkehr. Das Argument hat fuer mich an Bedeutung gewonnen da es bei Massenverkehr (burst-traffic) immer wieder zu Problemen fuehren kann
- schnellere Schaltzeiten
- praezisere Ausfuehrung (zeitlich) bei kritischen timings
- Zentrale wird nicht belastet und kann fuer wichtige und kritische Aufgaben verwendet werden Beispiel: ein TC will in 200ms bedient werden - wenn die Zentrale gerade jetzt etwas anderes schaltet oder liest 'koennte' es zu einem Abbruch kommen
- wenn die Zentrale ausfaellt funktionieren diese Schalter immer noch. Ich kann jederzeit an meinem FHEM spielen, neu laden,... und meine Frau kann das Licht immer noch einschalten. Ansonsten koennten ich dies vergessen!
- wie vor: ich will IMMER moeglichst wenig devices beim Schalten im spiel haben. Wenn mein HMLAN stirbt funktionieren meine Lichter immer noch - egal wie lange ich brauche ein neues zu kaufen.
- einige Anwendungen kann man nur ueber direkte Einstellungen machen

All die Punkte oben muessen einem nichts wert sein - darueber kann man nicht diskutieren.

Als Nachteil sehe ich
- man muss sich etwas mehr mit den Moeglichkeiten befassen, die ein Aktor bietet
- Man muss (fast) jeden Aktor betrachten - was man gelernt hat kann man nicht auf andere Familien uebertragen.

Die Zentrale muss ich benutzen (auszug...)
- wenn ich tageszeit-abhaengig funktionen ein/ausbauen will
- wenn ich verscheidene Devicefamilien mischen will - also an den Schnittstellen der "Familien"
- fernbedienen z.B. vom Smartphone
- loggen
- konfigurieren

Ich denke, das sind die wesentlichen Punkte warum ich vorrangig direkt "peeren" wuerde.

Gruss
Martin

Zrrronggg!

Klar, sind alles Argumente.

paar von denen kann ich nur bedingt nachvollziehen (sieh weiter unten) aber im wesentlichen bin ich vor allem zu faul, mich mit den Möglichkeiten und Programmierungen eines jeden Aktors zu befassen.

Meine Frau will vor allem dauernd was geändert haben: Mach das mal eine Grad wärmer, mach das mal früher an, mach dies mal länger/kürzer an, etc.etc.

Dann jedesmal erst überlegen zu müssen: Hast du das im Aktor gemacht, und wenn ja: wie ging das nochmal? / oh da muss ich erstmal das Wochenprogramm ziehen / ach Mist das ist ja jetzt kein FS20ST sondern ein HMdings ... ... das dauert dann mir wieder zu lang.

Mit suchen und ersetzen in der fhem.cfg malsch schnell die Tempreaturen oder Zeiten ändern ist ne Sache von Sekunden, ist mir lieber. Aber das ist natürlich erst recht Geschmackssache.


Besonders theoretisch finde ich allerdings diese Argumente:

Zitat- Zentrale wird nicht belastet und kann fuer wichtige und kritische Aufgaben verwendet werden Beispiel: ein TC will in 200ms bedient werden - wenn die Zentrale gerade jetzt etwas anderes schaltet oder liest 'koennte' es zu einem Abbruch kommen
- wenn die Zentrale ausfaellt funktionieren diese Schalter immer noch.

Ich habe inzwischen wirklich viel Kram, ne Menge FHTs, FS20 und HM Aktoren, Bewegungsmelder, Intertechno und RSL, S300 Sensoren, mehr als ein dutzend Schalter und Fernbedienugen, jede Menge TürFensterKontakte der verschiedenen Programme, HMLAN konfigurator plus 3 CULs, eines als RFR... und das Ganze auf einer Bufallo Linkstation Mini, dieren CPU eher nicht... äh... durch überfüllige Leistungsreserven bekannt ist. Timingprobleme hatte ich aber noch nie. (also... meines Wissens nach). Ich glaube, das ist wirklich ein sehr theoretisches Problem.

Und einen echten Ausfall hatte ich in den letzten 3 Jahren auch nicht. Neuladen der Config. dauert ca. 20 Sekunden inzwischen... das mach ich, wenn meine Holde gerade garantiert beschäftigt ist  ;-)

Hm.

Aber okay, thx für deine Antwort, sind eben zwei "Philosophien".
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Billy

Zitat von: martinp876 schrieb am Mo, 04 Februar 2013 14:14Hi Zrrronggg!
Es ist geschmackssache, darueber laesst sich nicht streiten.
Damit ist alles gesagt. Ich bin froh, dass Martin seine Sicht der Dinge erläutert hat,
jetzt kann jeder selbst auf einer sachlichen Basis entscheiden!

Billy


FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

T.ihmann

Ich wollte jetzt in meinem in meinem HM-LC-Sw4-WM das Register setzen um einen Timer zu realisieren mit


set CUL_HM_HM_LC_SW4_WM_Sw_01 regSet shOnTime 1


Leider bekomme ich als Fehlermeldung

Peer not specified

Ich habe im Forum und in der Hilfe nach pair / peer gesucht, finde aber nicht den entsprechenden Hinweis...

martinp876

Hallo T.ihmann

regSet <regName> <value> <peerChannel>
For some major register a readable version is implemented supporting register names <regName> and value conversionsing. Only a subset of register can be supproted.
<value> is the data in human readable manner that will be written to the register.
<peerChannel> is required if this register is defined on a per 'peerChan' base. It can be set to '0' other wise.See getRegRaw for full description
Supported register for a device can be explored using

Zitatset CUL_HM_HM_LC_SW4_WM_Sw_01 regSet shOnTime 1

<regName> = shOnTime
<value>   = 1
<peerChannel> =???

mit get CUL_HM_HM_LC_SW4_WM_Sw_01 regList erhältst du etwas wie
list:         register | range              | peer     |exp| description
   0: intKeyVisib      |   - to -           |          |exp| visibility of ...
   0: pairCentral      |   0 to 16777215    |          |   | pairing to central
   1: fuseDelay        |   0 to 2.55s       |          |exp| fuse delay
   3: lgCtDlyOn        |   - to -           | required |exp| Jmp on condition..
   3: lgCtOff          |   - to -           | required |exp| Jmp on condition ..
   3: lgCtOn           |   - to -           | required |exp| Jmp on condition ..
   3: lgCtRampOff      |   - to -           | required |exp| Jmp on condition ..
   3: lgCtRampOn       |   - to -           | required |exp| Jmp on condition ..

wenn in der Spalte 'peer' 'required' steht musst du den peer angeben.

Warum peer? Was willst du erreichen?

shOnTime stellt ein, wie lange das Licht an bleibt, wenn, ja wenn ein short trigger vom peer kommt. Dies ist also fuer jeden peer einzeln und unterschiedlich einstellbar.

Gruss
Martin

T.ihmann

Ich würde gerne das Register so setzen, dass der Kanal nur x Sekunden an ist und dann automatisch wieder auf aus geht, wenn man einen Schaltbefehl sendet (Treppenhaussteuerung). Gesteuert werden soll es über das Webfrontend und über einen Handsender.

Bei shOnTime und lgOnTime steht jeweils peer required..

T.ihmann

So, jetzt hat es geklappt. In Fhem erst einen virtuellen Schalter definieren, diesen dann mit dem Schalterkanal peeren, dann konnte man shOnTimer und lgOnTimer setzen.

martinp876

von webFrontend gibt es auch on-for-timer
vom HM sensor aus direkt ist es so zu machen wie du es getan hast - erst die channels peeren, dann einstellen.