wie macht man ein RGB-dummy

Begonnen von ujaudio, 25 Juli 2017, 16:13:28

Vorheriges Thema - Nächstes Thema

ujaudio

Ich möchte ein dummy definieren, welches RGB-Werte in der Form RRGGBB annimmt, z.B. A2357F. Das scheint erst einmal trivial, also klar, jedes dummy kann das. Nun möchte ich aber mit dem colorpicker den Wert einstellen - das ist mir bislang nicht gelungen. Ich vermute nun, dass es da gar keine Lösung gibt. Muss ich nun ein neues Modul definieren gemäß https://wiki.fhem.de/wiki/Color definieren?

Des weiteren möchte ich noch den HSV-Wert als zusätzliche Readings haben - das löst man vermutlich am besten mit einem notify, sobald sich der Status (RGB-Wert) ändert.
Einen lieben Gruß
Jürgen

CoolTux

Probiere mal bitte

attr setList rgb:colorpicker,RGB
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

herrmannj

was ist denn Dein Ziel ?

vg
joerg

igami

Und was hast du bisher probiert? Eigentlich brauchst du nur einen dummy mit setlist und readinglist.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ujaudio

Zitat von: CoolTux am 25 Juli 2017, 16:16:50
Probiere mal bitte

attr setList rgb:colorpicker,RGB
Zitat von: igami am 25 Juli 2017, 17:06:13
Und was hast du bisher probiert? Eigentlich brauchst du nur einen dummy mit setlist und readinglist.

attr setList rgb:colorpicker,RGB
attr readingList RGB


