FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: TNT0068 am 04 November 2014, 11:06:16

Titel: (Gelöst) einen dummy mit HM Taster schalten
Beitrag von: TNT0068 am 04 November 2014, 11:06:16
Hallo zusammen,
ich hoffe hier ist es richtig aufgehoben. Irgendwie stehe ich gerade auf dem Schlauch :(. Ich habe mir einen 6 Fach Taster von HM zugelegt mit dem möchte ich gerne in FHEM dummys schalten. Die dummys gibt es schon hier ist einer:
define PC_Kueche_schalten dummy
attr PC_Kueche_schalten alias Küche PC
attr PC_Kueche_schalten devStateIcon on:rc_GREEN:off off:rc_STOP:on
attr PC_Kueche_schalten eventMap on:on off:off
attr PC_Kueche_schalten group 3 Sequenzen
attr PC_Kueche_schalten room 1.Schalten
define PC_Kueche_schalten_start notify PC_Kueche_schalten.on {fhem ("set K_Power_Pc on;;sleep 5;;{WakeOnLan('00:01:2E:58:34:F6')}")}
define PC_Kueche_schalten_stop notify PC_Kueche_schalten.off {fhem ("set Kueche_PC shutdown;;sleep 30;;set K_Power_Pc off")}



Ich bin die ganze Zeit am überlegen wie ich das nun mache. Und komme einfach nicht drauf. Eine kleiner Anschupser in die richtige Richtung wäre klasse. Zur Zeit schwirrt mir set bzw event-on-change durch den Kopf.

Danke im Vorraus für eure Hilfe.

Gruß
Micha


Titel: Antw:einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 11:36:08
Hallo,

die klassische Version mit notify:
define n_dummy_kueche_schalt_on notify <Name_des_Channel_des_HM_PB_6_WM55_zum_einschalten>:Short.* set PC_Kueche_schalten on
define n_dummy_kueche_schalt_off notify <Name_des_Channel_des_HM_PB_6_WM55_zum_ausschalten>:Short.* set PC_Kueche_schalten off
ODER
define n_dummy_kueche_schalt_on notify <Name_des_Channel_des_HM_PB_6_WM55_zum_einschalten>:Long.* set PC_Kueche_schalten off
Das umschalten mit nur Short geht auch aber das wird bei mir kein Einzeiler ;-)

Fehler bitte hier posten.

Grüße
Titel: Antw:einen dummy mit HM Taster schalten
Beitrag von: TNT0068 am 04 November 2014, 11:45:29
Hallo Puschel,
warum habe ich so umständlich gedacht ? keine Ahnung

Danke Dir.
Titel: Antw:einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 11:53:56
Hallo,

du kannst den Dummy aber rauswerfen und die beiden notify durch den HM triggern.
Der Channel kann dir ja dann den Zustand anzeigen -
define PC_Kueche_einschalten CUL_HM <Name_des_Channel_des_HM_PB_6_WM55_zum_einschalten>
attr PC_Kueche_einschalten alias Küche PC
attr PC_Kueche_einschalten devStateIcon on:rc_GREEN:off off:rc_STOP:on
attr PC_Kueche_einschalten eventMap on:on off:off
attr PC_Kueche_einschalten group 3 Sequenzen
attr PC_Kueche_einschalten room 1.Schalten

define PC_Kueche_ausschalten CUL_HM <Name_des_Channel_des_HM_PB_6_WM55_zum_ausschalten>
attr PC_Kueche_ausschalten alias Küche PC
attr PC_Kueche_ausschalten devStateIcon on:rc_GREEN:off off:rc_STOP:on
attr PC_Kueche_ausschalten eventMap on:on off:off
attr PC_Kueche_ausschalten group 3 Sequenzen
attr PC_Kueche_ausschalten room 1.Schalten


