Homematic Dimmer per Script blinken lassen

Hallo zusammen,

nachdem das mein erster Beitrag in diesem Forum ist, möchte ich mich kurz vorstellen. Ich heiße Christian und bin seit ein paar Wochen mit dem Automationsvirus infiziert. Bisher laufen bei mir ein paar Homematic-Komponenten (mit IPS via LAN-Adapter) und der Touchscreen ist auf dem Weg. Ich bin hauptberuflicher Webentwickler, was IPS für mich äußerst interessant macht.

Nun aber zu meiner eigentlichen Frage: Wenn man über den LAN-Adapter (CCU wird ähnlich sein) einen Schalter und einen Dimmer verknüpft, kann man als Moduls „Blinken“ angeben und die Intervalle definieren. Gibt es eine Möglichkeit, dies aus einem IPS-Script heraus zu triggern? Ich habe versucht ein paar Werte aus der Expertenansicht der HM-Konfiguration per HM_SetValue() zu setzen, aber ohne Erfolg (Fehlermeldung).

Hintergrund: Ich möchte Dimmaktoren zur Visualisierung von Ereignissen nutzen (z.B. eingehender Telefonanruf). Bisher mache ich das, indem ich die AN/AUS-Befehle mehrfach „manuell“ schicke. Das ist aber nicht nur im Code „hässlich“ sondern erzeugt auch unnötigen Funkverkehr und Stromverbrauch und läuft letztlich auch nicht so synchron wie es der Blinkbefehl der Direktverknöpfung tut.

Hat jemand eine Idee? Oder es vielleicht schon so umgesetzt?

Ich freue mich über jeden sachdienlichen Hinweis :slight_smile:

Viele Grüße
Christian

Ich habe zwar keinen solchen Dimmer, aber wenn du ihn dimmen kannst, dann kannst du ihn auch ein- und ausschalten.

Ich habe ein „Blink-Script“ für FS20, ist aber leicht auf Homematic umbaubar:


<?
require_once "core.php";
 
$idAlertEreignis = 52858 /*[Skripte\Scripts\DoAlert\]*/ ;
$idAlertCounter = 13555 /*[Skripte\Variablenbaum\Merker_AlertCounter]*/ ;
 
$idSteckdose = 35675 /*[PA\4 Obergeschoss\Wohnzimmer\WZ Steckdose Weihnachtspalme]*/ ;
$idSteckdoseState = 18003 /*[PA\4 Obergeschoss\Wohnzimmer\WZ Steckdose Weihnachtspalme\Status]*/ ;
 
//Settings
$maxAlertCount = 10;
 
//Wert holen
$currentAlertCount = GetValueInteger($idAlertCounter);
 
//Alert einschalten?
if($currentAlertCount == 0)
{
    IPS_SetEventActive($idAlertEreignis, true);
}
 
//Increment
$currentAlertCount++;
SetValueInteger($idAlertCounter,$currentAlertCount);
 
//Lampe umsetzen
$curState = getState($idSteckdoseState);
FS20_SwitchMode($idSteckdose, !$curState);
 
//Alert ausschalten?
if($currentAlertCount >= $maxAlertCount)
{
    //Ausschalten
    IPS_SetEventActive($idAlertEreignis, false);
    SetValueInteger($idAlertCounter,0);
}
?>

Du mußt halt die 2 Befehle unter „//Lampe umsetzen“ auf Homematic umbauen.

Erklärung:
Das hier ist ein zyklisches Ereignis, welches das Skipt „DoAlert“ jede 2 Sekunden aufruft.
$idAlertEreignis = 52858 /[Skripte\Scripts\DoAlert]/ ;

Der Counter, der mitzählt wie oft geblinkt werden soll
$idAlertCounter = 13555 /[Skripte\Variablenbaum\Merker_AlertCounter]/ ;

Die ID der Steckdose und des Steckdosen-States
$idSteckdose = 35675 /[PA\4 Obergeschoss\Wohnzimmer\WZ Steckdose Weihnachtspalme]/ ;
$idSteckdoseState = 18003 /[PA\4 Obergeschoss\Wohnzimmer\WZ Steckdose Weihnachtspalme\Status]/ ;

Hallo Grooooog,

vielen Dank für deine Mühe und das Script! Allerdings habe ich es so ähnlich momentan schon umgesetzt. Das meinte ich mit „AN/AUS mehrfach manuell schicken“.

Wenn man HomeMatic-Komponenten direkt miteinander verknüpft, sodass diese ohne eine Zentrale wie CCU oder IPS miteinander reden, hat man die Möglichkeit einen Blinkmodus auszuwählen und die Intervallzeiten anzugeben (wird es bei FS20 nicht geben denke ich). Wird z.B. der Taster betätigt, wird nur ein Befehl geschickt („Dimmer XY, Modus Blinken, Intensität Stufe 1 60%, Intensität Stufe 2 100%“) und dann blinkt das Ding so lange munter vor sich hin, bis es den Ausschaltbefehl empfängt.

Bei unserer Variante wären für schnelles Blinken (0,5 Sek. pro Phase) in der Stunde 7200 Befehle zu schicken. Und weil die Befehle nicht synchron laufen und auch mal einer ins Leere läuft, blinkt es auch nicht gerade „sauber“.

