[GELÖST] Dimmer mit Bewegungsmelder und Helligkeitssensor peeren und schalten

Begonnen von darkness, 19 Oktober 2017, 11:15:15

Vorheriges Thema - Nächstes Thema

darkness

Hallo,

ich habe mal eine Verständnisfrage.

Bisher schalte ich einen Dimmer HM-LC-Dim1TPBU-FM per notify.

Dieses triggert auf die Bewegung eines  HM-Sen-MDIR-WM55 wenn die Außenhelligkeit  (HM-Sen-LI-O) unter einen Wert X fällt.
Anstatt des HM-Sen-MDIR-WM55 nutze ich den HM-Sen-LI-O, da dieser kontinuierlich sendet.

Nach meinem Verständnis kann ich sowas nicht mit direktem peering lösen oder?



Pfriemler

Jein. Das Stichwort heißt "virtueller Kanal". Nagle mich bitte nicht auf Details fest, für mich ist das selbst ein Buch mit ca. 6,5 Siegeln bzw. ich habe es aus FHEM noch nicht sauber hinbekommen.

Prinzipiell kannst Du den physikalischen Kanal (den 1.) des PBU-FM mit einem virtuellen (2. bzw. 3.) koppeln, also bspw. maskieren, hier etwa in dem Stil "schalte physikalisch nur, wenn der virtuelle auch eingeschaltet ist". Den virtuellen kannst Du dann mit dem HM-Sen-Li-O koppeln (geht dann quasi auf Dauer an, wenn Helligkeit unterschritten), den physikalischen mit dem Bewegungsmelder. Es gibt dann aber einen wesentlichen Haken: Der Dimmer geht auch von Hand nur, wenn es dunkel genug ist.

Diese Verknüpfung ist btw eine der Aktionen, wegen derer ich früher einen Konfigurationsstick und die passende Software aus der Schublade geholt habe...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness


martinp876

Direkt geht es nicht, korrekt.
Über einen virtuellen Aktor könnte man das leisten, ist aber nicht implementiert.
Aber wenn man es über einen virtuellen Aktor macht geht es über die Zentrale..... Und dann kann man gleich ein notify nehmen.

Zur direkten Kopplung von mdir und Lichtschaltern habe ich ein template veröffentlicht welches das onfortimer durch den mdir erlaubt und durch einen anderen Taster überschrieben werden kann, also Dauer on. Geht alles ohne Zentrale.

frank

Zitat von: Pfriemler am 19 Oktober 2017, 15:46:27
Jein. Das Stichwort heißt "virtueller Kanal". Nagle mich bitte nicht auf Details fest, für mich ist das selbst ein Buch mit ca. 6,5 Siegeln bzw. ich habe es aus FHEM noch nicht sauber hinbekommen.

Prinzipiell kannst Du den physikalischen Kanal (den 1.) des PBU-FM mit einem virtuellen (2. bzw. 3.) koppeln, also bspw. maskieren, hier etwa in dem Stil "schalte physikalisch nur, wenn der virtuelle auch eingeschaltet ist". Den virtuellen kannst Du dann mit dem HM-Sen-Li-O koppeln (geht dann quasi auf Dauer an, wenn Helligkeit unterschritten), den physikalischen mit dem Bewegungsmelder. Es gibt dann aber einen wesentlichen Haken: Der Dimmer geht auch von Hand nur, wenn es dunkel genug ist.

ich könnte mir vorstellen, wenn man die self-peers mit einem weiteren virtuellen channel peert, dass man dann auch manuell "übersteuern" könnte. habe ich aber noch nie probiert.

hier mal etwas lektüre: https://www.elv.de/elektronikwissen/virtuelle-homematic-aktorkanaele-und-ihre-verknuepfungslogik.html
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

darkness

Wow danke.
ZitatÜber einen virtuellen Aktor könnte man das leisten, ist aber nicht implementiert

Mit FHEM kann ich das ganze dann aber nicht umsetzen, oder?

ZitatAber wenn man es über einen virtuellen Aktor macht geht es über die Zentrale..... Und dann kann man gleich ein notify nehmen.

Laut dem Artikel wäre es aber ohne Zentrale möglich, oder?

Da unter dem Dimmer ein Bewegungsmelder ist, könnte ich das Licht auch darüber schalten. Wäre also nicht so schlimm, wenn der Dimmer selbst nicht mehr geht.

martinp876

Die virtuellen Kanäle Dienstag dimers sind voll umgänglich in fhem vorhanden.
Unklar ist mir, dass ein Aktor (auch der virtuelle) auf einen Sensorwert reagieren kann. Das ist kein Trigger. Allerdings ist das schon möglich, muss man testen.
Wenn das geht, dann ist es kein. Problem

Beta-User

Kann ich da was helfen bzw. mit testen?

Persönliches Ziel wäre es, den Helligkeitwert eines Bewegungsmelders (HM-Sen-MDIR-O) auszuwerten, und dann bei Unterschreitung eines Mindestwerts einen Switch eines HM-LC-SW2-FM einzuschalten (für eine bestimmte Dauer, versteht sich), wenn eine Tür mit einem HM-SEC-SC-2 geöffnet wird. Das setup habe ich 2 Mal bzw. für je einen Türkontakt pro Switch...

Der Bewegungsmelder ist bereits mit dem LC-SW2 gepairt, allerdings triggert der MDIR ja nur, wenn eine auf diesem Gerät eingestellte Mindesthelligkeitsschwelle unterschritten ist, das scheint also auf dem MDIR gespeichert zu sein...

Wenn das nicht hierher gehört, können wir das gerne auch separat diskutieren, ich will den Thread nicht kapern ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Pfriemler

Zitat von: Beta-User am 20 Oktober 2017, 21:13:41
Der Bewegungsmelder ist bereits mit dem LC-SW2 gepairt, allerdings triggert der MDIR ja nur, wenn eine auf diesem Gerät eingestellte Mindesthelligkeitsschwelle unterschritten ist, das scheint also auf dem MDIR gespeichert zu sein...
Woher hast Du das? Meine Bewegungsmelder senden jede Bewegung, unabhängig von der Tageszeit oder Helligkeit. Vielmehr habe ich aus dem Vergleich von Verknüpfungen mithilfe des HomeMatic-Konfigurators und dem nachfolgenden Einlesen der Register in FHEM die Erkenntnis, dass beim Direktverknüpfen die Einschaltbedingungen im Aktor für den Peerpartner Bewegungsmelder auf "ltLo" geändert werden (d.h. Aktor schaltet bei Werten unter der Schwelle ein) und die Lo-Schwelle wird der gewünschten Maximalhelligkeit entsprechend reduziert (bei mir von 50 auf 20 für fast völlige Dunkelheit mit einem MDIR-O). Meines Wissens machen auch die Templates nichts anderes. Wenn man die Pakete snifft, sieht man sogar, dass bei größerer Helligkeit der angesprochene Aktor das Paket vom Bewegungsmelder quittiert, anschließend aber angibt, dass er ausgeschaltet bleibt.

