FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: christiantf am 26 September 2016, 20:20:32

Titel: Externes Set-Kommando (über Web) "umrechnen" für Wifilight
Beitrag von: christiantf am 26 September 2016, 20:20:32
Hallo,

das ist mein erster Post hier, sorry wenn ich mich ganz blöd anstelle.
Ich habe bisher mit FHEM die Enocean Fenstergriffe über Enocean Pi mit Notifys ausgestattet und sende die per http an eine andere Steuerung weiter. Funktioniert perfekt.

Jetzt brauche ich den umgekehrten Weg, und weiß nicht weiter.

Ich möchte per URL Wifilight ansprechen - alles kein Problem:
http://<fhem>:8083/fhem?cmd.PartyraumLED=set PartyraumLED RGB <FF88FF>

Mein Problem ist: Meine Quelle liefert den RGB-Farbcode ganz anders, nämlich als einen String mit drei Prozentangaben:
Der String 100100100 ist FFFFFF (100%/100%/100%).
Der String 50050050 ist 7F7F7F (50%/50%/50%).

Ich bräuchte also einen "Konverter" vor dem Wifilight-Aufruf.

Das Rechnen ist nicht das Problem. Was ich nicht verstehe, wie definiere ich ein Gerät (Dummy?), das meinen oder meine Strings als Parameter aufnimmt, damit ich damit weiterarbeiten kann.

Mir wäre schon geholfen, wenn mir jemand einen "Rumpf" zeigen könnte, dann hilft mir Intuition und Google weiter.

Danke und nochmal danke!
Christian
Titel: Antw:Externes Set-Kommando (über Web) "umrechnen" für Wifilight
Beitrag von: justme1968 am 26 September 2016, 20:48:48
das geht auch ohne dummy.

z.b. in dem du eine routine percent2rgb in 99_myUtils.pm steckst die etwa so aussehen könnte:sub percent2rgb($)           
{                             
  my($percent) = @_;         
                             
  my($r,$g,$b) = ($percent =~ m/(\d\d\d)(\d\d\d)(\d\d\d)/);
                             
  return sprintf( "%02X%02X%02X", $r*2.55+0.5, $g*2.55+0.5, $b*2.55+0.5 );
}                             


und dann dein set so aufrufst:set PartyraumLED RGB {(percent2rgb('100075050'))}

das set kommando musst du url encoden.

gruss
  andre
Titel: Antw:Externes Set-Kommando (über Web) "umrechnen" für Wifilight
Beitrag von: christiantf am 27 September 2016, 23:05:08
Hallo Andre,

das schaut so einfach aus! (und selbst wäre ich niemals da drauf gekommen!)

Schon probiert, funktioniert perfekt!!

Vielen Dank!
Christian
Titel: Antw:Externes Set-Kommando (über Web) "umrechnen" für Wifilight
Beitrag von: raul999 am 27 August 2017, 15:33:27
Ich bekomme beim Versuch den Befehl von Loxone an Fhem zu senden, folgende Fehlermeldung.

2017.08.27 15:32:03 1 : ERROR evaluating my $DEV='LEDLeiste';percent2rgb(,50050050'): Unrecognized character \xE2; marked by <-- HERE after rcent2rgb(<-- HERE near column 33 at (eval 1128) line 1.

Was mache ich falsch?
Titel: Antw:Externes Set-Kommando (über Web) "umrechnen" für Wifilight
Beitrag von: justme1968 am 27 August 2017, 18:07:49
wie die meldung sagt: vermutlich hat sich ein sonderzeichen eingeschlichen.

zeig mal was du ganz genau gemacht hast.
Titel: Antw:Externes Set-Kommando (über Web) &quot;umrechnen&quot; für Wifilight
Beitrag von: hollyghost am 28 August 2017, 08:45:04
Hi raul - so wie es aussieht, verwendest du keine 'richtigen' Hochkommas für die Angabe deines Prozentstrings. Windows wandelt diese einfachen Hochkommas gerne um - ein Strich unten, ein Strich oben. Wenn du das dann per C&P schnappst und einfügst, kommt es zu seltsamen Effekten.
Ich hoffe, du verstehst was ich meine - ansonsten einfach noch mal melden. Grüße Holly


Gesendet von iPad mit Tapatalk