HM-Funkmodul für RPI2 & RGB(W)-Controller bestellbar

Das wars! Auf diese Idee bin ich natürlich nicht gekommen mit dem Dummymodule… :banghead:

Hab mal kurz ein Dummy gebaut und das Script angehängt, siehe da. LED Strip wechselt immer noch und die Farbe im Gui stimmt…! Jetzt muss ich mich noch an dein Helligkeitsscript machen und dann ist wieder ein kleiner Schritt getan.

Merci für die Hilfe! Das hätt ich nie gefunden ohne den Hinweis!

Gruss
swissroot

Hallo swissroot,

schön, dass es geklappt hat :wink:

Die Dokumentation ist leider sehr unvollständig und war ja auch schon im Forum einige Male in der Kritik. Es werden zwar die Funktionen beschrieben der Kontext fehlt aber meistens :mad: Auch mehr Beispiele wären oft sehr hilfreich. In Summe ist sie allerdings noch deutlich besser als bei manch anderem Anbieter :wink:

Ich habe damals ebenfalls sehr viel Zeit gebraucht, um die Kopplung zu realisieren und bin letztendlich über einen Forumseintrag auf die Lösung gekommen.

Du hast geschrieben

Da hab ich irgendwo im Forum den Sonnenaufgang gesehen das wäre schon interessanter oder halt einfache Szenen ohne geblinke… :wink:

Ich habe bislang derartiges nicht gefunden. Im HM Forum http://homematic-forum.de/forum/viewtopic.php?f=27&t=27497&p=268485&hilit=rgbw#p268485 hat sich jemand an der Programmierung versucht, ist letztendlich bislang aber offensichtlich gescheitert. Solltest du also dazu Informationen haben wäre es nett, wenn du den Link hier angeben könntest.

Gruß
Hans

Klar könnte die Doku immer besser sein… :wink: bloss welcher Engineer schreibt schon gerne Dokus… :smiley: und wir haben mit unserem Post ja auch wieder was zur Dokumentation beigetragen… :cool:

Und wenns dann nach langem pröbeln endlich geht ist die Freude auch viel grösser… ausser die Hausdame kommt dazwischen.

Nur noch eine Frage zu deinem Helligkeitsscript. Hast Du dies auf eine eigene Variable gelegt oder im „Farbkreis“ integriert? Du hast auch geschrieben, dass die Werte sich aktualisieren, jetzt wo ich natürlich einen DummAktor gebaut habe und nicht mehr den HM Aktor nehme ändert sich die Farbe im Gui nicht wenn ich direkt über HM schalte. Bei IPS klappts. Klar klagen auf hohem Nievau… :wink:

Betreffend [b]Sonnenaufgang[/b] bin ich im Forum auf dies gestossen. Bin aber nur von der Idee her mal drauf gekommen weiss nicht ob das Script einfach 1:1 übernommen werden kann, denke eher nicht. Hab mich aber auch bis jetzt nicht mehr weiter beschäftigt, zuerst muss der Rest sauber laufen dann Spielereien.

Von der Idee her gehts aber in die richtige Richtung. Hoffe es hilft Dir weiter!

Merci und Gruess
swissroot

Hallo swissroot,

Nur noch eine Frage zu deinem Helligkeitsscript. Hast Du dies auf eine eigene Variable gelegt oder im „Farbkreis“ integriert?

Bei mir sieht es so aus:

// Speichert des HEX-Wert vom Color-Picker
$Farbe = $_IPS['VALUE'];
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

// HEX-Wert in einzelne Werte für Rot / Grün / Blau zerlegen
$r = (($Farbe >> 16) & 0xFF);
$g = (($Farbe >> 8) & 0xFF);
$b = (($Farbe >> 0) & 0xFF);

// Farbsättigung
$fs=255;

/* Berechnung der Helligkeit

Die hier angewendete Formel wird vom W3C für die Bestimmung von Farbhelligkeiten
empfohlen, die auf Bildschirmen dargestellt werden. 
http://www.w3.org/TR/2006/WD-WCAG20-20060427/appendixA.html#luminosity-contrastdef

The luminosity of a color is defined as
0.2126 * ((R / FS) ^ 2.2) + 0.7152 * ((G / FS) ^ 2.2) + 0.0722 * ((B / FS) ^ 2.2).

R, G, and B are the red, green, and blue RGB values of the color.

FS is the maximum possible full scale RGB value for R, G, and B (255 for eight bit color channels).
The "^" character is the exponentiation operator.

Infos auch hier
http://www.kurztutorial.info/programme/helligkeit-farbe-berechnen/rgb-bright-rechner.htm
*/

$Helligkeit= 0.2126 * pow(($r/$fs), 2.2) + 0.7152 * pow(($g/$fs), 2.2) + 0.0722 * pow(($b/$fs), 2.2);

// Umwandeln der RGB Werte
$hsv =  RGBtoHSV($r, $g, $b);

