Blinklicht realisieren

Hallo,
ich möchte über meinen Dimmer-Aktor ein Blinklicht realisieren. Zyklische An/Aus-Befehle zu senden, funktioniert aufgrund der geringen Blinkfrequenz nicht. Nun gibt es ja die Möglichkeit, bei den direkten Geräteverknüpfungen ein Blinklicht über die Experteneinstellungen zu realisieren:

http://homematic-forum.de/forum/viewtopic.php?f=26&t=2112&p=10876#p10919

Wenn ich das richtig verstehe, müsste ich als Voraussetzung dafür eine direkte Verknüpfung zwischen Homegear und meinen Dimmer erstellen. Ist das möglich? Bei der CCU-Konfiguration soll es die Möglichkeit geben, dazu auf der Zentrale einen virtuellen Kanal auszuwählen. Bei mir (Homegear mit hmcfglan) finde ich diese Möglichkeit nicht. Oder kann die putParamset-Funktion verwenden, auch wenn keine Verknüpfung zwischen Homegear und Dimmer explizit definiert wurde?

Hallo,

das geht, ich muss dafür nur tatsächlich dem Dimmer ein virtuelles Gerät zuordnen. Ich bin gerade im Urlaub, deswegen ist es schwierig, das schnell einzubauen. Zu Weihnachten bin ich aber wieder zurück, dann mach ich das schnell. Das dauert nur 10 Minuten :wink:.

Liebe Grüße

Sathya

ok, geht :wink:. Die Funktion ist in Version 0.5.20 enthalten (wird gerade kompiliert). Du musst nur leider deinen Dimmer in den Werkszustand zurückversetzen und dann neu anlernen.

Danach gibt es dann ein virtuelles Linkparamset für den Dimmer. Dieses ist nicht im HomeMatic-Konfigurator sichtbar, du kannst es aber mit Hilfe der Test.php in “/var/lib/homegear/scripts” setzen. Der RPC-Aufruf lautet:

print_r($Client->send("putParamset", array(DIMMERID, 1, 0, 1, array(
        "SHORT_ACTION_TYPE" => 1,
        "SHORT_COND_VALUE_HI" => 100,
        "SHORT_COND_VALUE_LO" => 50,
        "SHORT_CT_OFF" => 0,
        "SHORT_CT_OFFDELAY" => 0,
        "SHORT_CT_ON" => 0,
        "SHORT_CT_ONDELAY" => 0,
        "SHORT_CT_RAMPOFF" => 0,
        "SHORT_CT_RAMPON" => 0,
        "SHORT_DIM_MAX_LEVEL" => 1.0,
        "SHORT_DIM_MIN_LEVEL" => 0.0,
        "SHORT_DIM_STEP" => 0.05,
        "SHORT_JT_OFF" => 1,
        "SHORT_JT_OFFDELAY" => 1,
        "SHORT_JT_ON" => 4,
        "SHORT_JT_ONDELAY" => 4,
        "SHORT_JT_RAMPOFF" => 1,
        "SHORT_JT_RAMPON" => 4,
        "SHORT_OFFDELAY_BLINK" => 1,
        "SHORT_OFFDELAY_NEWTIME" => 0.5,
        "SHORT_OFFDELAY_OLDTIME" => 0.5,
        "SHORT_OFFDELAY_STEP" => 0.05,
        "SHORT_OFFDELAY_TIME" => 0.0,
        "SHORT_OFF_LEVEL" => 0.0,
        "SHORT_OFF_TIME" => 1.0,
        "SHORT_OFF_TIME_MODE" => 0,
        "SHORT_ONDELAY_MODE" => 0,
        "SHORT_ONDELAY_TIME" => 0.0,
        "SHORT_ON_LEVEL" => 1.0,
        "SHORT_ON_LEVEL_PRIO" => 0,
        "SHORT_ON_MIN_LEVEL" => 0.1,
        "SHORT_ON_TIME" => 1.0,
        "SHORT_ON_TIME_MODE" => 0,
        "SHORT_RAMPOFF_TIME" => 0.0,
        "SHORT_RAMPON_TIME" => 0.0,
        "SHORT_RAMP_START_STEP" => 0.0
))));

Wenn du jetzt “activateLinkParamset(DIMMERID, 1, 0, 1)” ausführst, dann blinkt dein Licht im Sekundentakt :slight_smile:.

Liebe Grüße

Sathya

Wenn ich die putParamset-Funktion aufrufe, erhalte ich jetzt die Fehlermeldung:

12/28/14 15:22:52.159 Script output: Warning: hg_invoke(): RPC error (Code -3): Not paired to this peer.

Der Dimmer wurde vorher zurückgesetzt und nach einem Homegear-Update neu angelernt. Andere Funktionen funktionieren mit derselben PeerID.

Hmm, “homegear -v” gibt “Version 0.5.20” aus, nehme ich an? Schick mir mal die “CLI-peers-list”-Zeile deines Dimmers. Versuch auch mal ob der Aufruf so klappt: hg_invoke(“DIMMERSERIAL:1”, “HOMEGEARSERIAL:1”, array( … ));

Die Zentralenseriennummer bekommst du über “devices list” im CLI.

Wird “activateLinkParamset(DIMMERID, 1, 0, 1)” denn ohne Fehlermeldung ausgeführt (das sollte auch ohne vorheriges putParamset funktionieren)?

Liebe Grüße

Sathya

Nachtrag: Falls du es noch hast, poste auch mal das Log vom Anlernvorgang des Dimmers. Daraus kann ich sehen, ob das virtuelle Gerät als Linkpartner hinzugefügt wurde.

Korrekt.

(Peer)> peers list
Channel: 1 Address: 0x324e88 Remote channel: 1 Serial number: LEQ0990608
Channel: 1 Address: 0xfd124f Remote channel: 1 Serial number:
Channel: 1 Address: 0x252f92 Remote channel: 1 Serial number: KEQ1062403

hg_invoke(“putParamset”, “dimmerserial:1”, “homegearserial:1”, array(…)) liefert ebenfalls “Not paired to this peer”

Hier erscheint auch die Meldung “not paired to this peer”

Ein Log-Auszug vom Pairing (Debug-Level stand dabei auf 0):

12/28/14 14:57:47.901 Startup complete. 12/28/14 14:58:06.904 All physical interfaces are connected now. 12/28/14 14:59:00.327 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x39): 0D008410324E8800000006010000 12/28/14 14:59:14.257 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x3C): 1A018400324E880000002600594C45513039393036303820110100 12/28/14 15:00:00.284 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x3B): 1A028400324E880000002600594C45513039393036303820110100 12/28/14 15:00:00.550 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x3A): 0A488002324E88FD124F00 12/28/14 15:00:00.948 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x40): 0A498002324E88FD124F00 12/28/14 15:00:01.352 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x42): 0A4A8002324E88FD124F00 12/28/14 15:00:01.437 Module HomeMatic BidCoS: Added peer 0x324E88.

Ich behelfe mir jetzt so. Der Befehl

hg_invoke("activateLinkParamset","LEQ0990608:1", "LEQ0990608:1", (bool) 0); aktiviert die interne Taste des Dimmers. Das Verhalten der internen Taste kann ich über den HomeMatic Konfigurator anpassen. So erhalte ich auch die gewünschte Wirkung.

Schon einmal vielen Dank für deinen schnellen und umfassenden Support!