define PC_Kueche_schalten_start notify PC_Kueche_einschalten:Short.* {fhem ("set K_Power_Pc on;;sleep 5;;{WakeOnLan('00:01:2E:58:34:F6')}")}
define PC_Kueche_schalten_stop notify PC_Kueche_ausschalten:Short.* {fhem ("set Kueche_PC shutdown;;sleep 30;;set K_Power_Pc off")}

ODER
define PC_Kueche_schalten_stop notify PC_Kueche_einschalten:Long.* {fhem ("set Kueche_PC shutdown;;sleep 30;;set K_Power_Pc off")}

Ersteres notify-Beispiel verwendet 2 Tasten des HM - jeweils Short
Zweites Beispiel verwendet die selbe Taste aber Short zum einschalten und Long zum ausschalten.
Beim zweiten Beispiel entfällt
Zitatdefine PC_Kueche_ausschalten CUL_HM <Name_des_Channel_des_HM_PB_6_WM55_zum_ausschalten>
und du hast noch 5 Tasten frei.

Fehler bitte hier posten.

Grüße
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: TNT0068 am 04 November 2014, 12:14:29
Hallo Puschel,
das ist natürlich die elegantere Lösung. Mit dem "Long" war ich auch schon am überlegen. Aber zur Zeit habe ich die Tasten das ich mit short arbeiten kann. Naja zur Zeit ist relativ wenn man erstmal damit anfängt ;)
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 12:24:46
Hallo,

ich hab bei meinen PB-6 lieber 2 oder 3 Tasten als Reserve frei als das ich später mal die notify umbauen müsste ;-)

Grüße

P.S.: Wo sind eigentlich die Smileys hingekommen???
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: TNT0068 am 04 November 2014, 12:27:33
da hast du auch wieder recht. Keine Ahnung wo die Dinger hin sind Betriebsausflug
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 04 November 2014, 15:27:04
Wird bei den HM Aktoren mit :Short.* nicht mehrmals getriggert? Im EventMoni lese ich immer den Short to (blabla) und den Short_Nummer. Ein event-on-state reading geht hier nicht und beim event-on-update hab ich bedenken, das die Alive meldungen verschluckt werden. Mein letzter Versuch nur den "trigger" auszuwerten wird drei mal ausgeführt. Warum ist das so?

TA_Kueche_Btn_03:trigger.* {if (ReadingsVal("TA_Kueche_Btn_03","state","") =~ m"\Short.*"){Log 1,"TA_Kueche_Btn_03_S";fhem ("set Leuchte_Kueche OFF")}
elsif (ReadingsVal("TA_Kueche_Btn_03","state","") =~ m"\Long.*"){Log 1,"TA_Kueche_Btn_03_L";fhem ("set Leuchte_Kueche on-for-timer 320")}}


..der EM zeigt hier folgedes ohne ein Notify.

ZitatCUL_HM TA_Kueche battery: ok
2014-11-04 14:58:12 CUL_HM TA_Kueche TA_Kueche_Btn_03 Short (to HMusb)
2014-11-04 14:58:12 CUL_HM TA_Kueche CMDs_done
2014-11-04 14:58:12 CUL_HM TA_Kueche_Btn_03 Short (to HMusb)
2014-11-04 14:58:12 CUL_HM TA_Kueche_Btn_03 trigger: Short_42

Hab ich hier ein Verständnisproblem wie die Events "durchsucht" werden? Ich dachte das ":" vorm  einleitenden Notify wäre der Teiler für die Eventparts, die im Eventmonitor mit Leerzeichen getrennt sind.
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 15:41:28
Hallo,

bei mir klappt das einwandfrei.
Wen du genau schaust siehst du einmal den trigger:
Zitat2014-11-04 14:58:12 CUL_HM TA_Kueche TA_Kueche_Btn_03 Short (to HMusb)
und einmal:
Zitat2014-11-04 14:58:12 CUL_HM TA_Kueche_Btn_03 Short (to HMusb)
Auf den ersten wird nicht getriggert da TA_Kueche auslöst und das ist nicht der Button.
Auf das zweite Short wird dann getriggert da Btn_03 der Auslöser ist.