// Schreiben der Homematic Werte in den entsprechenden Controller des
//gewählten Color Pickers

switch ($_IPS['VARIABLE']) {
   case 10568: // Flur
      HM_WriteValueInteger(26243 /*[Flur\Licht\Flur LED Farbe]*/, "COLOR", $hsv);
      HM_WriteValueFloat(15722 /*[Flur\Licht\Flur LED Dimmer]*/, "LEVEL", $Helligkeit);
      break;
   case 34765: // Essen Deckenlampe
      HM_WriteValueInteger(16296 /*[Essen\Licht\Essen Deckenlampe Farbe]*/, "COLOR", $hsv);
      HM_WriteValueFloat(46635 /*[Essen\Licht\Essen Deckenlampe Dimmer]*/, "LEVEL", $Helligkeit);
		break;
   case 15288: // Essen LED
      HM_WriteValueInteger(51425 /*[Essen\Licht\Essen LED Farbe]*/, "COLOR", $hsv);
      HM_WriteValueFloat(46791 /*[Essen\Licht\Essen LED Dimmer]*/, "LEVEL", $Helligkeit);
      break;
   case 17932: // Essen Vitrine
      HM_WriteValueInteger(46448 /*[Essen\Licht\Essen Vitrine Farbe]*/, "COLOR", $hsv);
      HM_WriteValueFloat(21876 /*[Essen\Licht\Essen Vitrine Dimmer]*/, "LEVEL", $Helligkeit);
      break;
   case 55776: // Kueche RGBW
      HM_WriteValueInteger(57420 /*[Kueche\Licht\Kueche RGBW Farbe]*/, "COLOR", $hsv);
      HM_WriteValueFloat(48235 /*[Kueche\Licht\Kueche RGBW Dimmer]*/, "LEVEL", $Helligkeit);
		break;
}

Eine weitere Variable wird dabei nicht angelegt. Farbe und Helligkeit werden dann als Paar an die Controller gesendet.

jetzt wo ich natürlich einen DummAktor gebaut habe und nicht mehr den HM Aktor nehme ändert sich die Farbe im Gui nicht wenn ich direkt über HM schalte

Ja, das ist natürlich so und gilt z. B. auch für meine direkten Farbtasten, wo dann keine Rückmeldung an den Color Picker geht. Wenn man das wollte, müsste man den Wert für den Color Picker zurück rechnen oder sich irgendwo speichern und dann an die Hex RGBW Variable des Color Picker senden. Ich habe das eben mal einfach durch Änderung der Variablen in der Konsole gemacht und die Änderung wird dann am Color Picker auf angezeigt.

Betreffend Sonnenaufgang bin ich im Forum auf dies gestossen

Ok, das ist in sofern anders, als dass nicht der Controller selbst programmiert wird. Dass man mittels Scripttimer und den entsprechenden hsv-Werten sich einen Farbwechsel machen kann liegt ja auf der Hand.

Gruß
Hans

Nachtrag: Die Rückmeldung bei Betätigung der Farbtasten habe ich jetzt integriert, da man ja nur den entsprechenden Integerwert an die RGBW Variable senden muss (rot=16711680, grün=65280, blau=255, gelb=16776960 und weiß= 16777215). Da hast du mich ja auf die richtige Idee gebracht :slight_smile:

Cool, THX! Langsam bin ich wieder einen Schritt weiter im IPS. Braucht zum Teil etwas um die Ecke denken… :slight_smile:

Was ich aus diversen Foren und Beiträgen bei HM direkt entdeckt habe ist, dass die Programme im Kontroller nichts taugen. Daher ist mir die Idee mit dem Sonnenaufgang direkt ins Auge gestochen.

Denke mit der aktuellen Firmware lässt sich das meiste „extern“ aus dem Kontroller holen…

Gruss
swissroot

Hallo zusammen,

ich habe gerade mal meinen RGBW Controller angelernt und hatte gehofft das die Ansteuerung einigermaßen selbsterklärend ist. Offensichtlich nicht für mich.
Ich habe den Thread mehr oder weniger komplett gelesen und bin eigentlich davon ausgegangen, dass das Gerät in Symcon eine HEX Variable hat die ich mit meinem entsprechenden Farbwert füttere und die Farbe dann geschaltet wird.

Leider bekomme ich nur die folgenden Variabeln angezeigt, mit denen ich nicht wirklich viel anfangen kann!

Verfügbare Geräte/Instanzen im LAN-Adapter:

Übersicht in der Baumstruktur:

Ich hoffe ihr könnt mir helfen. Ggf. mache ich auch noch irgendwas falsch!

Danke
Lukas

Auf E*V steht:
Einsatz momentan nur mit der HomeMatic CCU2 Zentrale möglich.

Sieht man bei dir daran, dass die Datenpunkte falsch sind.
Michael

Danke für deine Antwort!

