FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: stgeran am 15 Dezember 2015, 19:51:22

Titel: Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 15 Dezember 2015, 19:51:22
Bei meinen Versuchen mit dem Handsender habe ich erreicht, daß ein Kanal des HM-LC-Sw2-FM die "Glühlampe" mit einem Ausrufezeichen zeigt. Kanal1 kann ich schalten und es tut sich auch etwas, Kanal2 kann ich auch schalten, es passiert aber nichts. Schalten heißt: im web die "Glühlampe" geht an und aus.
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: Puschel74 am 15 Dezember 2015, 19:54:30
Ja, und weiter?
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: stgeran am 15 Dezember 2015, 20:00:43
Warum kann ich den einen Kanal betätigen und der ander ist nicht erreichbar?
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: Puschel74 am 15 Dezember 2015, 20:06:47
Weil der andere geht und der eine nicht ...  ::)
Nein im Ernst.
Poste ein list des Device - ggf. der Channel
Schau ins Logfile und poste die Einträge
Zur Not - sniffe die Messages
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: stgeran am 15 Dezember 2015, 20:13:08
Vent_Bad_High geht nicht
Internals:
   CFGFN      /opt/fhem/FHEM/HM.cfg
   DEF        32754102
   NAME       Vent_Bad_High
   NR         305
   NTFY_ORDER 50-Vent_Bad_High
   STATE      unreachable
   TYPE       CUL_HM
   chanNo     02
   device     Vent_Bad
   peerList   Hand1_3,
   Readings:
     2015-12-15 18:13:24   CommandAccepted yes
     2015-12-15 18:06:46   R-Hand1_3-lgActionType jmpToTarget
     2015-12-15 18:06:46   R-Hand1_3-shActionType jmpToTarget
     2015-12-15 18:06:44   R-sign          off
     2015-12-15 18:15:43   deviceMsg       on (to broadcast)
     2015-12-15 18:15:43   level           100
     2015-12-15 18:15:43   pct             100
     2015-12-15 18:06:45   peerList        Hand1_3,
     2015-12-15 18:15:43   recentStateType info
     2015-12-15 19:53:18   state           unreachable
     2015-12-15 18:15:43   timedOn         off
     2015-12-15 19:53:02   trigLast        Hand1_3:short
     2015-12-15 19:53:02   trig_Hand1_3    short
     Regl_01::
       VAL
   Helper:
     dlvl       00
     dlvlCmd    ++A0111234563275410202000000
     getCfgList all
     getCfgListNo ,3
     peerIDsRaw ,2620E903,00000000
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Role:
       chn        1
     Shadowreg:
Attributes:
   model      HM-LC-SW2-FM
   peerIDs    00000000,2620E903,
   room       Bad,CUL_HM
   webCmd     statusRequest:toggle:on:off


Vent_Bad_Low geht
Internals:
   CFGFN      /opt/fhem/FHEM/HM.cfg
   DEF        32754101
   NAME       Vent_Bad_Low
   NR         304
   NTFY_ORDER 50-Vent_Bad_Low
   STATE      off
   TYPE       CUL_HM
   chanNo     01
   device     Vent_Bad
   peerList   Hand1_3,
   Readings:
     2015-12-15 18:13:25   CommandAccepted yes
     2015-12-15 18:06:42   R-Hand1_3-lgActionType jmpToTarget
     2015-12-15 18:06:42   R-Hand1_3-shActionType jmpToTarget
     2015-12-15 18:06:32   R-sign          off
     2015-12-15 19:53:04   deviceMsg       off (to broadcast)
     2015-12-15 19:53:04   level           0
     2015-12-15 19:53:04   pct             0
     2015-12-15 18:06:33   peerList        Hand1_3,
     2015-12-15 19:53:04   recentStateType info
     2015-12-15 19:53:04   state           off
     2015-12-15 19:53:04   timedOn         off
     2015-12-15 19:53:02   trigLast        Hand1_3:short
     2015-12-15 19:53:02   trig_Hand1_3    short
     Regl_01::
       VAL
   Helper:
     getCfgList all
     getCfgListNo ,3
     peerIDsRaw ,2620E903,00000000
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Role:
       chn        1
     Shadowreg:
Attributes:
   model      HM-LC-SW2-FM
   peerIDs    00000000,2620E903,
   room       Bad,CUL_HM
   webCmd     statusRequest:toggle:on:off


Vent_Bad (der HM-LC-Sw2-FM an sich)
Internals:
   CFGFN      /opt/fhem/FHEM/HM.cfg
   DEF        327541
   HMLAN1_MSGCNT 61
   HMLAN1_RAWMSG E327541,0000,00148689,FF,FFAF,4E841032754100000006010000
   HMLAN1_RSSI -81
   HMLAN1_TIME 2015-12-15 19:53:04
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     61
   NAME       Vent_Bad
   NR         302
   NTFY_ORDER 50-Vent_Bad
   STATE      MISSING ACK
   TYPE       CUL_HM
   channel_01 Vent_Bad_Low
   channel_02 Vent_Bad_High
   hmPairSerial LEQ0884366
   lastMsg    No:4E - t:10 s:327541 d:000000 06010000
   protCmdDel 70
   protLastRcv 2015-12-15 19:53:04
   protResnd  91 last_at:2015-12-15 19:53:26
   protResndFail 28 last_at:2015-12-15 19:53:31
   protSnd    60 last_at:2015-12-15 19:53:13
   protState  CMDs_done_Errors:1
   rssi_HMLAN1 avg:-84.75 min:-88 max:-82 lst:-88 cnt:4
   rssi_at_HMLAN1 avg:-80.85 min:-87 max:-76 lst:-81 cnt:61
   Readings:
     2015-12-15 19:53:03   CommandAccepted yes
     2015-12-15 18:41:34   D-firmware      1.12
     2015-12-15 18:41:34   D-serialNr      LEQ0884366
     2015-07-08 18:38:12   PairedTo        0x123456
     2015-12-15 18:14:46   R-pairCentral   set_0x000000
     2015-12-15 18:58:42   RegL_00:
     2015-07-08 18:38:07   level           0
     2015-07-08 18:38:07   pct             0
     2015-07-08 18:38:07   powerOn         2015-07-08 18:38:07
     2015-07-08 18:38:07   recentStateType info
     2015-12-15 19:53:31   state           MISSING ACK
     2015-07-08 18:38:07   timedOn         off
   Helper:
     HM_CMDNR   79
     cSnd       111234563275410201000000,01123456327541020E
     mId        0009
     rxType     1
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +327541,00,00,00
       nextSend   1450205584.68207
       prefIO
       rxt        0
       vccu
       p:
         327541
         00
         00
         00
     Mrssi:
       mNo        4E
       Io:
         HMLAN1     -79
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
       prs        1
     Rssi:
       Hmlan1:
         avg        -84.75
         cnt        4
         lst        -88
         max        -82
         min        -88
       At_hmlan1:
         avg        -80.8524590163935
         cnt        61
         lst        -81
         max        -76
         min        -87
     Shadowreg:
       RegL_00:   02:01 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:00 00:00
   Nb:
     cnt        1
Attributes:
   IODev      HMLAN1
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.12
   model      HM-LC-SW2-FM
   room       CUL_HM
   serialNr   LEQ0884366
   subType    switch
   webCmd     getConfig:clear msgEvents
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: Puschel74 am 15 Dezember 2015, 20:26:14
Auszug aus der beiliegenden Bedienungsanleitung:
ZitatZum Anlernen an
einen bestimmten Kanal des Aktors halten Sie die
zugehörige Kanaltaste (beim Rollladenaktor eine der
beiden Tasten ▲ oder ▼ ) für etwa 4s lang gedrückt.
Dauerhaftes Blinken der Geräte-LED signalisiert den
Anlernmodus
Da ich keinen Sw2 habe würde ich glatt mal versuchen auch den 2.ten Kanal in den Anlernmodus zu bringen und an der FB die zugehörige Taste drücken.
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: stgeran am 15 Dezember 2015, 21:17:17
Der war ja schon mal angelernt, hat es wohl vergessen. Blöd ist nur, daß das Ding jetzt hinter einer Holzverkleidung sitzt.
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: martinp876 am 15 Dezember 2015, 21:20:41
Beide Kanäle sind mit der gleichen taste gepeert.
Welche Aktion hast du in den Kanälen programmiert?


Warum ist der Titel des threats nichtssagend?
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: stgeran am 15 Dezember 2015, 21:31:39
Ursprünglich mal "Vent_Bad_Low ein" und mit 30sec Verzögerung "Vent_Bad_High ein" als single. Nächster Tastendruck sollte das Ganze wieder ausschalten, hat aber nur "Vent_Bad_Low" ausgeschaltet, "Vent_Bad_High" musste ich dann über das web ausschalten. Soll ich den Titel in "Missing Ack Probleme mit dem HM-LC-Sw2-FM" umbenennen?
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: martinp876 am 15 Dezember 2015, 22:08:17
Hast du ein missing ACK?
Du kannst wohl einfach bei deinem Kanal 2 kein toggle implementieren.
Das könntest du über template swtoggle machen. Da muss man keine Register kennen.
Der Titel ist: wie realisiert man ein toggle bei einem sw
Titel: Antw:HM-LC-Sw2-FM
Beitrag von: frank am 15 Dezember 2015, 22:14:34
ZitatDer war ja schon mal angelernt, hat es wohl vergessen.
mir sieht das eher nach einem reset aus.  ;)

  2015-07-08 18:38:12   PairedTo        0x123456
2015-12-15 18:14:46   R-pairCentral   set_0x000000


anlernen mit seriennummer geht auch durch die holzverkleidung durch.  8)
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 15 Dezember 2015, 22:44:46
Dann schubs mich doch mal bitte an. Ich kann damit ein paar Punkte bei der Regierung sammeln.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: frank am 15 Dezember 2015, 23:05:33
Zitat von: stgeran am 15 Dezember 2015, 22:44:46
Dann schubs mich doch mal bitte an.
du meinst wohl eher in den hintern treten, da du zu faul zum suchen bist.  ;)

hmPairSerial
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 15 Dezember 2015, 23:16:04
Nein, das hab ich auch schon gesehen. Bei mir
set HMLAN1 hmPairSerial LEQxxxxxxx
Aber was dann? Beim "normalen" pairen nehme ich doch
set HMLAN1 hmPairForSec 300
und bringe den Aktor auch in den pairmode.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: frank am 15 Dezember 2015, 23:22:18
ZitatAber was dann?
na was wohl? nichts, oder willst du doch an die verkkleidung?

wenn der schalter brav war und zugehört hat, ist er dann gepairt. mach ein getconfig und schau nach.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: franky08 am 15 Dezember 2015, 23:28:23
Tschuldigung, aber der letzte Post hat mich heute, nach einem Sch... Tag aufgeheitert, musste ich mal schreiben.
Und gute Nacht.

P.S. Leider vollkommen OT  ;D

VG
Frank
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 15 Dezember 2015, 23:44:45
Geht wieder, genaue Prüfung morgen.
@franky08: kannste mal sehen, für was das forum gut ist. Einschliesslich den dummies wie mir :-)))
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 16 Dezember 2015, 18:50:27
So, es geht weiter. Ich kann Vent_Bad_Low mit dem Handsender einschalten und nach 30sec schaltet sich Vent_Bad_High dazu. Ein erneutes Drücken der gleichen Taste schaltet Vent_Bad_Low aus, Vent_Bad_High bleibt aber an, auch nach Ablauf der 30sec der Einschaltverzögerung. Ich dachte, vielleicht kommt der "Toggle" Befehl dort auch später an. Über das web kann ich Vent_Bad_High aber ausschalten. Was soll ich für ein Listing posten?
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: martinp876 am 16 Dezember 2015, 20:57:31
Es gibt keinen togle trigger. Es gibt nur trigger. Ganz wichtig zu verstehen.
Alle, in Worten ALLE Aktionen werden von aktor bestimmt. Er empfängt einen kurzen oder langen triggern von einem seiner peers. Dann schaut er in seinen Registern, die er zu diesem peer angelegt hat nach, was er machen soll. Das kann u.a. sein einschalten, ausschalten, umschalten, zeitlich begrenzt einschalten, zeitlich begrenzt ausschalten, nichts, verzögert ein oder ausschalten,.... Und Kombinationen .

Die Aktion hängt vom peer ab, ob short oder long und davon, in welchem zustand der aktor gerade ist.