Die HomeMatic-Komponenten unterstützen das. Die Frage ist nur, ob und wie man diese Kommandos per IPS schicken kann. Es gäbe da nämlich noch andere nette Funktionen, wie z.B. ein Einschlaf- oder Aufwachlicht. Da wird dann über einen längeren Zeitraum langsam hoch oder runtergedimmt.

Evtl. helfen mir die Experten-Einstellngen er LAN-Adapter-Konfiguration weiter. Hat schon mal jemand die Werte aus der Config. dort direkt mit IPS benutzt?

Viele Grüße
Christian

Hallo Christian,

schau mal hier unter Tipps & Tricks.

Es gibt ein paar mehr IPS Befehle zu HomeMatic, aber die sind leider nicht beschrieben. Tippe im Editor einfach mal HM_ ein und drücke STRG-Space.

Grüße,
Grooooog.

Hallo Christian,

habe keinen Dimmer, weiss deshalb nichts über die Steuerung in/aus IPS.

Der LAN-Adapter hat virtuelle Kanäle (wie auch CCU), mit denen man eine Direkt-Verknüpfung erzeugen kann. Schau mal bei homematic-inside.de nach. Über die Schaltung des Kanals kann man die Szenarien vielleicht abrufen (Werte aus Konfigurator).

Gruß
Bruno

schau mal hier.

Aber wo siehst du da vorbereitete Blink-Möglichkeiten? Ok, die *:0-Kanäle der Devices kommen noch hinzu. Aber wenn man die konfiguriert und in IPS eingebunden hat, erscheinen automatisch alle möglichen bzw. vorhandenen und somit auch ansprechbaren Objekte.

Gibt es da noch weitere?

Alternativ-Idee: Im Zusammenhang mit diesem 10-Kanal Display-Wandtaster (hab die Bez grad nicht parat) wurde doch empfohlen, das vor möglicher Nutzung für virtuelle (IPS-definierte) „Geräte“ unbedingt notwendig zuzuweisende physische Device durch diesen Steckdosen-Funkgong zu realisieren. Ein somit ziemlich sinnfrei vorhandener Gong wäre doch auch eine interessante Feedback-Möglichkeit für die beabsichtigten Effekte, oder?

Hallo zusammen,

das Problem habe ich dank eurer Hilfe über einen Umweg lösen können: Ich habe sämtliche Dimmer, die ich blinken lassen möchte, per Direktverknüpfung auf eine Taste der 12-Tasten HM-Fernbedienung gelegt, diese Taste als Instanz in IPS angelegt und löse im Script nun via HM_WriteValueBoolean($instance, ‚PRESS_SHORT‘, true); aus.

Erst dachte ich, dass die Fernbedienung nun Repeater spielt und immer betriebsbereit sein muss, allerdingsfunktioniert das Ganze auch, wenn die Batterien draussen sind. Egal… Hauptsache es geht :slight_smile:

Vielen Dank nochmal für alle hilfreichen Antworten :slight_smile:

Christian

Hallo Christian,

gute Idee, freut mich, wenn es funktioniert.

Habe heute gesehen, daß die Geschichte mit den virtuellen Kanälen noch eine Baustelle ist. Damit ist dieser Weg besser.

Gruß
Bruno

ist ja lustich! Das Wort „blink“ kam lt. Suche in der HM-Schnittstellenbeschreibung nur im Zusammenhang mit den FB vor. Dachte, das bezöge sich auf die LEDs auf der FB. dass die dann als Feedback blinken oder so.

Wenn das aber eine per FB aulösbare Funktion AN die Aktoren ist (was IPS dann quasi emuliert - deshalb dann auch mit stromloser FB nutzbar)… das hieße ja, dass die Aktoren potentiell alle FB-Befehle ausführen könnten, auch wenn sie beim bzw. für den Aktor gar nicht dokumentiert sind!

Gut zu wissen!

Gruß Gerd

Genau. IPS muss bei mir nur die ID der Fernbedienungstaste kennen, aber nicht die IDs der Geräte die endeffektlich geschaltet werden.

Jede Aktion die man so auslösen will, und sei es nur wenn man bestimmte Aktoren gruppieren will, kostet also einen Hardware-Knopf auf der Fernbedienung und damit um die 6 Euro oder so. Ein wenig mysteriös ist das ja schon…

Den zweiten Knopf werde ich wohl für das Aufwachlicht („stufenloses“ hochdimmen z.B. über 30 Minuten) „opfern“, dass HomeMatic als Direktverknüpfung anbietet :slight_smile:

Dafür sind ja eigentlich die virtuellen Kanäle gedacht. Über die sollten solche Einstellungen möglich sein. Das Ganze hat dann auch nix mit IPS zu tun, da die eigentliche Steuerung ja über die Direkt-Verknüpfung (eingestellte Optionen) erfolgt. IPS schaltet dann nur Ein oder Aus.

Man kann ja auch an eine Schaltsteckdose z.B. einen „normalen“ RGB-Controller hängen. Ein/Aus über IPS, die Steuerung läuft über den Controller (Achtung: War nur als Beispiel gedacht).

Ist also nix Geheimnisvolles. :smiley:

Leider weiss ich noch nicht, wie diese Kanäle in IPS anzusprechen sind. Aber dazu läuft schon ein Thread.

Gruß
Bruno