Gibt es denn einen Workaround bzw. ne Möglichkeit das Ding doch „irgendwie“ anzusteuern?

Zum Verständnis. Hätte ich statt dem LAN Adapter eine CCU dazwische, würde es laufen, oder geht es um Symcon allg. was die Kompatibilität angeht?

Nein, da „nur“ mit LAN-Adapter die Datenpunkte schon nicht korrekt interpretiert werden. Keine Hände, keine Kekse :wink:

Einwandfrei mit CCU2!

Beste Grüße
/Jens

Hi,

habe mich zu dem Thema noch mal schlau gemacht, da es mich interessiert, und ich es evtl. umsetzen will.
Es gibt wohl Möglichkeiten. Nur weiß ich nicht genau wie, da ich es noch nicht probiert habe. Aber das Folgende habe ich gefunden:
Das HM-MOD-RPI-PCB kommuniziert über UART mit die RPI und dieser kann nicht wie tommy schrieb mit dem PiRack kaskadiert werden. Aber es gibt zwei andere Wege.

  1. UART multiplexen mittels zusätzlicher GPIO-Pins als Select, z.B. via MAX398/MAX399, oder

  2. SPI zu UART konvertieren, z.B. via MAX3111. Mit SPI sind mehr UARTs anschließbar, jedoch habe ich gelesen, dass einige Module hier kritisch sind was andere Ports als UART0 angeht (z.B. EnOceanPi oder RazBerry).

Wie das ganze softwareseitig aussieht? Keine Ahnung, da ich zu selten so tief in Linux spiele. Aber wer hier Kenntnisse hat…
einfach posten.

Grüße
Kevin

Sorry, ich bin Anfänger. :confused:
Ich versuche seit Wochen meine Homematic RGBW Funkmodule ins IPS einzubinden und über den Farbkreis anzusteuern.
Ich habe mich nach der weiter oben stehen den Anleitung gerichtet aber bei der Verwendung von :

$Farbe*=$_IPS[‚VALUE‘];
SetValue($_IPS[‚VARIABLE‘],
$_IPS[‚VALUE‘]);

in einem Aktionsscript kommt die Fehlermeldung:
Parse error: syntax error, unexpected ‚$_IPS‘ (T_VARIABLE) in C:\IP-Symcon\scripts\39266.ips.php on line 5
auch beim Start aus der WebFront???

Die * entfernen ;), Kopierfehler.

Vielen Dank für den Hinweis, aber die „*“ sind beim kopieren hier rein entstanden, im originalen Skript stehen die nicht. :slight_smile:

Ich habe versuchsweise eine Variable neu angelegt und dieser das Standardprofil hexcolor verpasst. Dann habe ich einen Skript neu erstellt und nur diese beiden Zeilen eingefügt. Danach mit der Variablen als Eigene Aktion verknüpft und über WebFront ausgeführt.
Nach dem Ausführen über das WebFront wird das Skript als fehlerhaft markiert und die Variable nimmt nicht den am Farbkreis eingestellten Wert ein.
Wenn ich allerdings jetzt das Skript, auf den die Aktionsvariable verweist lösche funktioniert zumindest die Übernahme des Hex-Wertes in die Variable. Im Fenster Variable editieren kommt bei „Eigene Aktion“ logischerweise eine Fehlermeldung. Trotzdem ändert sich der Variablenwert beim Bedienen des Farbkreises.

Falls ich hier einen Beitrag zumülle, sorry, aber auch in Sachen Forum bin ich ein Neuling. :o:o

Ich habe den Fehler auf Grund des Hinweises mit den „*“ gefunden.
Beim kopieren des Skripts hier raus werden an bestimmten Stellen Leerzeichen eingefügt, die dann zu fehlerhaften Befehlen führen.
Wäre jemandem mit mehr php- Erfahrung sicher eher aufgefallen:o:o
Vielen Dank nochmal für den Hinweis Ralf

Hi @ all!

Ich bin hier schon die ganze Zeit am Rätseln…aber entweder stehe ich auf dem Schlauch oder keine Ahnung… Ich bin auf der Suche nach einer Möglichkeit, um von HomeMatic Hue (COLOR-Variable 0-200) und der Helligkeit (LEVEL-Variable 0 bis 1) wieder zurück auf RGB zu berechnen. Wobei es bzw. ja eigentlich nur um die Integer Variable „COLOR“ geht und die Dezimalzahl darin. Mehr hat man ja nicht. Die 0-200 sind ja nur zum Senden/Steuern. Habe keinen solchen Aktor und weiß daher nicht, wie das GetValueFormatted aussieht.

Hier im Thread hatte ich zwar ein paar Integer-Zahlen gefunden für „normale“ Farben wie „Rot“ usw…aber ich hätte das gerne über eine Formel berechnet. Hat vlt. jemand einen Tipp für mich?

Vielen Dank im Voraus!
-Chris-