FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: stgeran am 01 November 2015, 12:47:16

Titel: notify geht nicht
Beitrag von: stgeran am 01 November 2015, 12:47:16
Ich habe einen HM-LC-Sw4-PCB als Garage1 umbenannt. Der Befehl set Garage1 on funktioniert. Der Handsender HM-RC-4-2 benannt als Hand1 mit den Tasten Hand1_1 bis Hand1_4 ist auch vorhanden. Wenn ich jetzt define Tor_auf notify Hand1_1_short set Garage1 on in der fhem.cfg stehen habe und den Taster 1 drücke funktioniert nichts. Ist die syntax falsch?
Titel: Antw:notify geht nicht
Beitrag von: Bennemannc am 01 November 2015, 12:50:48
Hallo,

vorgehen in solchen Fällen:
EventMonitor ausmachen und den Taster drücken. Dann wird dort angezeigt, welche Event ausgelöst wird. Das kommt dann ins notify. Ich vermute der notify muss auf Hand1_1:short laufen.

Gruß Christoph
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 01 November 2015, 12:59:10
ausmachen oder anmachen?
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 01 November 2015, 13:02:13
Das habe ich im event monitor nach drücken der Taste 1
2015-11-01 13:00:59 CUL_HM Hand1 battery: ok
2015-11-01 13:00:59 CUL_HM Hand1 CMDs_done
2015-11-01 13:00:59 CUL_HM Hand1 Hand1_2 Short
2015-11-01 13:00:59 CUL_HM Hand1_2 Short (to Hand1)
2015-11-01 13:00:59 CUL_HM Hand1_2 trigDst_123456: noConfig
2015-11-01 13:00:59 CUL_HM Hand1_2 trigger: Short_25
2015-11-01 13:00:59 CUL_HM Hand1_2 trigger_cnt: 25
Titel: Antw:notify geht nicht
Beitrag von: Bennemannc am 01 November 2015, 14:19:14
Hallo,

bitte die commandref zu notify lesen - da steht Gerät:Event also für Dich
Hand1_1:Short oder wenn das nicht geht :.Short. Die Groß-/Kleinschreibung ist bei fhem immer zu beachten.
BTW warum peerst Du die Fernbedienung nicht mit dem Actor. Damit reduziert Du den Funkverkehr (1% Regel) und stellst gleichzeitig sicher, das die Funktion auch gegeben ist, wenn fhem mal nicht läuft.

Gruß Christoph
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 01 November 2015, 14:23:07
Ich möchte später mit EINEM Knopfdruck nacheinander zwei Aktoren auslösen. Deshalb mein Gedanke das über fhem zu machen.
Titel: Antw:notify geht nicht
Beitrag von: Bennemannc am 01 November 2015, 14:42:46
Hallo,

dann solltest Du Dir mal das Modul DOIF ansehen. Das kann genau so etwas - vor allem das mit den zwei Actoren mit Zeitunterschied ist da sehr einfach zu lösen.

Gruß Christoph
Titel: Antw:notify geht nicht
Beitrag von: frank am 01 November 2015, 15:19:56
ZitatIch möchte später mit EINEM Knopfdruck nacheinander zwei Aktoren auslösen.
du kannst mehrere aktoren mit einem button peeren. sollen diese zeitlich versetzt schalten, kannst du zusätzlich entsprechende verzögerungen zu den peers in den aktoren konfigurieren.
Titel: Antw:notify geht nicht
Beitrag von: martinp876 am 01 November 2015, 18:44:28
da fällt mir gleich wieder template ein, wenn du verzögert schalten willst. Definiere ein SwDelayedOn bei dem du die Zeit einstellen kannst.

erst peere die beiden Aktoren act1 und act2 mit Btn1.

set hm templateDef SwDelayedOn delay "verzögertes einschalten" ActionType:jmpToTarget OffTime:unused OnTime:unused SwJtDlyOff:dlyOn SwJtDlyOn:on SwJtOff:dlyOn SwJtOn:no OnDly:p0 OffDly:0

