Folgendes Problem:
Wechselschaltung mit zwei Schaltern. Einer mit Unterputzaktor, der andere mit Schliesserkontakt (HM-SCI-3-FM 3-Kanal), genau wie bei ELV beschrieben.
Würde gerne den Schliesserkontakt so konfigurieren, dass er togglet.
Denn im Moment bedeutet Schliesserkontakt "zu" = Licht an, "offen" = Licht aus
Dies kann aber dazu führen, dass ich diesen Schalter (nicht Taster) zweimal betätigen muss, falls der 2. Schalter mit Aktor zuvor betätigt wurde.
Laut Anleitung müsste das im Expertenmodus möglich sein, nur wie mach ich das ohne CCU.
Vielen Dank schon mal
nimm den sinnvollen Weg.
1) definiere HMInfo
define hm HMInfo
gepeert ist schon, nutze das template:
set hm templateSet <actorname> SwToggle short:<sensorname>
also
set hm templateSet meinLichtKanal02 SwToggle short:meinTasterkanal01
Nebenbei: dein Sensor kann nicht offen oder zu melden, immer nur "änderung". der Aktor muss also wie bei einem normalen taster reagieren und ein toggle machen. das ist alles.
Danke
Funktioniert diese Lösung auch ohne FHEM?
Zu deinem 2. Hinweis:
Ich dachte genau das ist der Sinn des Schliesserkontakts. Man weiss, ob er zu oder offen ist.
Eigentlich bräuchte ich eine Tasterschnittstelle (sieht gleich aus) aber habe noch einen Schliesserkontakt zuviel rumliegen und laut Doku müsste eine Toggle Funktion geben
klar. nur. das setzt die Register damit es toggelt.
bei ausführen des Befehls kommt folgende Meldung:
give <peer>:[short|long|both] with peer, not short:HM_xxx_Sw_01 short,HM_xxx_Sw_01
HM_xxx_Sw_01 entspricht dem Sensor
Nun,dann ist es wohl anders rum. Erst peer, dann short.
Das heisst?
set hm templateSet <actorname> SwToggle <sensorname>:short
Vielen Dank
Jetzt kommt folgendes:
cannot calculate value. Please issue set Deckenlampe_wz getConfig first - invalid
(Deckenlampe_wz ist aktor)
Bitte entschuldige, wenn ich hier ein bisschen unbeholfen bin.
Gruss
Tarja
Du musst ein
set Deckenlampe getConfig
machen damit das peeren abgeschlossen werden kann. Hast Du denn die Anlerntaste vom Aktor und Sensor nach dem Peering Befehl betätigt?
Gib mal bitte ein list Befehl von beiden Devices
list Deckenlampe_wz
und das selbe für den Sensor. Bitte die Ergebnisse in Code Tages hier eintragen.
Grüße
Zitat von: CoolTux am 22 März 2016, 14:32:06
Hast Du denn die Anlerntaste vom Aktor und Sensor nach dem Peering Befehl betätigt?
Bevor ich die ganze Liste poste. Wahrscheinlich habe ich was grundsätzlich falsch gemacht, denn ich habe die Anlerntaste nie gedrückt.
Nochmals für die Langsamen ;-)
D.h. zuerst Aktor und Sensor (nur den Schaltkontakt oder der ganze Sensor?) in den Anlernmodus setzen und dann den SET HM ... Befehl loschicken?
Gruss
Nein. Du machste als erstes den Befehl von Martin absetzen. Dann gehst Du zu den Geräten und drückst bei jedem auf die Anlerntaste.
Das list wollte ich haben um zu sehen ob schon der Befehl geklappt hast und du nur noch die Bestätigung brauchst.
Kannst aber auch einfach ein set Device getConfig machen und danach vom Device die Anlerntaste drücken. Und setze mal bitte das Attribut der Geräte auf 1.
Also ich setze den Befehl ab und gehe trotz der cannot calculate Meldung zu den Geräten und aktiviere den Anlernmodus.
Werde das heute Abend ausprobieren.
Hier noch der Auszug von dem List Befehl
Internals:
DEF 41940201
NAME Deckenlampe_wz
NR 88
STATE off
TYPE CUL_HM
chanNo 01
device sw_up_
peerList 389D7E01,
Readings:
2016-03-20 21:04:02 CommandAccepted yes
2016-03-22 14:24:58 R-389D7E01-lgActionType off
2016-03-22 14:24:58 R-389D7E01-shActionType jmpToTarget
2016-03-08 21:46:10 R-powerUpAction off
2016-03-08 21:46:10 R-sign off
2016-03-22 16:32:08 RegL_01. 08:00 30:06 57:24 56:00 00:00
2016-03-22 16:32:09 RegL_03.389D7E01 02:02 03:02 04:32 05:B4 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:34 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:00 8B:14 8C:63 00:00
2016-03-20 21:04:02 deviceMsg off (to CUL_0)
2016-03-20 21:04:02 level 0
2016-03-20 21:04:02 pct 0
2016-03-22 16:32:08 peerList 389D7E01,
2016-03-20 21:04:02 recentStateType ack
2016-03-20 21:04:02 state off
2016-03-20 21:04:02 timedOn off
Helper:
dlvlCmd ++A011F110344194020201000000
peerIDsRaw ,389D7E01,00000000
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
Shadowreg:
Attributes:
fhem_widget_command {"allowed_values":["off","on"],"filter":"public"}
group Licht
model HM-LC-SW2-FM
peerIDs 00000000,389D7E01,
room Wohnzimmer
webCmd statusRequest:toggle:on:off
Und
Internals:
DEF 389D7601
NAME HM_389D76_Sw_01
NR 83
STATE open
TYPE CUL_HM
chanNo 01
device HM_389D76
Readings:
2016-03-02 16:38:01 contact open (to sw_up_)
2016-03-02 16:38:01 state open
2016-03-02 16:38:01 trigger_cnt 84
Helper:
getCfgList all
getCfgListNo ,4
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
Attributes:
model HM-SCI-3-FM
peerIDs
set hm templateSet Deckenlampe_wz SwToggle HM_389D76_Sw_01:short
Hast Du das so gemacht. So habe ich Martin verstanden.
genau so
Dann würde ich auf Martin warten, eventuell hat er da noch eine Idee.
Grüße
Zuerst einmal ist der schalter nicht gepeert. Oder du hast die config nach den peeren nicht gelesen.
Es fehlen ettliche register im aktor. Hast du expert eingestellt um alles zu sehen ? Mache ein reglist, da sollte mehr kommen.
Die register aus dem template muessen im device existieren.
Vielen Dank für die Infos.
Nein kein Expertmodus auch sonst habe ich nichts gemacht. Bin blutiger Anfänger.
Du hast mir aber bereits ein paar Stichwörter gegeben. Ich werde versuchen mich ein bisschen schlau zu machen, von was du genau sprichst und melde mich dann wieder.
Guten Tag zusammen,
ok nun bin ich soweit, dass ich die Befehle absetzen konnte aber jetzt schaltet das Relais (aktor) beim schliessen oder öffnen des Schliesserkontakts gar nicht mehr.
Hier nochmals die List Readings:
Internals:
DEF 41940201
NAME Deckenlampe_wz
NR 88
STATE off
TYPE CUL_HM
chanNo 01
device sw_up_
Readings:
2016-03-28 15:54:44 CommandAccepted yes
2016-03-28 15:28:38 R-HM_389D7E_Sw_01-lgActionType off
2016-03-28 15:28:38 R-HM_389D7E_Sw_01-shActionType jmpToTarget
2016-03-08 21:46:10 R-powerUpAction off
2016-03-08 21:46:10 R-sign off
2016-03-28 15:49:38 RegL_01. 08:00 30:06 57:24 56:00 00:00
2016-03-28 15:56:21 deviceMsg off (to CUL_0)
2016-03-28 15:56:21 level 0
2016-03-28 15:56:21 pct 0
2016-03-28 15:56:21 recentStateType info
2016-03-28 15:56:21 state off
2016-03-28 15:56:21 timedOn off
2016-03-28 16:00:09 trigLast HM_389D7E_Sw_01:open
2016-03-28 16:00:09 trig_HM_389D7E_Sw_01 open
Helper:
dlvlCmd ++A011F110344194020201000000
peerIDsRaw ,00000000
tmplChg 1
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
Shadowreg:
Tmpl:
HM_389D7E_Sw_01:short>SwToggle
Attributes:
fhem_widget_command {"allowed_values":["off","on"],"filter":"public"}
group Licht
model HM-LC-SW2-FM
peerIDs 00000000,
room Wohnzimmer
webCmd statusRequest:toggle:on:off
Und Sensor
Internals:
DEF 389D7E01
NAME HM_389D7E_Sw_01
NR 110
STATE open
TYPE CUL_HM
chanNo 01
device HM_389D7E
peerList Deckenlampe_wz,
Readings:
2016-03-28 15:29:26 R-Deckenlampe_wz-expectAES off
2016-03-28 15:29:26 R-Deckenlampe_wz-peerNeedsBurst off
2016-03-28 15:29:24 R-eventDlyTime 0 s
2016-03-28 15:29:24 R-sign off
2016-03-28 15:29:24 RegL_01. 08:00 20:60 21:00 22:00 30:06 00:00
2016-03-28 15:29:26 RegL_04.Deckenlampe_wz 01:00 00:00
2016-03-28 16:00:09 contact open (to sw_up_)
2016-03-28 15:29:25 peerList Deckenlampe_wz,
2016-03-28 16:00:09 state open
2016-03-28 16:00:09 trigger_cnt 210
Helper:
peerIDsRaw ,41940201,00000000
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
Shadowreg:
Attributes:
model HM-SCI-3-FM
peerIDs 00000000,41940201,
In FHEM sehe ich den Status von Sensor aber korrekt.
Grüsse
Im aktor ist nicht gepeert. Der Sensor schon. Peers noch einmal die aktor Seite. Mache ein getconfig am aktor, sicherheitshalber.
Hminfo configcheck sollte dir zeigen, dass das peering nicht symetrisch ist.
Super nun nach dem ich alles nochmals zurückgesetzt habe, funktioniert nun alles wie es sollte.
Vielen Dank!
Letzte Frage:
Gibt es einen guten Ort, um sich in diese Experteneinstellungen einzulesen. Denn eigentlich habe ich noch nicht ganz verstanden, was ich da gemacht habe. Und mir scheint das bei Homematic komplizierter zu sein als bei ZWAVE.
Gruss und nochmals vielen Dank für die Hilfe
Eigentlich halte ich hm fuer einfach. Man muss verstanden haben, dass der aktor die Aktion definiert.dann die statemachine und ggf die conditiontable.
Es gibt noch short und long press, das wars im grossen.
Das Einsteigerdoc beschreibt das alles, wenn auch evtl. Nicht einfach für jedermann. Wenn du das verstanden hast geht es nur noch um Details. Das ist seit Jahren stabil, nichts Neues.
So ich bin es wieder, denn nach einigen Stromunterbrüche hat mein Aktor die Konfig verloren und musste nochmals beginnen.
Jetzt habe ich ein list abgesetzt und sehe, dass das Template auch richtig gesetzt ist auch das peering und dennoch macht er mir keinen Toggle, sondern ein aus je nachdem ob Schliesserkontakt geschlossen oder nicht.
Es hatte zuvor aber mal funktioniert.
Hier nochmals list Deckenlampe_wz:
Internals:
DEF 41940201
NAME Deckenlampe_wz
NR 88
NTFY_ORDER 50-Deckenlampe_wz
STATE on
TYPE CUL_HM
chanNo 01
device sw_up_
peerList HM_389D7E_Sw_01,
Readings:
2016-04-23 15:08:28 CommandAccepted yes
2016-03-28 15:28:38 R-HM_389D7E_Sw_01-lgActionType off
2016-03-28 15:28:38 R-HM_389D7E_Sw_01-shActionType jmpToTarget
2016-03-08 21:46:10 R-powerUpAction off
2016-03-08 21:46:10 R-sign off
2016-04-23 15:07:58 RegL_01. 08:00 30:06 57:24 56:00 00:00
2016-04-23 15:07:59 RegL_03.HM_389D7E_Sw_01 02:02 03:02 04:32 05:B4 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:00 8B:14 8C:63 00:00
2016-04-23 15:08:30 deviceMsg on (to CUL_0)
2016-04-23 15:08:30 level 100
2016-04-23 15:00:39 levelMissed desired:0
2016-04-23 15:08:30 pct 100
2016-04-23 15:07:58 peerList HM_389D7E_Sw_01,
2016-04-23 15:08:30 recentStateType info
2016-04-23 15:08:30 state on
2016-04-23 15:08:30 timedOn off
2016-04-23 15:08:28 trigLast HM_389D7E_Sw_01:open
2016-04-23 15:08:28 trig_HM_389D7E_Sw_01 open
Helper:
dlvlCmd ++A011F110344194020201000000
peerIDsRaw ,389D7E01,00000000
tmplChg 1
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
Shadowreg:
Tmpl:
HM_389D7E_Sw_01:short>SwToggle
Attributes:
fhem_widget_command {"allowed_values":["off","on"],"filter":"public"}
group Licht
model HM-LC-SW2-FM
peerIDs 00000000,389D7E01,
room Wohnzimmer
webCmd statusRequest:toggle:on:off
EDIT:
Habe soeben bemerkt, dass bei dem List Befehl einige Zeit später der Template Eintrag wieder verschwunden ist.
Habe den set hm Befehl abgesetzt und dann einen set aktor getConfig Befehl und anschliessend Anlernmodus am Aktor ausgeführt
Ein template verschwindet nicht.
Wenn du es gesetzt hast ist es da. Bis du es löschst. Oder bootest.
TemplateSet gings werden in registerconfigurationen über hminfo . du solltest dies automatisch machen lassen. Prüfe, dass es klappt.
Nach dem Booten die templates, also das ganze regConfig wieder laden.
Wenn das template gesetzt ist kannst du über hminfo prüfen, dass es auch realisiert ist. Template verify.
hm templateUsg ergibt:
Deckenlampe_wz |HM_389D7E_Sw_01:short|SwToggle|
hm templateChk ergibt:
passed
Aber das toggeln funktioniert nach wie vor nicht.
Aber wie weiter oben mal geschrieben hatte es funktioniert
es sollte funktionieren.
aber was machst du eigentlich?
Deckenlampe_wz ist ein Aktor
was ist HM_389D7E_Sw_01? Sw ist typisch eine Aktor. der sendet doch nichts. wie löst du den Trigger aus? An welchem Device drückst du den Button?
mach ein
set Deckenlampe_wz press short HM_389D7E_Sw_01
das sollte toggeln bei jeden Druck
Also es ist noch immer die gleiche Ausgangslage wie zu Beginn dieses Beitrags. Ich habe einen Fehler gemacht und einen Schliesserkontakt (HomeMatic 092068 3-Kanal-Funk-Schließerkontakt-Interface) anstelle eines Tasterkontakt gekauft von Homematic.
Der Schliesserkontakt gibt zurück ob der Kontakt geschlossen oder geöffnet ist (potentialfreier Schalter). Ich wollte aber eigentlich nur ein "Tastereffekt" Kontakt schliessen oder öffnen toggelt den aktor (Deckenlampe_wz: Unterputzaktor)
Dies hat per Zufall nach einem erneuten Anlernen im Zuge deiner früheren Tips plötzlich funktioniert.
Dieses Mal aber geht es nicht. Das heisst: Schliesse ich den Kontakt, geht das Licht aus, öffne ich ihn geht das Licht wieder an. Bei diesem Verhalten kann ich an diesen Kontakt aber kein Taster hängen
geht auch nicht. wenn du an einenschalten eine taster hängst bekommst du 2 trigger. Bei toggle ist das ein und aus. logisch oder?
die schliesser schicken m.E. ein offen oder zu - wir hatten vor langer Zeit tests gemacht die dies geezigt haben, Nacheinem Power-up ist das evtl gedreht.
Wenn du abersicherstellen kannst das es doch angezeigt wird dann eichne das Schalten auf und dokumentiere es. dann kann man etwas mit dern CT machen. ohne Mesages geht das nicht!
Ich glaube wir verstehen uns falsch.
An diesem Schliesskontakt hängt ein Taster, jedoch nicht für Testzwecke, dazu schliesse ich von Hand die Drähte kurz und gebe somit einen Impuls, ein Toggle.
Das Licht sollte dann toggeln egal welcher Status vorher war. Dies funktionierte einmal genau so. Und jetzt nicht mehr nachdem ich alle Sensoren und Aktoren neu anlernen musste. Bzw. in den Fabrikzustand zurückversetzen musste.
In FHEM sehe ich den "offen" oder "zu" Zustand des Schliesserkontakts.
So langsam habe ich Lust aufzugeben und noch einen Tasterkontakt zu kaufen, der genau das macht, was ich möchte
Es ärgert mich einfach, dass es mal funktioniert hat
Eq3 hat Taster und Schalter Sensoren. Ein Taster Sensor liefert EINEN trigger wenn du zu und wieder aufmacht.
Der Schalter Sensor liefert EINEN trigger beim zumachen UND EINEN beim aufmachen.
Dass solltest du einfach beobachten können. Das sind dann 2 triggern. Wenn du einen Taster an den Schalter Sensor hängst sind das 2 trigger. Mit anderen Worten das geht nicht wirklich.
Es sollte ein leichtes sein das zu prüfen. Schau die events an. Sollte es nicht so sein schicke die messages von deiner Aktion.
Nachdem du aber schon offen und zu sehen kannst habe ich recht. Das sind 2 trigger.
Nun kontrolliere den gesendeten level. Der steht in den readings. Sollte auch einfach sei .
Dann mach dich an die condition table( so ein sauberes offen zu zu erkennen ist) und filtere einen raus. Dann bleibt einer übrig und es geht.
Also ich denke ja du hast Recht aber wieso hatte es funktioniert?
Hier der Event Output:
2016-04-24 20:52:29 CUL_HM HM_389D7E battery: ok
2016-04-24 20:52:29 CUL_HM HM_389D7E CMDs_done
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 contact: closed (to CUL_0)
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 closed
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 trigger_cnt: 180
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz trigLast: HM_389D7E_Sw_01:closed
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz trig_HM_389D7E_Sw_01: closed
2016-04-24 20:52:29 CUL_HM HM_389D7E battery: ok
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 contact: closed (to sw_up_)
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 closed
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 trigger_cnt: 180
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz deviceMsg: off (to HM_389D7E)
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz level: 0
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz pct: 0
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz off
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz timedOn: off
2016-04-24 20:52:29 CUL_HM HM_389D7E battery: ok
2016-04-24 20:52:29 CUL_HM HM_389D7E CMDs_done
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 contact: open (to CUL_0)
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 open
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 trigger_cnt: 181
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz trigLast: HM_389D7E_Sw_01:open
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz trig_HM_389D7E_Sw_01: open
2016-04-24 20:52:29 CUL_HM HM_389D7E battery: ok
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 contact: open (to sw_up_)
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 open
2016-04-24 20:52:29 CUL_HM HM_389D7E_Sw_01 trigger_cnt: 181
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz deviceMsg: on (to HM_389D7E)
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz level: 100
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz pct: 100
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz on
2016-04-24 20:52:29 CUL_HM Deckenlampe_wz timedOn: off
2016-04-24 20:52:32 CUL_HM Deckenlampe_wz deviceMsg: on (to CUL_0)
2016-04-24 20:52:32 CUL_HM Deckenlampe_wz level: 100
2016-04-24 20:52:32 CUL_HM Deckenlampe_wz pct: 100
2016-04-24 20:52:32 CUL_HM Deckenlampe_wz on
2016-04-24 20:52:32 CUL_HM Deckenlampe_wz timedOn: off
2016-04-24 20:52:32 CUL_HM sw_up_ CMDs_done
Das ändern der condition table (weiss noch nicht wie) ist das in FHEM oder auf aktor, sensor Ebene.
Oder anders gefragt, bei dieser Lösung würde der Taster auch bei einem Server Ausfall korrekt funktionieren?
Wenn ja, wie geht das mit den condition Table
An dieser Stelle mal vielen herzlichen Dank für deine Geduld
Schau dir die Register im aktor zum peer an. Eine Gruppe davon ist short (SH) . daraus suchst du die condition table CT. Und einen wert high.
Setze alle (4) auf gehigh (schau in der Reg Beschreibung get regList nach der korrekten Schreibweise).
Dann sollte closed ignoriert werden. Der High wert sollte grösser null sein
Das könnte klappen nur bin ich mit der Syntax überfordert. wollte folgendes probieren:
set Deckenlampe_wz regSet shCtDlyOff geHi
Dann kommt:
"Peer not specified"
Und nochmals die Frage, funktioniert diese Lösung auch im Falle des Serverausfalls?
Klar auch bei Serverausfall. Teste es und schalte das io ab.
Und gebe den peer an beim setzen an wenn danach gefragt wird.
Ja nur welches ist der peer? die DEF Nummer?
Also Deckenlampe_wz hat 41940201 bei DEF
Wie folgt habe ich den Befehl abgesetzt:
set Deckenlampe_wz regSet shCtOn geHi 41940201
Darauf folgt
cannot calculate value. Please issue set Deckenlampe_wz getConfig first - invalid
Habe den getConfig Befehl auch ausgeführt und anschliessend die Anlerntaste gedrückt aber er übernimmt es nicht
Der relevante peer ist der Schalter Kanal dessen trigger du nutzen willst