Das gewünschte Ziel (allein mit Peering) halte ich hier aber für nicht erreichbar, weil dem HM-LC-Sw2-FM die dafür erforderlichen Verknüpfungskanäle für die Verbindung von Daten mehrerer Sensoren für eine Schaltentscheidung fehlt.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Beta-User

Zitat von: Pfriemler am 20 Oktober 2017, 21:25:28
Woher hast Du das? Meine Bewegungsmelder senden jede Bewegung, unabhängig von der Tageszeit oder Helligkeit.
Stimmt, kann eigentlich nicht so sein, dass der MDIR das aussortiert, Bewegung (bzw. auchregelmäßig Helligkeit) wird immer gesendet.

In den Registern des Aktors kann ich allerdings nicht erkennen, wie die Logik intern abgebildet wird:
CFGFN DEF        2A192901 NAME       Aussenlicht_vorne_Sw_01 NOTIFYDEV  global NR         192 NTFY_ORDER 50-Aussenlicht_vorne_Sw_01 STATE      off TYPE       CUL_HM chanNo     01 device     Aussenlichter peerList   self01,Bewegungsmelder_1, READINGS: 2017-10-20 21:27:13   CommandAccepted yes 2017-10-20 21:01:09   R-Bewegungsmelder_1_chn-01-lgActionType jmpToTarget 2017-10-20 21:01:09   R-Bewegungsmelder_1_chn-01-shActionType jmpToTarget 2017-10-20 21:01:08   R-self01-lgActionType jmpToTarget 2017-10-20 21:01:08   R-self01-shActionType jmpToTarget 2017-04-23 08:48:03   R-sign          off 2017-10-20 21:01:06   RegL_01.         08:00 00:00 2017-10-20 21:01:09   RegL_03.Bewegungsmelder_1_chn-01  02:22 03:22 04:78 05:64 06:00 07:7E 08:00 09:FF 0A:01 0B:13 0C:13 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00 2017-10-20 21:01:08   RegL_03.self01   02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00 2017-10-20 21:32:33   deviceMsg       off (to broadcast) 2017-10-20 21:32:33   level           0 2017-10-20 21:32:33   pct             0 2017-10-20 21:01:06   peerList        self01,Bewegungsmelder_1, 2017-10-20 21:32:33   recentStateType info 2017-10-20 21:32:33   state           off 2017-10-20 21:32:33   timedOn         off helper: peerIDsRaw ,2A192901,2D84F801,00000000 expert: def        1 det        0 raw        1 tpl        0 role: chn        1 shadowReg: tmpl: Attributes: group      Licht icon       FS20.off model      HM-LC-SW2-FM peerIDs    00000000,2A192901,2D84F801, room       Garten,Treppenhaus webCmd     statusRequest:toggle:on:off Aber wenn ich den Artikel richtig verstanden habe, müßte man derartige internen Auswertungen schon hinbekommen können. Hmmm, aber mit FHEM-Bordmitteln die Register/jumptable etc. anpassen...?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Pfriemler

#10
Ups... kopiert aus "list ..."? Sehe keine Zeilenumbrüche.

Diese Direktverknüpfung schaltet bei einer sehr geringen Raumhelligkeit den Dimmer für das Deckenlicht auf 20%:

Internals:
...
   NAME       HM_RGB1_Dim
...
   peerList   FB12_Btn_01,FB12_Btn_02,Wz6TasterRightDown,Wz6TasterRightUp,BewMelder2,DispFB_Btn_01,
   READINGS:
...
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtDlyOff ltLo  # alle Trigger auf geringere Helligkeit als ...
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtDlyOn ltLo
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtOff ltLo
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtOn ltLo
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtRampOff ltLo
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtRampOn ltLo
     2017-01-04 15:04:56   .R-BewMelder2_chn-01-shCtValHi 100
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shCtValLo 20     # Schaltschwelle
...
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shOnTime 300 s      # 5 min
     2017-01-04 18:12:02   .R-BewMelder2_chn-01-shOnTimeMode minimal  # mindestens, wenn nicht andere peers längere Zeit vorgeben
     2017-05-08 11:43:29   .R-BewMelder2_chn-01-shRampOffTime 10 s  # langsam ausdimmen
     2017-05-08 11:43:29   .R-BewMelder2_chn-01-shRampOnTime 2 s  # langsam hochdimmen
     2017-01-04 15:04:56   .R-BewMelder2_chn-01-shRampSstep 5 %
...
     2017-06-25 23:01:18   R-BewMelder2_chn-01-shActionTypeDim jmpToTarget
     2017-06-25 23:01:18   R-BewMelder2_chn-01-shOnLevel 20 %   # 20% Helligkeit (Orientierungslicht)
...
     2017-10-20 22:00:34   deviceMsg       70 (to BewMelder2) # er redet mit dem Bewegungsmelder direkt


Vergleich mal Deine Register damit. Hab die relevanten kopiert und kommentiert.

edit: Entweder Template verwenden oder alles mit regSet von Hand programmierbar.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness

#11
Mir ist noch nicht ganz klar, wie ich die Bedingungen setzen kann. Oder Spiegelt das die internen Register wieder?

Siehe die Doku von Pfriemler:

Zitat
    Kanal inaktiv: Der Kanal wird bei der Verknüpfung ignoriert.
    OR: Das Verknüpfungsergebnis ist der höhere von beiden Pegeln.
    AND: Das Verknüpfungsergebnis ist der niedrigere von beiden Pegeln.
    XOR: Ist nur einer der Pegel größer als 0 %, ist dieser Pegel auch das Verknüpfungsergebnis. In den anderen Fällen ist das Verknüpfungsergebnis 0 %.
    NOR: Es wird die Verknüpfung OR ausgeführt und das Ergebnis anschließend invertiert (100 % - Pegel).
    NAND: Es wird die Verknüpfung AND ausgeführt und das Ergebnis anschließend invertiert (100 % - Pegel).
    OR_INVERS: Der zu verknüpfende Kanal (rechts vom ,,o") wird zuerst invertiert (100 % - Pegel) und anschließend die Verknüpfung OR ausgeführt.
    AND_INVERS: Der zu verknüpfende Kanal (rechts vom ,,o") wird zuerst invertiert (100 % - Pegel) und anschließend die Verknüpfung AND ausgeführt.
    PLUS: Die beiden Pegel werden addiert (max. 100 %).
    MINUS: Die beiden Pegel werden subtrahiert (min. 0 %).
    MULTI: Die beiden Pegel werden multipliziert.
    PLUS_INVERS: Der zu verknüpfende Kanal (rechts vom ,,o") wird zuerst invertiert (100 % - Pegel) und anschließend die Verknüpfung PLUS ausgeführt.
    MINUS_INVERS: Der zu verknüpfende Kanal (rechts vom ,,o") wird zuerst invertiert (100 % - Pegel) und anschließend die Verknüpfung MINUS ausgeführt.
    MULTI_INVERS: Der zu verknüpfende Kanal (rechts vom ,,o") wird zuerst invertiert (100 % - Pegel) und anschließend die Verknüpfung MULTI ausgeführt.
    INVERS_PLUS: Die beiden Pegel werden addiert (max. 100 %) und das Ergebnis anschließend invertiert (100 % - Pegel).
    INVERS_MINUS: Die beiden Pegel werden subtrahiert (min. 0 %) und das Ergebnis anschließend invertiert (100 % - Pegel).
    INVERS_MULTI: Die beiden Pegel werden multipliziert und das Ergebnis anschließend invertiert (100 % - Pegel).



Werde morgen mal Testen.

ZitatDie virtuellen Kanäle Dienstag dimers sind voll umgänglich in fhem vorhanden.
Ah, da ist dann Channel 02 und 03 bei den Dimmern?

Pfriemler

ZitatSiehe die Doku von Pfriemler:...
Äh ... der Link ist von frank, aber gut.

ZitatAh, da ist dann Channel 02 und 03 bei den Dimmern?
You got it.
Im Prinzip lassen sich alle Kanäle einzeln peeren, bedienen und manipulieren. Das sichtbare Endergebnis ist dann die beschriebene logische Kombination aus den drei Kanälen, wobei die Gewichtung jedes Kanals im Register "logicCombination" festgelegt.
Der verlinkte Beitrag beschreibt übrigens mMn den gewünschten Anwendungsfall: Kanal 1 mit Bewegungsmelder (OR), Kanal 2 als Helligkeitsmaske (AND) und Kanal 3 manuelle Bedienung mit 100% (OR)...
Dazu muss der Taster aber mit dem dritten und nicht mit dem ersten Kanal gepeert werden. Und wieder was gelernt.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness

Zitat von: Pfriemler am 20 Oktober 2017, 23:48:32
Äh ... der Link ist von frank, aber gut.

Ups, natürlich. Sorry

Danke. Werde gleich mal ein wenig ausprobieren und berichten.

darkness

#14
Schade auch.

Leider scheitert das ganze an meinem HM-Sen-LI-O  >:(

ZitatDas  Gerät  unterstützt  keine  direkten  Verknüpfungen, es ist nur an eine HomeMatic Zentrale
anmeldbar .  Alle  Geräteverknüpfungen  sind  allein über Zentralenprogramme möglich .

Dann muss ich halt doch mal die Helligkeit vom HM-Sen-MDIR-WM55 testen

darkness

grrrr. Es sind die Feinheiten.

Ich verwende einen Dim-Zwischenstecker (HM-LC-Dim1T-Pl-3).

Dieser hat auch die 2 virtuellen Kanäle. Aber die Register logicCombination sind dort nicht vorhanden. Ich nehme an, das der Zwischenstecker das also nicht unterstüzt, oder?


Internals:
   CFGFN
   DEF        3942F902
   NAME       flur_licht3_Dim_V_01
   NOTIFYDEV  global
   NR         68592
   STATE      chn:on  phys:0
   TYPE       CUL_HM
   chanNo     02
   device     flur_licht3
   peerList   self01,
   Helper:
     DBLOG:
       R-powerUpAction:
         logdb:
           TIME       1508504042.66765
           VALUE      off
       R-self01-lgActionTypeDim:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-lgCtDlyOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtDlyOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtRampOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtRampOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-lgCtValHi:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-lgCtValLo:
         logdb:
           TIME       1508575555.66406
           VALUE      50
       R-self01-lgDimJtDlyOff:
         logdb:
           TIME       1508575555.66406
           VALUE      rampOff
       R-self01-lgDimJtDlyOn:
         logdb:
           TIME       1508575555.66406
           VALUE      rampOn
       R-self01-lgDimJtOff:
         logdb:
           TIME       1508575555.66406
           VALUE      dlyOn
       R-self01-lgDimJtOn:
         logdb:
           TIME       1508575555.66406
           VALUE      dlyOff
       R-self01-lgDimJtRampOff:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-lgDimJtRampOn:
         logdb:
           TIME       1508575555.66406
           VALUE      on
       R-self01-lgDimMaxLvl:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-lgDimMinLvl:
         logdb:
           TIME       1508575555.66406
           VALUE      0
       R-self01-lgDimStep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       R-self01-lgMultiExec:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-lgOffDly:
         logdb:
           TIME       1508575555.66406
           VALUE      0 s
       R-self01-lgOffDlyBlink:
         logdb:
           TIME       1508575555.66406
           VALUE      on
       R-self01-lgOffDlyNewTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.4 s
       R-self01-lgOffDlyOldTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.4 s
       R-self01-lgOffDlyStep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       R-self01-lgOffLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      0
       R-self01-lgOffTime:
         logdb:
           TIME       1508575555.66406
           VALUE      unused
       R-self01-lgOffTimeMode:
         logdb:
           TIME       1508575555.66406
           VALUE      absolut
       R-self01-lgOnDly:
         logdb:
           TIME       1508575555.66406
           VALUE      0 s
       R-self01-lgOnDlyMode:
         logdb:
           TIME       1508575555.66406
           VALUE      setToOff
       R-self01-lgOnLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-lgOnLvlPrio:
         logdb:
           TIME       1508575555.66406
           VALUE      high
       R-self01-lgOnMinLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      10
       R-self01-lgOnTime:
         logdb:
           TIME       1508575555.66406
           VALUE      unused
       R-self01-lgOnTimeMode:
         logdb:
           TIME       1508575555.66406
           VALUE      absolut
       R-self01-lgRampOffTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.5 s
       R-self01-lgRampOnTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.5 s
       R-self01-lgRampSstep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       R-self01-shActionTypeDim:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-shCtDlyOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtDlyOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtRampOff:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtRampOn:
         logdb:
           TIME       1508575555.66406
           VALUE      geLo
       R-self01-shCtValHi:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-shCtValLo:
         logdb:
           TIME       1508575555.66406
           VALUE      50
       R-self01-shDimJtDlyOff:
         logdb:
           TIME       1508575555.66406
           VALUE      rampOff
       R-self01-shDimJtDlyOn:
         logdb:
           TIME       1508575555.66406
           VALUE      rampOn
       R-self01-shDimJtOff:
         logdb:
           TIME       1508575555.66406
           VALUE      dlyOn
       R-self01-shDimJtOn:
         logdb:
           TIME       1508575555.66406
           VALUE      dlyOff
       R-self01-shDimJtRampOff:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-shDimJtRampOn:
         logdb:
           TIME       1508575555.66406
           VALUE      on
       R-self01-shDimMaxLvl:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-shDimMinLvl:
         logdb:
           TIME       1508575555.66406
           VALUE      0
       R-self01-shDimStep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       R-self01-shMultiExec:
         logdb:
           TIME       1508575555.66406
           VALUE      off
       R-self01-shOffDly:
         logdb:
           TIME       1508575555.66406
           VALUE      0 s
       R-self01-shOffDlyBlink:
         logdb:
           TIME       1508575555.66406
           VALUE      on
       R-self01-shOffDlyNewTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.4 s
       R-self01-shOffDlyOldTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.4 s
       R-self01-shOffDlyStep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       R-self01-shOffLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      0
       R-self01-shOffTime:
         logdb:
           TIME       1508575555.66406
           VALUE      unused
       R-self01-shOffTimeMode:
         logdb:
           TIME       1508575555.66406
           VALUE      absolut
       R-self01-shOnDly:
         logdb:
           TIME       1508575555.66406
           VALUE      0 s
       R-self01-shOnDlyMode:
         logdb:
           TIME       1508575555.66406
           VALUE      setToOff
       R-self01-shOnLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      100
       R-self01-shOnLvlPrio:
         logdb:
           TIME       1508575555.66406
           VALUE      high
       R-self01-shOnMinLevel:
         logdb:
           TIME       1508575555.66406
           VALUE      10
       R-self01-shOnTime:
         logdb:
           TIME       1508575555.66406
           VALUE      unused
       R-self01-shOnTimeMode:
         logdb:
           TIME       1508575555.66406
           VALUE      absolut
       R-self01-shRampOffTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.5 s
       R-self01-shRampOnTime:
         logdb:
           TIME       1508575555.66406
           VALUE      0.5 s
       R-self01-shRampSstep:
         logdb:
           TIME       1508575555.66406
           VALUE      5
       deviceMsg:
         logdb:
           TIME       1508575428.34435
           VALUE      on (to vccu)
       dim:
         logdb:
           TIME       1508575428.34435
           VALUE      stop:on
       level:
         logdb:
           TIME       1508575428.34435
           VALUE      100
       overheat:
         logdb:
           TIME       1508575428.34435
           VALUE      off
       overload:
         logdb:
           TIME       1508575428.34435
           VALUE      off
       pct:
         logdb:
           TIME       1508575428.34435
           VALUE      100
       phyLevel:
         logdb:
           TIME       1508578413.61869
           VALUE      0
       reduced:
         logdb:
           TIME       1508575428.34435
           VALUE      off
       state:
         logdb:
           TIME       1508578413.61869
           VALUE      chn:on  phys:0
       timedOn:
         logdb:
           TIME       1508575428.34435
           VALUE      off
   READINGS:
     2017-10-21 10:43:43   CommandAccepted yes
     2017-10-20 14:54:02   R-fuseDelay     1 s
     2017-10-20 14:54:02   R-ovrTempLvl    80 C
     2017-10-20 14:54:02   R-powerUpAction off
     2017-10-20 14:54:02   R-redLvl        40 %
     2017-10-20 14:54:02   R-redTempLvl    75 C
     2017-10-21 10:45:54   R-self01-lgActionTypeDim off
     2017-10-21 10:45:54   R-self01-lgCtDlyOff geLo
     2017-10-21 10:45:54   R-self01-lgCtDlyOn geLo
     2017-10-21 10:45:54   R-self01-lgCtOff geLo
     2017-10-21 10:45:54   R-self01-lgCtOn geLo
     2017-10-21 10:45:54   R-self01-lgCtRampOff geLo
     2017-10-21 10:45:54   R-self01-lgCtRampOn geLo
     2017-10-21 10:45:54   R-self01-lgCtValHi 100
     2017-10-21 10:45:54   R-self01-lgCtValLo 50
     2017-10-21 10:45:54   R-self01-lgDimJtDlyOff rampOff
     2017-10-21 10:45:54   R-self01-lgDimJtDlyOn rampOn
     2017-10-21 10:45:54   R-self01-lgDimJtOff dlyOn
     2017-10-21 10:45:54   R-self01-lgDimJtOn dlyOff
     2017-10-21 10:45:54   R-self01-lgDimJtRampOff off
     2017-10-21 10:45:54   R-self01-lgDimJtRampOn on
     2017-10-21 10:45:54   R-self01-lgDimMaxLvl 100 %
     2017-10-21 10:45:54   R-self01-lgDimMinLvl 0 %
     2017-10-21 10:45:54   R-self01-lgDimStep 5 %
     2017-10-21 10:45:54   R-self01-lgMultiExec off
     2017-10-21 10:45:54   R-self01-lgOffDly 0 s
     2017-10-21 10:45:54   R-self01-lgOffDlyBlink on
     2017-10-21 10:45:54   R-self01-lgOffDlyNewTime 0.4 s
     2017-10-21 10:45:54   R-self01-lgOffDlyOldTime 0.4 s
     2017-10-21 10:45:54   R-self01-lgOffDlyStep 5 %
     2017-10-21 10:45:54   R-self01-lgOffLevel 0 %
     2017-10-21 10:45:54   R-self01-lgOffTime unused
     2017-10-21 10:45:54   R-self01-lgOffTimeMode absolut
     2017-10-21 10:45:54   R-self01-lgOnDly 0 s
     2017-10-21 10:45:54   R-self01-lgOnDlyMode setToOff
     2017-10-21 10:45:54   R-self01-lgOnLevel 100 %
     2017-10-21 10:45:54   R-self01-lgOnLvlPrio high
     2017-10-21 10:45:54   R-self01-lgOnMinLevel 10 %
     2017-10-21 10:45:54   R-self01-lgOnTime unused
     2017-10-21 10:45:54   R-self01-lgOnTimeMode absolut
     2017-10-21 10:45:54   R-self01-lgRampOffTime 0.5 s
     2017-10-21 10:45:54   R-self01-lgRampOnTime 0.5 s
     2017-10-21 10:45:54   R-self01-lgRampSstep 5 %
     2017-10-21 10:45:54   R-self01-shActionTypeDim off
     2017-10-21 10:45:54   R-self01-shCtDlyOff geLo
     2017-10-21 10:45:54   R-self01-shCtDlyOn geLo
     2017-10-21 10:45:54   R-self01-shCtOff geLo
     2017-10-21 10:45:54   R-self01-shCtOn geLo
     2017-10-21 10:45:54   R-self01-shCtRampOff geLo
     2017-10-21 10:45:54   R-self01-shCtRampOn geLo
     2017-10-21 10:45:54   R-self01-shCtValHi 100
     2017-10-21 10:45:54   R-self01-shCtValLo 50
     2017-10-21 10:45:54   R-self01-shDimJtDlyOff rampOff
     2017-10-21 10:45:54   R-self01-shDimJtDlyOn rampOn
     2017-10-21 10:45:54   R-self01-shDimJtOff dlyOn
     2017-10-21 10:45:54   R-self01-shDimJtOn dlyOff
     2017-10-21 10:45:54   R-self01-shDimJtRampOff off
     2017-10-21 10:45:54   R-self01-shDimJtRampOn on
     2017-10-21 10:45:54   R-self01-shDimMaxLvl 100 %
     2017-10-21 10:45:54   R-self01-shDimMinLvl 0 %
     2017-10-21 10:45:54   R-self01-shDimStep 5 %
     2017-10-21 10:45:54   R-self01-shMultiExec off
     2017-10-21 10:45:54   R-self01-shOffDly 0 s
     2017-10-21 10:45:54   R-self01-shOffDlyBlink on
     2017-10-21 10:45:54   R-self01-shOffDlyNewTime 0.4 s
     2017-10-21 10:45:54   R-self01-shOffDlyOldTime 0.4 s
     2017-10-21 10:45:54   R-self01-shOffDlyStep 5 %
     2017-10-21 10:45:54   R-self01-shOffLevel 0 %
     2017-10-21 10:45:54   R-self01-shOffTime unused
     2017-10-21 10:45:54   R-self01-shOffTimeMode absolut
     2017-10-21 10:45:54   R-self01-shOnDly 0 s
     2017-10-21 10:45:54   R-self01-shOnDlyMode setToOff
     2017-10-21 10:45:54   R-self01-shOnLevel 100 %
     2017-10-21 10:45:54   R-self01-shOnLvlPrio high
     2017-10-21 10:45:54   R-self01-shOnMinLevel 10 %
     2017-10-21 10:45:54   R-self01-shOnTime unused
     2017-10-21 10:45:54   R-self01-shOnTimeMode absolut
     2017-10-21 10:45:54   R-self01-shRampOffTime 0.5 s
     2017-10-21 10:45:54   R-self01-shRampOnTime 0.5 s
     2017-10-21 10:45:54   R-self01-shRampSstep 5 %
     2017-10-20 14:54:02   R-statusInfoMinDly 2 s
     2017-10-20 14:54:02   R-statusInfoRandom 1 s
     2017-10-20 14:54:02   R-transmitTryMax 6
     2017-10-21 10:43:48   deviceMsg       on (to vccu)
     2017-10-21 10:43:48   dim             stop:on
     2017-10-21 10:43:48   level           100
     2017-10-21 10:43:48   overheat        off
     2017-10-21 10:43:48   overload        off
     2017-10-21 10:43:48   pct             100
     2017-10-21 10:51:06   peerList        self01,
     2017-10-21 11:33:33   phyLevel        0
     2017-10-21 10:43:48   recentStateType info
     2017-10-21 10:43:48   reduced         off
     2017-10-21 11:33:33   state           chn:on  phys:0
     2017-10-21 10:43:48   timedOn         off
   helper:
     dlvlCmd    ++A011BBA0AA3942F90202C80320FFFF
     peerIDsRaw ,3942F901,00000000
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     role:
       chn        1
     shadowReg:
     tmpl:
     vDim:
       idPhy      3942F901
Attributes:
   model      HM-LC-Dim1T-Pl-3
   peerIDs    00000000,3942F901,
   webCmd     statusRequest:toggle:on:off:up:down

Pfriemler

#16
hm... müsste ich mal prüfen. Vielleicht ein Fehler in der HMConfig.pm. stay tuned ...
edit: Wozu sollte er sonst virtuelle Kanäle haben?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Pfriemler

Jau, ich denke ich habe Martin vor kurzem eine falsche Änderung vorgeschlagen, Korrektur ist unterwegs.
Hab ihn mal testweise als registerkompatibel zum HM-LC-Dim1L-CV-2 in der HMConfig.pm und nun sieht es besser aus, das Register ist da.
$culHmRegModel{"HM-LC-Dim1T-Pl-3"}      =
$culHmRegModel{"HM-LC-Dim1L-Pl-3"}      = $culHmRegModel{"HM-LC-Dim1L-CV-2"};

Mal sehen, was Martin dazu sagt, denke dass er den besseren Überblick hat.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness


darkness

Hallo.

Ich habe die Änderung mal manuell eingepflegt und ausprobiert. Läuft.

Jetzt klappt das auch mit dem Schalten der unterschiedlichen Helligkeit, je nach Tageszeit.
FHEM steuert jetzt nur noch den virtuellen Kanal, der die Helligkeit beeinflusst.

Vielen Dank für Eure Hilfe!

Gibt es dazu was im Wiki? Gefunden hatte ich nichts. Dann könnte ich das ganze mal als Artikel einstellen.

Gruß

Pfriemler

Einen Artikel über die Verwendung virtueller Kanäle gibt es noch nicht, höchstens was bei den konkreten Geräten. Aber es wäre die Arbeit wert. Ich tue gern mit, ggf. als Korrektor.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Beta-User

Wiki-Artikel fände ich klasse, dachte schon, ich hätte nicht genug gesucht... ::)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Pfriemler

ZitatWiki-Artikel fände ich klasse, dachte schon, ich hätte nicht genug gesucht... ::)
Hast Du auch nicht. Ich auch nicht. Gibt's doch schon, zumindest als einfache Erklärung:

Homematic - virtuelle Kanäle

Und noch ein Nachtrag: Dämmerung + Bewegungsmelder + Taster mit virtuellen Kanälen:

Beispiele beim LED-PWM-Dimmer
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness

Hm, das war aber auch gut versteckt  ;D

Na gut, dann werde ich meine Konfiguration mal dort einpflegen.


Beta-User

OK, ich habe noch eine weiter Fundstelle: Im Einsteiger-pdf steht dazu auch was (hinten im HM-Teil)...

Aber ehrlich gesagt, werde ich dazu nur bedingt schlau, weil man die virtuellen Kanäle tatsächlich nur bei Dimmern sieht, sie aber auch bei anderen Devices vorhanden sein müssen (sonst würde sich der Schaltaktor  nicht mit dem Bewegungsmelder auf umgebungslichtabhängiges Schalten konfigurieren lassen...).

Und die virtuellen Kanäle aus FHEM heraus immer wieder mit den aktuellen Werten zu füllen, ist dann auch nicht das, was ich eigentlich wollte (bzw. was nach dem ELV-Artikel gehen sollte). Ist aber auch nicht so wichtig, meine notify's funtionieren ja, und zeitliche Verzögerungen habe ich dadurch kaum.

Wenn, dann müßte man also die einzelnen virtuellen Kanäle direkt mit konkreten Sensor-Kanälen peeren lassen, was wiederum voraussetzt, dass man weiß, wie die virtuellen bei den Devices heißen, bei denen das nicht angezeigt wird. Bei dem LC-SW2 wird z.B. nur Bewegungsmelder_1_chn-01-nnnActionType in FHEMWEB sichtbar, obwohl mind. der Helligkeitskanal auch befüllt sein muß... (intKeyVisib ist visib)

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

darkness

Zitatsonst würde sich der Schaltaktor  nicht mit dem Bewegungsmelder auf umgebungslichtabhängiges Schalten konfigurieren lassen

Doch, da die Bedingung ja nur für diesen einen Sensor gilt. Wert < X. Dafür braucht man doch nur einen Kanal.

Aber ich gebe dir recht, dass die Schaltaktoren durch virtuelle Kanäle sicherlich noch flexibler eingesetzt werden könnten. Wobei dann jeder Kanal nur 1 oder 0 sein könnte. Bei den Dimmer kann ja der Dim-Wert beeinflusst werden.

Bei deinem Beispiel wäre das ja dann so:

Kanal 1  Bewegungsmelder: Einschalten wenn Wert < X (or)
Kanal 2 Fenstersensor: 1 oder 0

Jetzt müsste aber noch die entsprechende Verknüpfungslogik vorhanden sein.
Oder habe ich dich jetzt falsch verstanden?

ZitatUnd die virtuellen Kanäle aus FHEM heraus immer wieder mit den aktuellen Werten zu füllen, ist dann auch nicht das, was ich eigentlich wollte (bzw. was nach dem ELV-Artikel gehen sollte).

ELV sagt doch:

ZitatFür die Tag-/Nacht-Information schaltet die CCU 1 den Kanal 2 bei Nacht auf 100 % und am Tag auf 0 %

Pfriemler

Zur Erinnerung:
a) virtuelle Kanäle müssen vom Aktor bereitgestellt werden, das ist nur bei neueren oder "renovierten" der Fall. Wo in FHEM keine auftauchen, gibt es auch keine (die HMConfig.pm ist da schon korrekt).

b) Bewegungsmelder senden immer short-Trigger mit Werten, der Wert hat was mit der Helligkeit zu tun und die Reaktion eines gepeerten Aktors darauf wird mit dessen Werteschwellen eingestellt.  Es gibt keinen separaten Helligkeitskanal.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Beta-User

Danke für die Klarstellungen, ist irgendwie doch schon zu lange her, dass ich mich mit den Kanälen usw. richtig und intensiv beschäftigt hatte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

darkness


Pfriemler

In der Liste der Befehle fehlt noch das "set ... old", mit der ein Dimmer auf den zuletzt eingestellten Dimmerwert vor dem Ausschalten einschaltet.

Davon ab finde ich, man sollte in den Geräte-Wiki-Seiten nur die gerätespezifischen Dinge behandeln - für die Typen (Klassen) gibt es bereits Sammelseiten, die zum Teil schon gut bestückt sind und auf die man verweisen sollte. Ich erlaube mir dahin mal zu kopieren und Du kannst ja dann mal sehen, ob Du die Geräteseite entsprechend dorthin verlinkst.

Jm2c.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness

Hallo Pfriemler,

von mir aus kann der Artikel gerne aufgeteilt werden. Das war nur mal meine erste Idee. Das Ziel sollte sein, dass die Nutzung der virtuellen Kanäle entsprechend Dokumentiert ist.
Verschiebst du den Absatz?


Gruß

Pfriemler

ich mach ne Kopie und ne Notiz in der Diskussion für später. Dauert aber ein paar Tage.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Morgennebel

Zitat von: darkness am 30 Oktober 2017, 20:16:15
wie angekündigt habe ich hier im Wiki einen Eintrag erstellt

Das ist ein super-hilfreicher Eintrag, der erahnen läßt, daß dies eine Lösung für mich sein könnte.

Leider verstehe ich ihn nicht.

Wäre es bitte, bitte möglich, diesen noch ausführlicher zu gestalten und mit Beispielgeräten zu arbeiten?

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

darkness

Hallo,

für mich wäre es hilfreich, wenn du schreibst was genau du nicht verstehst  ;D

Gruß

Morgennebel

Nun...

Der Wiki-Anfang liest sich wie jede andere Geräte-Beschreibung auch. Gerät, Features, wie wirds angesprochen.

Dann, ohne Vorwarnung Mathematik (phyLevel) und ein riesiger Codeblock. Und am Ende noch ein Lösungshinweis.
Ich fühle mich wie damals in der Universität, wo der Mathedozent eine Formal an die Tafel schrieb und dann sagte,
der Beweis sei doch total trivial...

Ich glaube, nach 4 Semestern hab ich dann langsam verstanden, was er meinte.

Wäre es Dir denn möglich, den phyLevel-Level Ansatz und "Über FHEM wird dieser Kanal je nach Tageszeit gesetzt"
noch ein wenig zu erläutern?

Läßt sich das ganze eigentlich in ein hminfo-Template giessen (ich hatte doch da mal nen Bookmark, den ich nie
verstanden hatte)

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

darkness

#35
Ok, dann hast du aber nicht auf den Link virtuelle Kanäle geklickt, oder?
https://wiki.fhem.de/wiki/HomeMatic#virtuelle_Kan.C3.A4le

Dort sind die Grundlagen für virtuelle Kanäle zu finden.
Diese Grundlagen wären in meinem Artikel nicht zielführend, da es ja auch an andere Stelle verwendet werden kann.

ZitatWäre es Dir denn möglich, den phyLevel-Level Ansatz und "Über FHEM wird dieser Kanal je nach Tageszeit gesetzt"
noch ein wenig zu erläutern?

Was reicht denn daran nicht?
ZitatÜber FHEM wird dieser Kanal je nach Tageszeit gesetzt. Da dieser vom ersten Kanal abgezogen wird, bedeutet das Beispielsweise Tags 0% und Nachts 70%.Als Ergebnis wäre die Lampe Nachts auf 30% gedimmtUm diesen Kanal vom ersten zu subtrahieren muss Register logicCombination angepasst werden

Das der Nutzer einen Wert per set für einen Kanal machen kann setze ich mal voraus. Das ganze soll ja auch keine Klick&Fertig Anleitung sein.

Was wäre denn eine bessere Alternative für die Formulierung?

Ich bin ja daran interessiert, den Wiki-Artikel entsprechend zu verbessern. Aber ich sehe gerade noch nicht, was ich konkret ändern kann.

Edit:

ZitatLäßt sich das ganze eigentlich in ein hminfo-Template giessen (ich hatte doch da mal nen Bookmark, den ich nie
verstanden hatte)
Die gibt es doch schon. Damit setzte ich die Werte des BWM.


darkness

Zitat von: Pfriemler am 30 Oktober 2017, 21:30:21
In der Liste der Befehle fehlt noch das "set ... old", mit der ein Dimmer auf den zuletzt eingestellten Dimmerwert vor dem Ausschalten einschaltet.

Davon ab finde ich, man sollte in den Geräte-Wiki-Seiten nur die gerätespezifischen Dinge behandeln - für die Typen (Klassen) gibt es bereits Sammelseiten, die zum Teil schon gut bestückt sind und auf die man verweisen sollte. Ich erlaube mir dahin mal zu kopieren und Du kannst ja dann mal sehen, ob Du die Geräteseite entsprechend dorthin verlinkst.

Jm2c.


Hallo Pfriemler,

welche Typenseite hast du gemeint. Im Wiki habe ich leider nichts zum Thema Dimmer gefunden.

Gruß

Morgennebel

Zitat von: darkness am 24 November 2017, 10:19:11
Ok, dann hast du aber nicht auf den Link virtuelle Kanäle geklickt, oder?
https://wiki.fhem.de/wiki/HomeMatic#virtuelle_Kan.C3.A4le

Jetzt schon. Ich habe die Kanäle auch schon gesehen, meine Kenntnisse hören aber derzeit bei der Kopplung
eines Dimmers mit einer Fernbedienung (HM-PB-2-WM55-2) auf. Dabei ist je ein Taster mit einem Kanal ver-
bunden - wie im Wiki erklärt.

Bei mir sieht Ch 2 z.B. so aus:


Internals:
   CFGFN
   DEF        31991C02
   NAME       HM_OG.LENNART_FBLichtEingang_Btn_02
   NOTIFYDEV  global
   NR         276
   NTFY_ORDER 50-HM_OG.LENNART_FBLichtEingang_Btn_02
   STATE      Short 1_230 (to HM_OG.LENNART_DmOberlicht)
   TYPE       CUL_HM
   chanNo     02
   device     HM_OG.LENNART_FBLichtEingang
   READINGS:
     2017-11-24 07:57:58   state           Short 1_230 (to HM_OG.LENNART_DmOberlicht)
     2017-11-24 07:57:58   trigger         Short_230
     2017-11-24 07:57:59   triggerTo_HM_OG.LENNART_DmOberlicht Short_230_ack
     2017-11-24 07:57:58   trigger_cnt     230
   helper:
     BNO        230
     BNOCNT     1
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     tmpl:
Attributes:
   model      HM-PB-2-WM55-2


wo genau kommen in Deinem Beispiel die Werte 30% und 70% hin?

Die Wiki-Seite zu Virtuellen Kanälen läßt sich (genau wie dieser Thread) ja auch noch verlinken. Und Du sagst, daß Du ein Template für den Bewegungsmelder verwendest.

Ich bin für die Hilfe echt dankbar, aber mir fehlt irgendwie Information, um dieses nachzustellen...

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

darkness

#38
Der HM-PB-2-WM55-2 ist nur zum schalten des 1. Virtuellen Kanal des Aktors zuständig.
Also peeren des HM-PB-2-WM55-2 mit dem  1. Virtuellen Kanal des Aktors . Hier kann das HMInfo-Template motionOnDim zum Einsatz kommen.

Funktioniert das schon bei dir? Ansonsten sollte das der erste Schritt sein.

Normalerweise wird dann der 1. Kanal mit 100% vom Dimmer angeschaltet.

Der 2. Kanal des Dimmers bekommt die logische Verknüpfung minus. Wenn du diesen dann (händisch) auf 50% setzt, werden diese 50% vom 1. Kanal (100%) abgezogen.
Als Ergebniss ist der Dimmer insgesamt dann auf 50% gedimmt.


Was ich aber gerade sehe:
ZitatDabei ist je ein Taster mit einem Kanal verbunden - wie im Wiki erklärt.

Du verwendest nicht den Bewegungsmelder sondern nur die Tasten?
Was genau ist denn dein Ziel? Fangen wir mal damit an  ;)


Morgennebel

Zitat von: darkness am 24 November 2017, 10:53:47
Du verwendest nicht den Bewegungsmelder sondern nur die Tasten?
Was genau ist denn dein Ziel? Fangen wir mal damit an  ;)