und dann weise es den aktoren zu, wobei der Akt 2 10 sec später angehen soll, bei kurzem Tastendruck.

set hm templateSet act1 SwDelayedOn Btn1:short 0
set hm templateSet act2 SwDelayedOn Btn1:short 10

was bei Long passieren soll ist  nicht definiert - kann man noch, z.B. Long soll beide Ausschalten:
set hm templateSet act1 SwOff Btn1:long
set hm templateSet act2 SwOff Btn1:long


SwOff ist ein vordefiniertes template, das hast du schon mit HMInfo.
hm ist die HMInfo instanz, klar oder?
define hm HMinfo

nicht vergessen:
- die register werden dann je nach device gesetzt - das kann dauern... oder auch nicht
- set hm archConfig speichert die Sets und Defs - also nicht vergessen
- set hm templateExe # schreibt alle configs noch einmal, wenn es nicht geklappt hat.

Siehe auch Wiki.... ok, das muss noch besser werden.
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 01 November 2015, 19:02:32
Erst mal Danke, das muß ich erst verarbeiten. ;-)) Noch eine Frage dazu: Auch wenn ich den Taster kurz presse werden trotzdem mehrere Befehle gesendet. Wie kann ich das verhindern? (kurze Pause nach einmal drücken?)
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 05 November 2015, 21:00:02
Ist das
set hm templateDef SwDelayedOn delay "verzögertes einschalten" ActionType:jmpToTarget OffTime:unused OnTime:unused SwJtDlyOff:dlyOn SwJtDlyOn:on SwJtOff:dlyOn SwJtOn:no OnDly:p0 OffDly:0
unabhängig von den Aktoren?
Und
set hm templateSet act1 SwDelayedOn Btn1:short 0
set hm templateSet act2 SwDelayedOn Btn1:short 10

bedeutet act1 ist dann bei mir z.B. Garage1 Nach eingabe dieser Befehle muß dann noch
set hm archConfig
eingegeben werden.
Habe ich das soweit richtig verstanden?
Titel: Antw:notify geht nicht
Beitrag von: martinp876 am 05 November 2015, 21:40:26
Das def ist ersteinmal ein frei schwebendes template. Es kann auf alle Aktoren angewendet werden, die alle Register haben welche im template definiert werden. Bei der Definition kann nichts geprüft werden, da nicht klar ist, welches device es nutzen wird.
Es ist also bedingt unabhängig.

Nach dem set werden die Register sofort geschrieben. Der akt1 wird sofort auf btn1 short reagieren. Akt2 ebenso, aber nach 10 sec

Das arch ist dann nur um das define zu sichern. Und die sets auch. Mit loadconfig kannst du es wieder laden, nach einem reboot. Damit kannst du die Register auf einer abstrakten ebene kontrollieren.
Wenn du es durchgängig einbaust wird es viel vereinfachen.

Titel: Antw:notify geht nicht
Beitrag von: stgeran am 05 November 2015, 22:26:18
So ganz klappt es nicht. Beide Aktoren gehen zusammen an und beim nächsten Tastendruck geht Aktor 1 aus. der andere reagiert nicht mehr. btw wie bringe ich den Aktoren noch ein on-for-timer bei? Mit set funktioniert es zwar aus dem webinterface, den Knopfdruck lässt das aber kalt.
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 06 November 2015, 19:49:03
Jemand eine Idee, wie das mit dem set und den Registern aus der Weboberfläche geht?
Titel: Antw:notify geht nicht
Beitrag von: martinp876 am 06 November 2015, 20:49:00
mit set musst du alle register setzen, die das template auch setzt. schaue es einfach an. templateList <template>.
hast dukomtrolliert, dass das template auch eingebaut ist?
get hm templateUsg
get hm templateChk
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 07 November 2015, 19:25:10
Ich habe ja das
set hm templateDef SwDelayedOn delay "verzögertes einschalten" ActionType:jmpToTarget OffTime:unused OnTime:unused SwJtDlyOff:dlyOn SwJtDlyOn:on SwJtOff:dlyOn SwJtOn:no OnDly:p0 OffDly:0
eingegeben.
Wenn ich dann nach Deinem letzten Post das
get hm templateChk
nachfrage bekomme ich 47 mal untereinander geschrieben
template undefined
ich dachte, mit dem
set hm templateDef.....
hätte ich das template gesetzt
Titel: Antw:notify geht nicht
Beitrag von: martinp876 am 07 November 2015, 19:43:11
mit templateDef wird das template angelegt. Nach einem einem reboot ist es weg, wenn du nichts machst.

