SWAP 0000002200000003: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Schreibweise auf panStamp (kleines p))
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:


{{Infobox Modul
{{Infobox Modul
|ModPurpose=Modul zur Ansteuerung des erweiterten RGB Board
|ModPurpose=Modul zur Ansteuerung des normalen und erweiterten RGB Board ([[PanStamp_RGBWW_Board_mit_DMX_und_IR]])
|ModType=d
|ModType=d
|ModCmdRef=SWAP_0000002200000003
|ModCmdRef=SWAP_0000002200000003
Zeile 12: Zeile 12:
}}
}}
[[Datei:SWAP_0000002200000003.png|mini|rechts|hochkant=2.5|RGB LED Driver Board]]
[[Datei:SWAP_0000002200000003.png|mini|rechts|hochkant=2.5|RGB LED Driver Board]]
Ein FHEM Modul für das modifizierte panStamp RGB LED Driver Board.  
Ein FHEM Modul für das erweiterte panStamp RGB LED Driver Board ([[PanStamp_RGBWW_Board_mit_DMX_und_IR]]).  


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

Version vom 9. August 2015, 10:20 Uhr


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.



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
Modulname
Ersteller
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 (PanStamp_RGBWW_Board_mit_DMX_und_IR).

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.


weitrere Screenshots


Voraussetzungen

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

Anwendung

Define

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. Durch 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 die Register von #1 bis zu #2 durchzufaden.

get-Kommando

Attribute

  • 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 von 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