Licht im Kinderzimmer mit Taster, Bewegungsmelder (sonst brennt es immer) und Helligkeitssensor...

Szenario 1: Tagsüber, Helligkeitssensor unter Schwelle, Bewegung = Licht 100% solange Bewegung + 5Min
Szenario 2: Nachts, Tastendruck AN = Licht 20% aufdimmen
Szenario 3: Abends, langer Tastendruck = Einschlaflicht (100% zu 0%, 20 Minutes)#
Szenario 4: Nachts, Bewegung = Licht 10% aufdimmen solange Bewegung

Ich denke, daß passt recht gut zu der beschriebenen Lösung...

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Pfriemler

Zitat von: darkness am 24 November 2017, 10:29:42
Hallo Pfriemler, ... welche Typenseite hast du gemeint. Im Wiki habe ich leider nichts zum Thema Dimmer gefunden.
https://wiki.fhem.de/wiki/HomeMatic_Type_Dimmer
Da sind derzeit nur die Dimmer gelistet. Es gibt aber andere Type-Seiten, die schon besser bestückt sind. Ich finde, generelle Dinge, die alle diese Geräte betreffen, sollten dort erklärt und in den Seiten zu den einzelnen Geräten dann darauf verwiesen werden - was ich vor zwei Wochen schon mal sagte. Leider habe ich gerade Nebenbaustellen ohne Ende und komme nicht dazu. Also ran, wer will.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