Das funktioniert soweit (ich benötige jedoch ein reading State und STATE kann aus dem Webfrontend nur noch in Form von z.B. "rgb 44AA55" gesetzt werden, ohne den Zusatz rgb geht es nicht - kann ich mal für's erste ignorieren, auch wenn ich es noch nicht verstanden habe, ggf. mit notify korrigieren, denn Kommandozeileneingabe "set testdummy 44AA55" funktioniert).

Zitat von: herrmannj am 25 Juli 2017, 16:28:55
was ist denn Dein Ziel ?

vg
joerg

Ich möchte unbedingt meine Haussteuerung uf 2 Raspberries aufteilen: auf einem laufen alle wichtigen Dinge, wie z.B. "Weil wir einen Kaminofen haben, darf Dunstabzugshaube nur eingeschaltet werden, wenn mind. ein Fenster geöffnet ist", weiterhin läuft dort auch die gesamte Bedienoberfläche für's Tablet, weil auch die Rollladensteuerung zu den wichtigen Dingen zählt. Auf einem 2. Raspberry laufen die "Spielereien", wie z.B. all meine bunten LEDs mit WifiLight für Wellness und Terrasse - aber auch anderes. Da ich während der Entwicklung auch mal Programmierfehler mache, kann es vorkommen, dass meine Frau kochen will und der Dunstabzug nicht funktioniert. Durch die Trennung will so etwas vermeiden.
Nun brauche ich also eine RGB-Variable, die mittels FHEM2FHEM dann WifiLight steuert - reines Steuern wäre kein Problem, aber ich möchte auch die Anzeige haben.
Einen lieben Gruß
Jürgen

igami

Zitat von: ujaudio am 25 Juli 2017, 17:38:41
attr setList rgb:colorpicker,RGB
attr readingList RGB

jetzt hast du einmal rgb und einmal RGB ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ujaudio

Danke, mit 2x RGB funktioniert alles einwandfrei.


Einen lieben Gruß
Jürgen

andies

Darf ich da mal einhaken? Ich habe ein Sonoff-Gerät, das auch Farben beherrscht (Sonoff B1). Dessen Farbe möchte ich einstellen. Das würde mit MQTT geschehen können, man muss dazu ein sogenanntes Topic einrichten. Das geht (so mehr oder weniger), ich möchte aber die Farbe nicht als Text, sondern mit einem colorpicker auswählen. Mir ist nun nicht klar, wie ich bei einem beliebigen (!) Gerät, das eben kein dummy ist, einen Colorpicker hinzufügen kann. Geht das?

Ich habe folgendes versucht:
Internals:
   IODev      Mosquitto
   NAME       Sonoff_B1
   NR         141
   STATE      outgoing publish sent
   TYPE       MQTT_DEVICE
   READINGS:
     2017-10-05 22:35:21   Color           E76E000000
     2017-10-05 22:33:27   Command         Unknown
     2017-10-05 22:35:21   Dimmer          91
     2017-10-05 21:54:39   Fade            on
     2017-10-06 13:38:04   LWT             Offline
     2017-10-05 22:26:08   LedState        0
     2017-10-05 22:28:08   LedTable        on
     2017-10-06 08:58:28   POWER           on
     2017-10-06 08:58:28   RESULT          {"POWER":"on"}
     2017-10-06 16:50:50   RGB             "FFFFFF"
     2017-10-05 21:57:17   Speed           6
     2017-10-06 16:58:38   state           RGB
     2017-10-06 16:58:38   transmission-state outgoing publish sent
   message_ids:
   publishSets:
     :
       topic      cmnd/sonoff_b1/POWER
       values:
         on
         off
   sets:
     off
     on
   subscribe:
     tele/sonoff_b1/LWT
     stat/sonoff_b1/RESULT
     tele/sonoff_b1/COLOR
   subscribeExpr:
     ^tele\/sonoff_b1\/LWT$
     ^stat\/sonoff_b1\/RESULT$
     ^tele\/sonoff_b1\/COLOR$
   subscribeReadings:
     stat/sonoff_b1/RESULT:
       cmd
       name       RESULT
     tele/sonoff_b1/COLOR:
       cmd
       name       RGB
     tele/sonoff_b1/LWT:
       cmd
       name       LWT
Attributes:
   IODev      Mosquitto
   publishSet on off cmnd/sonoff_b1/POWER
   stateFormat transmission-state
   subscribeReading_LWT tele/sonoff_b1/LWT
   subscribeReading_RESULT stat/sonoff_b1/RESULT
   subscribeReading_RGB tele/sonoff_b1/COLOR
   webCmd     on:off:RGB
   widgetOverride RGB:colorpicker,RGB

und ich sehe den Colorpicker, aber wenn ich eine Farbe auswähle, passiert nichts. Die Farbe im Reading RGB bleibt FFFFFF.  Auch das Reading Color ändert sich nicht. Kann mir da jemand helfen?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

justme1968

in der fhem.cfg.demo gibt es beispiele für farbige lampen die mit einem readingsProxy umgesetzt sind und neben rgb auch noch hsv bzw. farbtemperatur verstehen. inklusive icons und colorpicker.

für beliebige geräte geht es wenn das device prinzipiell kommandos zum setzen der farbe versteht. beispiel im wiki unter color.

wenn die kommandos zum setzen der farbe aus irgendeinem grund nicht kompatibel sind kann man sich über cmdalias so ziemlich alles zurecht biegen. oder man nimmt die readingsProxy beispiele von oben und setz sie auf das jeweilige device an.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

andies

Sorry, ich muss nochmal nachfragen. Ich kriege es nicht hin, weil ich die allzu knappen Erläuterungen auch nicht verstehe. Ich habe ein readingsproxy; erste Frage: kann ich das denn auch so beschreiben:
defmod Sonoff_readingsProxy readingsProxy Sonoff_B1:(Color|POWER)
wenn Sonoff_B1 die zwei Readings POWER und Color hat? Steht explizit nicht da, aber ich nehme mal an "ja".

Dann kommt SetList, das habe ich so definiert
attr Sonoff_readingsProxy setList on:noArg off:noArg rgb:colorpicker,rgb
und ich hoffe mal, das geht auch. Aber bei colorpicker hört es schon auf. Ich muss das auch als widgetOverride definieren, mache das so
attr Sonoff_readingsProxy widgetOverride rgb:colorpicker,rgb

und verstehe die Erklärung in der commandref überhaupt nicht:
ZitatLeerzeichen separierte Liste von Name/Modifier Paaren, mit dem man den vom Modulautor für einen bestimmten Parameter (Set/Get/Attribut) vorgesehene Widgets ändern kann. Folgendes ist die Liste der bekannten Modifier:
und da steht colorpicker nicht drin (nur unten bei den Beispielen). Gibt es das also nicht? Zudem beginnen in den widgetOverrides bei den Erklärungen alle Einträge mit einem Doppelpunkt, unten steht aber bei den Beispielen auf einmal "state" davor: Welche Bedeutung hat das state dort? Was darf auch davor stehen, was nicht? Darf colorpicker nur mit uzsu verwendet werden? Oder geht es auch ohne? Der Wiki-eintrag ist noch furchtbarer. Es nervt etwas.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

wires.io

#10
Ich hänge mir hier mal dran: Ich möchte eine Homekit RGBW LED in FHEM spiegeln und dazu zuerst einmal einen dementsprechenden Dummy in FHEM anlegen:

Mit
defmod rgbwdummy dummy
attr rgbwdummy genericDeviceType light
attr rgbwdummy homebridgeMapping On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off
attr rgbwdummy room Homekit
attr rgbwdummy setList on off
attr rgbwdummy webCmd on:off

klappt schon mal on/off.

Nun möchte ich noch Helligkeit und Farbe haben. Was brauche ich dazu in homebridgemapping, setList und webCmd?

Wenn das alles passt, würde ich im zweiten Schritt die "echte" und "gespiegelte" LED in der Home App zusammen gruppieren und müsste dann, falls ich in der Home App schalte, die Werte in FHEM sehen.

amenomade

Bei mir funktioniert eine HM LED-Leiste mit folgendem:

attr wz_Leiste alexaName Leds
attr wz_Leiste genericDeviceType light
attr wz_Leiste homebridgeMapping On=wz_Leiste_Dim:state,valueOff=off,cmdOn=on,cmdOff=off \
Brightness=wz_Leiste_Dim:pct,cmd=pct\
Hue=wz_Leiste_Color:color,minValue=0,maxValue=360,max=100,cmd=color\
Saturation=wz_Leiste_Color:color,cmds=0:color+100
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus