Wifilight.pm

Begonnen von herrmannj, 18 Januar 2014, 04:10:07

Vorheriges Thema - Nächstes Thema

Amenophis86

Zitat von: BuBu79 am 27 Januar 2017, 20:52:50
Hi,

bin seit kurzem dabei meine Hausautomation im neuen Eigenheim umzusetzen und muss mich erstmal etwas einfuchsen in die "Materie".

Wie auf Seite 68 von herrmannj gepostet https://forum.fhem.de/index.php/topic,18958.msg231987.html#msg231987
versuche ich nun schon ein paar Tage den Code einzubinden, leider ohne Erfolg was wohl aber eher meiner Unwissenheit geschuldet ist.

Folgendes habe ich bisher positiv am laufen:


#### Blinken bei Anruf Anfang ####

## Jemand ruft mich an
define TelefonAN notify Anrufliste:event:.ring { \
  my $number=(ReadingsVal("Anrufliste","internal_number",610));;\
  if ($number == ######) { \
      fhem ("set WZ_RGBSchrank on");;\
    } \
}

## Anruf beendet
define TelefonAUS notify Anrufliste:event:.disconnect { \
  my $number=(ReadingsVal("Anrufliste","internal_number",610));;\
  if ($number == ######) { \
      fhem ("set WZ_RGBSchrank off");;\
    }\
}

#### Blinken bei Anruf Ende ####


Das macht auch was es soll. Anruf kommt, Strip geht auf die im Modul eingestellte FFFFFF und nach dem auflegen Strip wieder aus.

Wenn ich das richtig interpretiere sollte der Eintrag in der 99myUtils.pm den Status der Strip auslesen. das blinken starten und danach den Urzustand wieder herstellen.
Den Code habe ich unbearbeitet in der 99myUtils.pm aus dem Beitrag übernommen.

Könnte mir bitte jemand weiterhelfen und sagen wo ich das in der fhem.cfg richtig einfüge?

Grüße aus dem Havelland
Jan

Erstmal rate ich davon ab in der CFG direkt zu schreiben, aber das ist eine glaubens Frage.

Zu dienem Problem. Du schreibst den Code in deine 99myUtils.pm rein. nun fügst du den Teil:

ZitatAus dem notify rufst Du das dann mit {blink (<led>, '00FF00', 5);} auf -> 5 mal grünes blinken.

in deinem Code ein. Das könnte dann so aussehen:


## Jemand ruft mich an
define TelefonAN notify Anrufliste:event:.ring { \
  blink (<led>, '00FF00', 5);;}\


Dann würde es nur blinken, aber nicht dein weißes Leuchten bewirken. Habe jetzt noch nicht ganz verstanden, ob du #FFFFFF leuchten möchtest, oder das blinken. Daher hab ich mal nur die blinken Variante gepostet. Ist ungetestet.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Zitat von: Afmanni am 28 Januar 2017, 15:21:20
Hallo allerseits, ich habe ein kleines Problem mit dem Wifilight Modul, ich setze einen LW-12 LED Controller ein der ein LED Band in meinem Wohnzimmer an steuert.
Über FHEM funktioniert dieses auch sehr zuferlässig, ich habe den LED Controller über die Homebridge in dem Apple Homekit eingebunden.
Nun zu meinem Problem wenn ich der "Siri" nun erzähle sie soll meine LED Lampe in Rot ein schalten Blinkt der Streifen oft ein mal nur in der Richtigen Farbe und stellt dann weis ein, gibt es dafür eine Lösung oder ist das ein Problem des Apple Homekit?

Wie ist denn der Code, welcher den Befehl zum umschalten absetzt? Ohne Code ist das ein reines Raten und schwer dir zu helfen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

BuBu79

Zitat von: Amenophis86 am 28 Januar 2017, 15:29:49
Erstmal rate ich davon ab in der CFG direkt zu schreiben, aber das ist eine glaubens Frage.

Zu dienem Problem. Du schreibst den Code in deine 99myUtils.pm rein. nun fügst du den Teil:

in deinem Code ein. Das könnte dann so aussehen:


## Jemand ruft mich an
define TelefonAN notify Anrufliste:event:.ring { \
  blink (<led>, '00FF00', 5);;}\


Dann würde es nur blinken, aber nicht dein weißes Leuchten bewirken. Habe jetzt noch nicht ganz verstanden, ob du #FFFFFF leuchten möchtest, oder das blinken. Daher hab ich mal nur die blinken Variante gepostet. Ist ungetestet.

Guten Morgen,

