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.
Ja, und weiter?
Warum kann ich den einen Kanal betätigen und der ander ist nicht erreichbar?
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
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
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.
Der war ja schon mal angelernt, hat es wohl vergessen. Blöd ist nur, daß das Ding jetzt hinter einer Holzverkleidung sitzt.
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?
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?
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
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)
Dann schubs mich doch mal bitte an. Ich kann damit ein paar Punkte bei der Regierung sammeln.
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
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.
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.
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
Geht wieder, genaue Prüfung morgen.
@franky08: kannste mal sehen, für was das forum gut ist. Einschliesslich den dummies wie mir :-)))
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?
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.
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.
Es kommt beim ausführen ein
template undefined Hand1_3:short
oder ein
template undefined Hand1_3
set hm templateSet <entity> <tempalteName> <peer>:short 30
also
set hm templateSet Vent_Bad_High SwDelayedOn Hand1_3:short 30
stimmt die Anleitung nicht?
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?
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.
Nur zur Klarstellung: swdelay verzögert das einschalten. Autooff schaltet automatisch aus.
Swtoggle toggelt.
Was willst du?
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.
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
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
Ach, noch was: Wenn ich "postinitconfig" in die Suche eingebe, finde ich als einzigen Beitrag Deinen letzten Post.
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.
,