Also nachsehen, was gesetzt ist
get hm templateList
get hm templateUsg

dann siehst du welche templates es gibt und welche genutzt werden.

Nachdem du ein def oder ein set gemacht hast solltest du speichern
set hm archConfig

dann kannst du es (nach reboots) mit
set hm loadConfig
wieder holen.

attr hm autoArchive 1
speichert automatisch (wenn du nicht zu schnell rebootest) - es dauert einige Minuten
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 07 November 2015, 20:25:13

bei
get hm templateUsg
kommt
Unknown argument templateUsg, choose one of configCheck help models msgStat param peerCheck peerXref protoEvents regCheck register rssi templateChk templateList
bei
get hm templateList
BlStopDnLg       params:                         Info:Blind: stop drive on any key - for long drive down
BlStopDnSh       params:                         Info:Blind: stop drive on any key - for short drive down
BlStopUpLg       params:                         Info:Blind: stop drive on any key - for long drive up
BlStopUpSh       params:                         Info:Blind: stop drive on
SwCondAbove      params:condition                Info:Switch: execute only if condition level is above limit
SwCondBelow      params:condition                Info:Switch: execute only if condition level is below limit
SwDelayedOn      params:delay                    Info:verzögertes einschalten
SwOff            params:                         Info:Switch: off if trigger
SwOn             params:                         Info:Switch: on if trigger
SwOnCond         params:level cond               Info:switch: execute only if condition [geLo|ltLo] level is below limit
SwToggle         params:                         Info:Switch: toggle on trigger
autoOff          params:time                     Info:staircase - auto off after <time>, extend time with each trigger
motionOnDim      params:ontime brightness        Info:Dimmer: on for time if MDIR-brightness below level
motionOnSw       params:ontime brightness        Info:Switch: on for time if MDIR-brightness below level
wmClose          params:speed                    Info:winmatic: close window
wmClosed         params:                         Info:winmatic: lock window
wmLock           params:                         Info:winmatic: lock window
wmOpen           params:speed                    Info:winmatic: open window

da sind aber andere "Dinge" drin als im "set templateDef"
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 08 November 2015, 18:54:58
Ich hab jetzt noch das Problen, daß Kanal1 zwar verzögert einschaltet ABER zeitgleich mit dem unverzögerten Kanal ein oder zweimal kurz ein und wieder aus schaltet.
Ausserdem bekomme ich die OnTime nicht in die templateDef.
Titel: Antw:notify geht nicht
Beitrag von: martinp876 am 08 November 2015, 19:59:02
wenn templateUsg nicht geht musst du ein update machen - das ist noch nicht so alt

Zitata sind aber andere "Dinge" drin als im "set templateDef"
templateDef definiert deine templates, list zeigt die definierten. den Kommentar verstehe ich nicht
Titel: Antw:notify geht nicht
Beitrag von: stgeran am 08 November 2015, 20:21:44
In der geposteten template Liste habe ich nicht die z.B. OnTime gefunden.
OK, nach dem Update sieht es so aus
Garage1             |Hand1_1:short  |SwDelayedOn|1
Garage4             |Hand1_1:short  |SwDelayedOn|0 shOnTime:0

Lässt sich daraus ersehen, warum Garage1 kurz "blinkt" bevor es angeht?