SWAP 0000002200000003

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
Todo: Voraussetzungen + Set-Befehle ergänzen; ist das Attribut defaultFadeTime gültig?


SWAP_0000002200000003
Zweck / Funktion
Modul zur Ansteuerung des normalen und erweiterten RGB Board (PanStamp_RGBWW_Board_mit_DMX_und_IR)
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Sonstige Systeme
Modulname 35_SWAP_0000002200000003.pm
Ersteller justme1968/justme (Forum /Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!
RGB LED Driver Board

Ein FHEM Modul für das erweiterte panStamp RGB LED Driver Board.

Das Board unterstützt RGBW LEDs und lässt sich per Infrarot Fernbedienung, DMX Controller (z. B. als Unterputz Touchpanel) und FHEM bedienen.

Der Funktionsumfang wird in diesem Forenthread vorgestellt. Die Hardware für das Board wird hier im FHEM Forum vorgestellt und ein Prototyp ist hier zu sehen.

Weitere Screenshots


Voraussetzungen

Um Modul xyz benutzen zu können, muss außerdem ...

Anwendung

Define

define <name> SWAP_0000002200000003 <ID> 0000002200000003

set-Kommando

  • on / off / on-for-timer / toggle /... : Wie bei jedem anderen Device
  • rgb <RRGGBB> : Stellt die Farbe ein, ohne Fade.
  • dimUp / dimDown : Stufenweise heller oder dunkler schalten
  • setIR # <code> :
  • learnIR # :
  • storeIR # <code> <cmd> : Hinterlegt eine von 16 möglichen Zuordnungen zwischen IR-Signal und FHEM-Kommando. # ist die Nummer der Registers, <code> ist das IR-Kommando, <cmd> ist das RGB-Driver-Kommando, das ausgeführt werden soll
  • getIR # :
  • getIR all : Fragt ein/alle hinterlegten IR-Register ab. Anzeige mit get <device> listIR
  • setFade # <RRGGBB> <time> : Speichert eine definierte Farbe in bis zu 16 unterschiedlichen Registern. Auf diese Farben kann später automatisch überblendet werden.
  • getFade # :
  • getFade all : Fragt alle hinterlegten Fader-Register ab. Anzeige mit get <device> listFade
  • startFade <#1> <#2> : Beginnt in einer Endlosschleife zwischen den Registern von #1 bis zu #2 durchzufaden.

get-Kommando

  • Alle SWAP-Befehle und zusätzlich:
    • rgb : Liefert die aktuelle LED-Farbe
    • listIR : Liefert alle IR-Register dieses Devices. Zuerst muss set <name> getIR ausgeführt werden
    • listFade : Liefert alle Fade-Register. Zuerst muss set <name> getFade ausgeführt werden

Attribute

  • color-icon :
    • 1 -> Lampen-Farbe als Icon-Farbe verwenden und 100% Shape als Icon-Shape
    • 2 -> Lampen-Farbe in voller Helligkeit als Icon-Farbe und Dim-Stats als Icon-Shape
  • ProductCode : Muss 0000002200000003 sein

*defaultFadeTime : Es wird diese fadeTime verwendet, wenn bei dem set-Kommandor fadeTo keine Zeit angegeben wird. Das macht es etwas einfacher das panStamp RGBWW Board mit DMX und IR in eine LightScene einzubinden und beim aktivieren einer Szene die Farben zu faden statt hart umzuschalten

Anwendungsbeispiele

Original RGB-Sketch (von panstamp.com)

Der originale Sketch der panStamp.com-Seite und das SWAP FHEM-Modul verstehen von Haus aus nur die regSet und regGet Kommandos. Wenn man den colorpicker verwenden möchte, geht das nur per readingsProxy. Das einfachste ist es den Sketch und das FHEM-Modul für das RGBWW-Board zu verwenden. Dann hat man neben dem colorpicker, einem farbigen State-Icon auch alle Möglichen FHEM-Kommandos wie on, off, on-for-timer, dimup, etc. zu verwenden.

Derzeit scheint es keinen Grund zu geben, den original Sketch zu verwenden. Beitrag

Falls jemand trotzdem den normalen RGB-Sketch von panStamp verwendet:

  • Im SourceCode der Datei alle drei 0000002200000003 durch 0000000100000003 ersetzen.

Dann geht on/off/toggle/set rgb RRGGBB und auch der colorpicker, wenn das HUEDevice Modul auch geladen ist.

ir Code anlernen

Um die ir Kommandos anzulernen am besten learnIR # verwenden. Danach blinkt die LED auf dem Board schnell und es wird auf ein ir-Signal gewartet. Wenn das empfangen ist blinkt die LED langsamer und es wird auf ein Kommando von FHEM gewartet. Danach geht die LED auf dem Board aus und das eben gesendete FHEM-Kommando ist mit der Taste auf der ir Fernbedienung verknüpft.

Empfangene ir-Kommandos, die nicht über eines der 16 Register eine lokale Aktion auslösen, werden über das Register 0C an FHEM übertragen und sind per notify ganz normal weiter verarbeitbar.

Power On State konfigurieren

register 0E PowerOnState:

  • 1. byte: 0 -> aus, 1 -> weiss, 2-> eine bestimmte Farbe wie im 3. Byte konfiguriert, 3 -> autosave. E0.1 Bit 5&6 gibt jetzt in 10 Sekunden Schritten an nach welcher Zeit das autosave ins eeprom passieren soll. also 0, 10, 20 oder 30 Sekunden
  • 2. byte: Helligkeit
  • 3-5. byte rrggbb

Man kann z.b. mit set <device> regSet 0E 0200FFFFFF einstellen das nach dem einschalten alle drei Farbkanäle voll aufgedreht werden. oder mit set <device> regSet 0E 0300000000 autosave aktivieren. Dann wird jeweils nach 5 Minuten ohne Änderung die aktuelle Farbe ins eeprom gesichert. Die 5 Minuten könnte man eventuell noch verkürzen. Für autosave ist am Anfang der loop Schleife im Arduino Sketch das Schreiben ins eeprom zu aktivieren (das #if 0 in ein #'if 1 ändern). An dieser Stelle kannst du auch die 5 Minuten anpassen. Soft on funktioniert auch mit dem Wert vor dem letzten ausschalten. Hierzu ist das Register 0E.1 wie folgt zu setzen: 0x02 um nach hard power on den letzten rgb wert zu haben, 0x08 um nach soft on den letzten wert zu haben. Für beides zusammen 0x0a.

5. LED Kanal zum schalten benutzen

Mit den 5. Kanal nur schalten ist kein Problem. Das SWAP FHEM-Modul kann schon so konfiguriert werden das es nur den Teil eines Registers als eigenständiges Device zur Verfügung stellt. Alternativ geht das auch mit dem readingsProxy.

define Leinwand readingsProxy RGB_Leinwand 0B.4
attr Leinwand setFn {if($CMD eq "on") {fhem("set $DEVICE regSet 0B.4 FF")} else {fhem("set $DEVICE regSet 0B.4 00")}}
attr Leinwand setList on off
attr Leinwand valueFn {return "off" if( $VALUE eq "00"); return "on";}

Fade konfigurieren

Faderegister definieren:

set Device setFade 01 FF0000 60
set Device setFade 02 00FF00 60
set Device setFade 03 0000FF 60

Fade starten von Register 1 bis Register 3:

set Device startFade 01 03

Links