Bei Sensoren gibt es noch einen level. Bei buttons nicht.
Mein Vorschlag: entweder versuchte du dies zu verstehen oder du nutzt templates dazu. Für togle gibt es schon eines.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 17 Dezember 2015, 17:54:08
Ich habe das
set hm templateDef SwDelayedOn delay "verzögertes einschalten" ActionType:jmpToTarget OffTime:110600 OnTime:100600 SwJtDlyOff:dlyOn SwJtDlyOn:on SwJtOff:dlyOn SwJtOn:no OnDly:p0 OffDly:0
schon eingegeben. Und dann
set hm templateSet Vent_Bad_Low Hand1_3:short 0
set hm templateSet Vent_Bad_High Hand1_3 SwDelayedOn:short 30
Das klappt ja auch. Beim erneuten Drücken von Hand1_3 geht, wie schon geschrieben, Vent_Bad_Low aus und Vent_Bad_High bleibt an.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 19 Dezember 2015, 19:41:39
Es kommt beim ausführen ein
template undefined Hand1_3:short
oder ein
template undefined Hand1_3
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: martinp876 am 20 Dezember 2015, 19:21:31
set hm templateSet <entity> <tempalteName> <peer>:short 30

also
set hm templateSet Vent_Bad_High SwDelayedOn Hand1_3:short 30

stimmt die Anleitung nicht?
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 20 Dezember 2015, 19:45:12
Es sieht so aus, als ob beim Verzögern der Unterschied zwischen Deinem
set hm templateSet Vent_Bad_High SwDelayedOn Hand1_3:short 30
und meinem die Position des Hand1_3 ist
set hm templateSet Vent_Bad_High Hand1_3 SwDelayedOn:short 30
Was ist aber beim Befehl ohne Verzögerung? Wäre dann
set hm templateSet Vent_Bad_High Hand1_3:short 0
richtig? Und muss ich jedesmal nach updates (shutdown restart) ein
set hm loadConfig
oder reicht ein
attr hm autoArchive 1
einmal eingegeben?
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 20 Dezember 2015, 19:53:04
Neuster Stand: Einschalten geht mit 30sec Verzögerung. Beim erneuten Betätigen von Hand1_3 geht nur Vent_Bad_Low aus, Vent_Bad_High bleibt an. Da komme ich nicht weiter.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: martinp876 am 21 Dezember 2015, 22:12:24
Nur zur Klarstellung: swdelay verzögert das einschalten. Autooff schaltet automatisch aus.
Swtoggle toggelt.

Was willst du?
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 22 Dezember 2015, 17:18:07
Ich möchte mit einem Tastendruck von Hand1_3
Vent_Bad_Low
einschalten und 30sec später soll sich
Vent_Bad_High
dazu schalten. Beim nächsten Tastendruck von Hand1_3 sollen beide zeitgleich ausgehen.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: martinp876 am 22 Dezember 2015, 21:37:04
Dein 2. Befehl war fast korrekt. Jedoch das template auch angeben!
Wie man templates per loadConfig wieder lädt ist beschrieben.
Wie man es automatisch nach lädt im einem postinitconfig auch schon oefter
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 23 Dezember 2015, 18:02:52
Meinst Du mit 2. Befehl das
set hm templateSet Vent_Bad_High Hand1_3:short 0 ?
wenn ja, dann Fehler von mir, es hätte
set hm templateSet Vent_Bad_Low Hand1_3:short 0 heisen müssen.
Und muß in DIESEN Befehl auch eine "Templatebezeichnung" hinein?
set hm templateSet Vent_Bad_Low Swtoggle Hand1_3:short 0
Wobei Swtoggle nicht in der Template Liste enthalten ist.
Was ich nicht verstehe: Vent_Bad_Low toggelt ja, nur Vent_Bad_High mit der 30sec Verzögerung nicht
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: stgeran am 23 Dezember 2015, 18:06:29
Ach, noch was: Wenn ich "postinitconfig" in die Suche eingebe, finde ich als einzigen Beitrag Deinen letzten Post.
Titel: Antw:Wie realisiert man ein toggle bei einem sw
Beitrag von: martinp876 am 23 Dezember 2015, 23:18:45
Natürlich muss bei settemplate irgendwo das template stehen. Ist im commandref angegeben. Was sollte den fhem sonst machen?

Bei global gibt es ein init event, das man zum notify nutzen kann. Da solltest du ein include deines postinitconfig eintragen.
,