darkness

Zitat von: Morgennebel am 24 November 2017, 11:15:15
Szenario 1: Tagsüber, Helligkeitssensor unter Schwelle, Bewegung = Licht 100% solange Bewegung + 5Min
Szenario 2: Nachts, Tastendruck AN = Licht 20% aufdimmen
Szenario 3: Abends, langer Tastendruck = Einschlaflicht (100% zu 0%, 20 Minutes)#
Szenario 4: Nachts, Bewegung = Licht 10% aufdimmen solange Bewegung

Mein Vorschlag wäre, diese Szenarien auch als "Arbeitspakete" umzusetzen. Dann lässt es sich auch leichter unterstützen.

Szenario 1: Peeren des BWM mit dem 1. Virtuellen Kanal. Dann dazu das HMTemplate motionOnDim um die Werte zu setzen.
Szenario 2 und 4 kann anschließend gelöst werden.
Szenario 3 könnte auch gehen durch peeren gehen. Bin ich mir aber nicht sicher. Wahrscheinlich aber mit entsprechenden Long-Registern


Pfriemler

#43
Mein Senf dazu:

Zitat von: Morgennebel am 24 November 2017, 11:15:15
Szenario 1: Tagsüber, Helligkeitssensor unter Schwelle, Bewegung = Licht 100% solange Bewegung + 5Min
Szenario 2: Nachts, Tastendruck AN = Licht 20% aufdimmen
Szenario 3: Abends, langer Tastendruck = Einschlaflicht (100% zu 0%, 20 Minutes)#
Szenario 4: Nachts, Bewegung = Licht 10% aufdimmen solange Bewegung