Farbe ist mir erstmal nur zweitrangig da es mir nur darum geht einen optischen Unterschied zum normalen Betrieb als Ambilight dargestellt zu bekommen.

Habe nun den Code so eingefügt darauf hin wurde folgendes in das Logfile geschrieben:
2017.01.29 08:57:57 1: PERL WARNING: readline() on unopened filehandle led at (eval 45) line 4.
2017.01.29 08:57:57 3: eval: my $NAME='Anrufliste';my $TYPE='FB_CALLMONITOR';my $EVTPART1='ring';my $SELF='TelefonAN';my $EVTPART0='event:';my $EVENT='event: ring';{
  my $number=(ReadingsVal("Anrufliste","internal_number",610));
  if ($number == ######) {
      blink (<led>, '00FF00', 5);
    }
}
2017.01.29 08:57:57 3: set 00FF00 RGB 5 : Please define 00FF00 first
2017.01.29 08:57:57 1: PERL WARNING: Use of uninitialized value $t in numeric lt (<) at ./FHEM/99_myUtils.pm line 30.
2017.01.29 08:57:57 3: set 00FF00 RGB 000000 0 q : Please define 00FF00 first
2017.01.29 08:58:02 3: WZ_RGBSchrank RGB LD382A set off 0
2017.01.29 08:58:02 3: WZ_RGBSchrank RGB LD382A dim 0 0
2017.01.29 08:58:02 3: WZ_RGBSchrank set HSV 0, 0, 0 with ramp: 0, flags:


Angesprungen ist der Strip nicht. Sieht für mich so aus als hätte er nen Problem mit der Farbangabe oder irre ich mich?

Gruß Jan

herrmannj

Moin

Jan versucht das https://forum.fhem.de/index.php/topic,18958.msg231987.html#msg231987.

Du musst auf alle Fälle den Platzhalter <led> in blink durch denn Namen Deiner LED ersetzen -> 'WZ_RGBSchrank '

vg
joerg

BuBu79

Zitat von: herrmannj am 29 Januar 2017, 12:37:47
Moin

Jan versucht das https://forum.fhem.de/index.php/topic,18958.msg231987.html#msg231987.

Du musst auf alle Fälle den Platzhalter <led> in blink durch denn Namen Deiner LED ersetzen -> 'WZ_RGBSchrank '

vg
joerg

Mahlzeit,

mit

#### Blinken bei Anruf Anfang ####

## Jemand ruft mich an
define TelefonAN notify Anrufliste:event:.ring { \
  my $number=(ReadingsVal("Anrufliste","internal_number",610));;\
  if ($number == ######) { \
      blink ( 'WZ_RGBSchrank ', '00FF00', 5);;\
    } \
}

#### Blinken bei Anruf Ende ####


hat es nun das erste mal geklappt mit dem Blinken bei Anruf. An dieser Stelle schon mal ein DICKES DANKE an alle mitwirkenden!

Leider stellt er den Wert "vor Anruf" nicht wieder her.
Wird der Wert irgendwo hinterlegt?

Gruß Jan

Amenophis86

Zitat von: herrmannj am 29 Januar 2017, 12:37:47
Du musst auf alle Fälle den Platzhalter <led> in blink durch denn Namen Deiner LED ersetzen -> 'WZ_RGBSchrank '

Sry, dachte das wäre klar.

In $oldcolor ist der alte Code gespeichert. Sollte sich eigentlich wieder herstellen. Gibt es einen Fehler?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

BuBu79

Im Logfile wird kein fehler ausgegeben:

2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags:
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 1, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 100, 100 with ramp: 0, flags: q
2017.01.29 13:01:44 3: WZ_RGBSchrank set HSV 120, 0, 0 with ramp: 0, flags: q
2017.01.29 13:01:53 3: Wetter: 0 result(s) retrieved

Amenophis86

Ändere mal den Code wie folgt:


sub blink(@)
{
  my ($ledName, $color, $t) = @_;
  # preserve actual 
  my $oldColor = ReadingsVal($ledName, 'RGB', '000000');

  Log 1, "Alte Farbe: ".$oldColor;

  # set initial blink - color
  fhem "set $ledName RGB $color";
# blink $t times ...
for (my $i=0; $i<$t; $i++) {
   fhem "set $ledName RGB $color 1 q; set $ledName RGB 000000 0 q; set $ledName RGB 000000 1 q; set $ledName RGB $color 0 q";
}
# restore old color
fhem "set $ledName RGB $oldColor 0 q";
return undef;
}


Damit müsste im normalen FHEM Log der alte Farbcode ausgegeben werden, bevor es blinkt. Mal testen und sagen, ob dieser im Log steht.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

BuBu79