Den trigger mit Short_xy kannst du vergessen da das event trigger lautet.

Ich hatte anfangs aber das Problem das ich immer zweimal Short (to vCCU) hatte - warum auch immer aber jetzt kommt das nichtmehr und er triggert brav einmal.
Ich bau mir in die notify gerne noch ein Log(3,"$NAME $EVENT"); ein.
Damit habe ich dann gesehen das Short (to vCCU) zweimal ankam - zur selben Zeit.
Zitat2014.11.04 13:12:07 3: EG_Wohnzimmer_Licht_Decke Short (to vCCU)
2014.11.04 13:12:07 3: FS20 set WZ_Deckenlicht on
2014.11.04 13:12:07 3: EG_Wohnzimmer_Licht_Decke Short (to vCCU)
2014.11.04 13:12:07 3: FS20 set WZ_Deckenlicht off

Grüße
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 04 November 2014, 16:24:06
Ok... das Event ist also direkt hinter dem Gerät mit Leerzeichen getrennt, richtig? Was hat es dann mit dem "Short" hinter dem Event "trigger:" Ist das ein weiterer Eventpart? Könnte man auch direkt auf diesen auslösen? Ich hab mir diesbezüglich die CommandRef schon zig mal durchgelesen, habs aber noch nie so richtig gefressen. Aber vielleicht blick ich es dann besser wenn ich auch mal so ein Log anlege.
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 16:31:48
Hallo,

Zitatdas Event ist also direkt hinter dem Gerät mit Leerzeichen getrennt, richtig?
Äh fast.
Hinter dem Channel (in diesem Fall).
Ich will hier ja nicht auf das Gerät triggern sondern nur auf den Channel.

ZitatWas hat es dann mit dem "Short" hinter dem Event "trigger:" Ist das ein weiterer Eventpart?
Dazu müssten wir in den Homematic-Bereich.
Das kann martin besser beantworten (oder evtl. betateilchen wenn er hier mal wieder vorbei schaut).
Ich seh auch nur das der Zähler mit jedem Tastendruck hochzählt.

Du kannst im Log ja noch mit $EVTPART0 usw. spielen, mir genügt idR ein $NAME $EVENT damit ich wieder weiß wo ich bin.

Grüße
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 04 November 2014, 16:34:24
ok danke.. ich probieren erst mal ein wenig herum bevor ich einen Beitrag aufmache. Vielleicht machts ja noch so "klick".. ;)
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 04 November 2014, 16:41:07
Hallo,

Hier mal als Beispiel wie ich es hab und wie es funktioniert (aber nicht schön ist).
define EG_Licht_innen_schalt notify EG_Licht_innen:Short.* {
  if (Value("EG_Eingang_Licht_innen") ne "Ein") {
    fhem("set EG_Eingang_Licht_innen on");
  }
  else {
    fhem("set EG_Eingang_Licht_innen off");
  }
}

EG_Licht_innen ist ein Channel von Fernbedienung_EG_2 - genau genommen ist es Fernbedienung_EG_2_Btn_04 (ich benenn meine Geräte aber gern "sprechend").
Fernbedienung_EG_2 heisst eigentlich CUL_HM_HM_PB_6_WM55_28803B aber das wird mir dann doch zu kryptisch.
Damit schalt ich mir einfach nur EG_Eingang_Licht_innen ein oder aus, je nachdem wie es vorher war.

Grüße

Edith: Und somit kann ich an einem PB-6 genau genommen 12 Events auswerten - je Button einmal Short und einmal Long.
Und damit dann auch 12 Geräte ansteuern.
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 05 November 2014, 17:01:58
Also entweder bin ich schwer von Begriff oder einfach zu blöd das umzusetzen. Habe jetzt mal dein Beispiel als Trigger gewählt mit...