Boah, das ist anspruchsvoll.
Szene 3 lässt sich m.E. fest einrichten. lgOnLevel, sofortiger Verweis von Ein-Zustand in die Down-Rampe, Zeit entsprechend. Geht dann aber auch tagsüber.
Der Unterschied zwischen Tag und Nach ließe sich mit einem von FHEM tageszeitgesteuerten Kanal regeln (zwei at mit sunrise/sunset setzen den Dimmlevel auf 100 bzw. 20. Szene 2 Tastendruck würde dann entsprechend tags 100, nachts 20 % leuchten. Nur die Bewegung schert da aus: Würde man alle Aktionen mit dem  zeitgesteuerten Kanal multiplizieren, könnte man den shOnLevel des Bewegungsmelders auf 50% setzen - dann würde aber tagsüber das Licht auch nur zu 50% angehen.
Irgendwo müssten also noch Kompromisse gemacht werden.

OT-Zitat:
ZitatIch fühle mich wie damals in der Universität, wo der Mathedozent eine Formal an die Tafel schrieb und dann sagte, der Beweis sei doch total trivial...
Das war nicht zufällig an der TU Dresden 80er oder 90er? Aber vermutlich reden alle Matheprofs so ...
edit: ne, der sprach anders ... der war ein paar Formeln (so Integrale und Differentiale zweiter Ordnung), 10% Lösungsweg und dann " ... der Rest ist trivial."
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Morgennebel

Zitat von: Pfriemler am 24 November 2017, 11:44:18
Boah, das ist anspruchsvoll.

Dein Motto ist doch "Geht nicht gibs nicht"? :)