Ok, Glaube hat sich erledigt.

Ich habe noch mal alles überprüft nach deinem ersten Post und habe gesehen das ein Leerzeichen bei 'WZ_RGBSchrank_' (hier durch Unterstrich gekennzeichnet) sich eingeschlichen hatte. Als ich das korrigiert hatte lief alles so wie es sollte *Daumenhoch

Vielen Vielen Dank für eure schnelle Hilfe!

Jan

Amenophis86

Stimmt, top. Dann viel Spaß damit.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Zitat von: Amenophis86 am 28 Januar 2017, 15:32:12
Wie ist denn der Code, welcher den Befehl zum umschalten absetzt? Ohne Code ist das ein reines Raten und schwer dir zu helfen.

Kenne mich mit Siri und Homekit nicht aus, aber welcher Code wird den ausgelöst, wenn du Siri sagst was du machen sollst. Soll heißen ein DOIF oder ein Code in der 99myutils, oder woher weiß FHEM denn, was es machen soll?

Edit:
Fragen bitte nicht mehr per PM stellen, sondern hier im Board. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

sebastianbieber

Moin,

Jörg, dürfte ich Dich ganz vorsichtig nochmal an den potentiellen "colorcast-Bug" erinnern...?


So long, Sebastian

herrmannj

Moin,

yepp. Zu Recht. Ich brauche aber noch einen Augenblick. Gib mir in 4 Wochen bitte nochmal einen ping.

danke und Grüße
Joerg

Afmanni

#2023
Ich habe heute noch mal ein wenig getestet, hier mal der Log-Eintrag wenn Siri die LED Beleuchtung zu "grün" ändern soll.

2017.01.30 19:20:15 3: Wohnzimmer set HSV 120, 0, 100 with ramp: 0, flags:
2017.01.30 19:20:15 3: Wohnzimmer set HSV 120, 100, 100 with ramp: 0, flags:
2017.01.30 19:20:15 3: Wohnzimmer RGB LW12 set on (0, 0, 100) 0
2017.01.30 19:20:15 3: Wohnzimmer set HSV 0, 0, 100 with ramp: 0, flags:
2017.01.30 19:20:16 3: Wohnzimmer set HSV 0, 0, 100 with ramp: 0, flags:

PS: Wg. der PM, ich wollte auch nicht das eigentliche Problem klären sonder nur wissen woher bzw welche Informationen ich anhängen muss damit man mir helfen kann ;)

lewej

#2024
Hallo Zusammen,

ich habe auf meinen H801 diese Firmware drauf https://smartlifeautomated.wordpress.com/2016/08/22/smartlife-rgbw-controller-documentation/ geflasht, weil diese bei meinen H801 als einzige stabil läuft.

Man kann die LEDs, wie folgt ansteuern.


JSON endpoints

On the main page of the device, there is a listing of all the JSON endpoints. Here is a listing of their function.

status: This will return a status of the relay (power) and the switches uptime (uptime).

config: This endpoint is intended to be used by the HA system to send configuration parameters to the switch. You can send the HA hub ip address (haip), communication port, (haport) and default color (dcolor). Default color is what the controller will change to when the "on" command is used. This is also the color it will change to when a physical switch (that is attached to J3) is activated.

on: Turns the device on. It will by default go to its previous color. If the dcolor config option is set, it will go to that instead.

rgb: Control the channels labeled RGB. Accepts value=xxxxxx where xxxxxx is a color value in hex representation. Example: /rgb?value=ffffff

r: Control the R channel of the device. Accepts value=xx where xx is a hex representation of the desired color. Example: /r?value=ff

g: Control the G channel of the device. Accepts value=xx where xx is a hex representation of the desired color. Example: /g?value=ff

b: Control the B channel of the device. Accepts value=xx where xx is a hex representation of the desired color. Example: /b?value=ff

w1: Control the W1 channel of the device. Accepts value=xx where xx is a hex representation of the desired color. Example: /w1?value=ff

w2: Control the W2 channel of the device. Accepts value=xx where xx is a hex representation of the desired color. Example: /w2?value=ff

off: Turns all channels on the device to 0.

program: Send a string that will be parsed into commands for the controller to run. Accepts value, repeat, & off. Documentation for this to come. Example: /program?value=d~ff0000~0-3000_d~0000ff~1000-3000&repeat=-1&off=true

stop: Stops the running program

reboot: Reboots the device

info: Returns the firmware version (version), date (date), and the MAC address (mac) of the device.


Jetzt würde ich gerne wissen, ob ich eins der Wifilights beherschenden Module nutzen könnte?

Gruß und Danke
lewej