TA_Kueche_Btn_04:Short.* {if (ReadingsVal("TA_Kueche_Btn_04","state","") =~ m"\Short.*"){Log 1,"TA_Kueche_Btn_04_S";fhem ("set Leuchte_Kueche ON")}
elsif (ReadingsVal("TA_Kueche_Btn_04","state","") =~ m"\Long.*"){Log 1,"TA_Kueche_Btn_03_L";fhem ("set Leuchte_Kueche on-for-timer 640")}}


...und es wird drei mal ausgeführt. Mir scheint als ob hier jedes "Short" angetriggert wird.  :o
oder hast du noch ein event-on-update-reading Attribut gesetzt?

Zitat2014-11-05 16:54:53 CUL_HM TA_Kueche battery: ok
2014-11-05 16:54:53 CUL_HM TA_Kueche TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche CMDs_done
2014-11-05 16:54:53 FS20 Leuchte_Kueche ON
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 trigger: Short_20
2014-11-05 16:54:53 CUL_HM TA_Kueche battery: ok
2014-11-05 16:54:53 CUL_HM TA_Kueche TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche CMDs_done
2014-11-05 16:54:53 FS20 Leuchte_Kueche ON
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 trigger: Short_20
2014-11-05 16:54:53 CUL_HM TA_Kueche battery: ok
2014-11-05 16:54:53 CUL_HM TA_Kueche TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche CMDs_done
2014-11-05 16:54:53 FS20 Leuchte_Kueche ON
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 Short (to HMusb)
2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 trigger: Short_20

Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Puschel74 am 05 November 2014, 17:13:22
Hallo,

der trigger kommt ja auch 3-mal von TA_Kueche_Btn_04.
Zitat2014-11-05 16:54:53 CUL_HM TA_Kueche_Btn_04 Short (to HMusb)
Jeweils selbe Uhrzeit.

Wenn ich in den EventMonitor schaue bekomme ich den Trigger nur einmal gesendet.
event-on-change-reading macht mMn keinen Sinn da sowieso nur Short gesendet wird bei einem kurzen Tastendruck (und hab ich auch nicht gesetzt).
Was an meinem PB-6-WM55 anders ist als an deinem - keine Ahnung.
Ich hab ne vCCU definiert - die hast du nicht.
Das ist jetzt der einzige Unterschied den ich auf die schnelle sehe.
Ob es damit was zu tun hat - keine Ahnung.
Dafür bin ich zu wenig tief in der HM-Materie drinnen.

Grüße
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 05 November 2014, 17:37:09
gut..danke für die Mühe...ich probiere es noch mal mit der vccu...  ;)

Grüße
Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: TNT0068 am 10 November 2014, 07:41:01
so um die Verwirrung komplett zumachen :o

Ich habe beide 6 Fach Schalter jetzt in Betrieb. Short wird von beiden nur einmal gesendet. Long wird bei dem einen Schalter 3 mal und bei dem anderen 2 mal gesendet. Eine VCCU hatte ich schon vorher eingerichtet.

Titel: Antw:(Gelöst) einen dummy mit HM Taster schalten
Beitrag von: Navigator am 10 November 2014, 08:36:58
Lies aml hier...http://forum.fhem.de/index.php/topic,28763.0.html (http://forum.fhem.de/index.php/topic,28763.0.html)

Der Schalter sendet natürlich auch so lange so gedrückt hälst einen Long um z.B. Dimmbefehle umzusetzen. Wenn du nur einmal den Long brauchst, kannst du auch auf LongRelease triggern.

Ich mach das jetzt so...

vCCU_TA_Kueche_Btn_01:virtActTrigType.* {if (ReadingsVal("vCCU_TA_Kueche_Btn_01","virtActTrigType","") eq "short_Release"){Log 1,"TA_Kueche_Btn_01_Short";fhem ("set Leuchte_Deko OFF")}
elsif (ReadingsVal("vCCU_TA_Kueche_Btn_01","virtActTrigType","") eq "long_Release"){Log 1,"TA_Kueche_Btn_01_Long";fhem ("set Leuchte_Deko 50")}}


VCCU ist der virtuelle Aktor der virtuellen CCU. Bei mir klappt das seither.