Zitat von: Pfriemler am 24 November 2017, 11:44:18
Szene 3 lässt sich m.E. fest einrichten. lgOnLevel, sofortiger Verweis von Ein-Zustand in die Down-Rampe, Zeit entsprechend. Geht dann aber auch tagsüber.

Da das der seltenste Anwendungsfall wäre, würd ich den zur Not über den Server lösen...

Zitat von: Pfriemler am 24 November 2017, 11:44:18
OT-Zitat: Das war nicht zufällig an der TU Dresden 80er oder 90er? Aber vermutlich reden alle Matheprofs so ...
edit: ne, der sprach anders ... der war ein paar Formeln (so Integrale und Differentiale zweiter Ordnung), 10% Lösungsweg und dann " ... der Rest ist trivial."

Uni Passau, Grundstudium Informatik 1992-1995. Damals war das Grundstudium Informatik nahezu deckungsgleich mit Grundstudium Mathematik, die Survivalrate lag bei 15%...

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Pfriemler

Zitat von: Morgennebel am 24 November 2017, 12:23:12
1. Dein Motto ist doch "Geht nicht gibs nicht"? :)
2. Da das der seltenste Anwendungsfall wäre, würd ich den zur Not über den Server lösen...
3. Uni Passau ...
zu 1. Fast.  ;)
zu 2. Vielleicht tatsächlich sinnvoll, wenn an weitere Bedingungen geknüpft. Aber wie gesagt direkt registerlich machbar. Es ist ja klasse was alles geht. Ich habe z.B. in der Küche einen Min-Dim-Level festgelegt, mit dem man auch einschalten kann: lang drücken unten auf der Wippe unten leuchtet mit minimaler Helligkeit (und dimmt auch nur bis dahin runter). Aus geht dann mit kurz.
Für Deinen Fall: Blöd ist, wenn man auf das manuelle Dimmen nicht verzichten will. Aber man könnte das Dimmprogramm auch jederzeit über eine Tastensequenz anfeuern. Das eigentlich Dimmprogramm läuft dann wieder im Aktor, ohne jede Registerfrickelei. set ... pct ... hat da ja zusätzliche Parameter.
3. Ich wie gesagt allda: Vom Schule-Matheass nach drei Jahren Grundstudium gerade so mit 4. Und gefühlt 98% davon nie wieder gebraucht.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."