Wifilight.pm

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

Vorheriges Thema - Nächstes Thema

budy

Für alle interessierten... ich habe heute auf GitHub ein Repo für meinen kleinen Python Server aufgemacht und dort mal den aktuellen Stand, nebst einer Doku und Versions-Historie, hochgeladen. Außerdem habe ich dem Teil noch zwei weitere kleine Änderungen mitgegeben:


  • intern werden jetzt immer die letzten an das Ufo gesendeten RGBW- und HSI-Werte gemerkt und können bei Bedarf per "g" abgefragt werden. Das dürfte das Zusammenspiel mit dem Wifilight insofern vereinfachen, als dass es den aktuellen Status wiederspiegeln kann, auch wenn es selbst gar nichts gesetzt hat
  • Transistions können jetzt auch nur noch mit dem End-Wert für HSI angegeben werden. In diesem Fall zieht das Skript als Startwerte die gesicherten Werte heran

Hier die URL zum repo auf GitHub: https://github.com/budachst/ld382

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

salopette

Zitat von: Blackcat am 14 September 2014, 09:56:25
Hi,

die Version von dir ist wohl veraltet, hier ist nochmal das aktuelle Skript was ich selbst nutze (in MyUtils kopieren) und was du natürlich brauchst WifiLight.pm in der aktuellen Version von Jörg :)

# Sonnenaufgangssimulation für bis zu 4 Devices
# Author : Sandra Ohmayer (http://www.animeschatten.net)
# Aufruf: wakeUp(<Zeit in Minuten>,"<Devicename>"),wakeUp(<Zeit in Minuten>,"<Devicename1>","<Devicename2>") ...

sub
wakeUp {
# Dauer in Minuten (minimum 4 min)
local $dauer = $_[0];
# Initialisiern des Lichterarrays
local @lichter = ($_[1],$_[2],$_[3],$_[4]);

local @farben = (
        ["240,100,2",1],
        ["240,100,1",1],
["240,100,2",20],
["240,100,5",20],
["240,100,8",20],
["210,100,6",30],
["190,100,8",1],
["90,100,14",1],
["70,100,16",1],
["10,100,34",2],
["30,100,40",30],
["40,100,60",30],
["45,100,80",30],
["50,100,100",30],
["50,19,75",3],
["50,0,100",30]
);

local $gesamtdauersek = $dauer*60;

local $dauerfarben = 0;
foreach my $farbe ( @farben ) {
$dauerfarben+=$farbe->[1];
}

local $anteiligedauer = $gesamtdauersek/$dauerfarben;

Log3 (undef, 3, "WakeUp: start, angegebene Gesamtdauer in Sekunden $gesamtdauersek, Dauer Farben $dauerfarben, Anteil $anteiligedauer");

# Ausschalten der Lampen (Schalter - off)
foreach my $licht ( @lichter ) {
if(defined $licht) {
fhem("set $licht off");
}
}

# Durchlauf der Farbsimulation
my $i = 0;
foreach my $farbe ( @farben ) {
foreach my $licht ( @lichter ) {
if(defined $licht) {
if($i == 0) {
fhem("set $licht HSV ".($farben[$i][0])." ".ceil($anteiligedauer*($farben[$i][1])));
} else {
fhem("set $licht HSV ".($farben[$i][0])." ".ceil($anteiligedauer*($farben[$i][1]))." q");
}
}
}
$i++;
}
}



Hallo Leute ich bin total neu hier und auch totaler Anfänger in FEHM.

Habe jetzt auf meinem Pi die Aktuelle Fehm Version installiert und auch ein Milight Bridge eingebunden,
nun möchte ich es als WakeUp Light nutzen, aber von der Konfiguration habe ich leider 0 Plan!
Kann mir einer dies vielleicht Schritt für Schritt erläutern?


Danke schon mal!

(http://fs5.directupload.net/images/151109/p5xdoyv4.jpg)

Take-Off

Ich würde gerne das event-on-change/update Thema nochmal aufgreifen.

Ist mittlerweile geplant das "event-on-change-reading" Attribut einzubauen?

Freundliche Grüße  :)
FHEM auf Raspberry Pi4
CUL868, CUL433, HM-CFG-USB2, HMW-LGW

chris1284

#1638
unterstützt das modul das attribut setlist nicht? wollte gerne einen slider fürs dimmen als webcmd einbauen.
wenn es toggle unterstützen würde wäre das auch ganz toll

will es quasi analog zu lw12 haben

justme1968

setList gibt es nur für devices die nicht von sich aus wissen was sie für kommandos können. das sind nur dummys und readingsProxys.

alle anderen devices kennen ihre kommandos. hier kann man als anwender über widgetOverride ein anderes widget für ein kommando wählen.

wenn es das kommando an sich nicht gibt hilft auch keine konfiguration.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

herrmannj

ich mach da ja alles über sv. Bei den fhem widgets gab es ja einige updates. Muss ich da was ändern oder kann ich da widgets besser supporten ? Die set extensions kommen rein.

vg
joerg

ujaudio

NAchdem ich it diesem Modul ganz gute Erfahrung gemacht hae, möchte ich eine weitere RGB (oder aucvh RGBW) ergänzen. In eine gut 10cm durchmessenden Milchkunststoffkugel soll ein Leuchtmittel hinein. Welches würdet ihr empfehlen?
Einen lieben Gruß
Jürgen

pula

Hi,

ich hätte mal wieder ein paar Fragen:

Hab jetzt 3 Bridges mit etlichen Stripes und Birnen in Produktion.
Manchmal kommen die Kommandos scheinbar nicht durch, ein zweites Drücken des entsprechenden Tasters ist notwendig (bzw anders gesagt: Habe einen Taster mit mehreren Leuchtmitteln verbunden, manchmal gehen nicht alle davon an oder aus). Kann ich meiner Meinung nach relativ einfach lösen, indem ich in das entsprechende Kommando einfach eine zweite (identische) set-Folge einbaue. Oder hat das jemand anders gelöst?

Manchmal verliert eine der drei Bridges anscheinend den Link (zumindest leuchtet dann die Link-LED nicht mehr, ein trennen vom Strom bringt die Lösung). Hätte im Schaltschrank noch ein paar freie Relais, die ich nützen kann, um das/die bridges durchzustarten. Pingbar sind die dann nicht mehr. Aber gibt es hier eine Lösung innerhalb von fhem? Gibts ein event oder so, wenn eine Bridge nicht mehr erreichbar ist? Ansonsten müsste ich das mit einem shell-skript lösen, würde mir aber nicht so gut gefallen.

Eine dritte Frage: Natürlich würde ich gerne ein wenig angeben mit der Beleuchtung, wenn Freunde kommen. Hat jemand hier vielleicht schon ein "Demo" zur Hand, das die möglichen Effekte und Farben etc gut zeigt?

Vielen Dank im Voraus!

Cheers,

Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

herrmannj

Hi,
Zitat
Hab jetzt 3 Bridges mit etlichen Stripes und Birnen in Produktion.
Milight ?
ZitatManchmal kommen die Kommandos scheinbar nicht durch, ... Kann ich meiner Meinung nach relativ einfach lösen, indem ich in das entsprechende Kommando einfach eine zweite (identische) set-Folge einbaue. Oder hat das jemand anders gelöst?
Wenn es RGBW2 sind wiederholt das modul die Befehle selber drei mal. Schau mal im source, unter "WifiLight_RGBW2_setLevelsSafe(@)" kannst Du Dir testweise mehr Wiederholungen einbauen. Der Nachteil liegt auf der Hand, die bridge ist so lange für alles andere blockiert.
ZitatManchmal verliert eine der drei Bridges anscheinend den Link
Je nach Variante / Firmware / Stand der Sterne gibt es diese Berichte ab und an. 

Schau mal bitte ob Du vielleicht hochwertigere Netzteile nehmen kannst. Ansonsten hilft manchmal anders positionieren. Ein user hier hat mal angefangen an einem replacement für die brigde zu arbeiten. Das halte ich eigentlich für vielversprechend, ich weiß aber nicht was daraus geworden ist.

Ein event gibt es nicht, das wäre auch nicht trivial. Mat hat in seinen fork einen periodischen ping eingebaut - ich meine aber gelesen zu haben das dass nicht unproblematisch ist. Da will ich aber nichts falsches sagen ...

vg
joerg

vbs

Klasse Modul! Habe gerade angefanen, etwas damit rumzuspielen :)

Eine Sache, die mir aufgefallen ist:
Wenn ich die IP meines LD382A angebe, klappt alles super. Nutze ich aber den vollen Namen, dann stürzt FHEM ab:

Funzt:
DEF        RGBW LD382A:192.168.2.29

Crash:
DEF        RGBW LD382A:wz-ld382.fritz.box

Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/local/lib/perl5/5.20.0/i486-linux/Socket.pm line 833.

herrmannj

oh. Danke.

"Theoretisch" sollte es gehen, schau ich mir an. Ich glaube die meisten (mich inklusive) machen das per IP. Würde ja auch gehen, oder ? Dann würde auch das auf TODO ohen Prio setzen ...

vg
joerg

vbs

Klar, für mich kein Problem. Per Name ist zwar netter, aber mit IP geht natürlich auch.

Mal ne andere Frage zur RGB-W-Ansteuerung:
Habe Wiki gelesen und auch Thread rumgesucht: Ist das wirklich so, dass man den Weiß-Kanal nicht separat steuern kann? Ich hab es so verstanden, dass das Modul selbständig den Helligkeitsanteil aus RGB rausrechnet und den auf den Weiß-Kanal legt, man aber nicht sagen kann "ich möchte rot auf 80% und dazu weiß auf 50%"?

chris1284

hatte ich auch, nur nicht gemeldet. hostname bringt fhem zum abschmieren. aber irgendwie geht es dann anch start von fhem doch (blockiert wohl lange beim def

habe mein stripeper HF-LPB100-ZJ200.fritz.box verdunden statt ip und es funzt

herrmannj

Zitat von: vbs am 21 November 2015, 18:12:59
Klar, für mich kein Problem. Per Name ist zwar netter, aber mit IP geht natürlich auch.

Mal ne andere Frage zur RGB-W-Ansteuerung:
Habe Wiki gelesen und auch Thread rumgesucht: Ist das wirklich so, dass man den Weiß-Kanal nicht separat steuern kann? Ich hab es so verstanden, dass das Modul selbständig den Helligkeitsanteil aus RGB rausrechnet und den auf den Weiß-Kanal legt, man aber nicht sagen kann "ich möchte rot auf 80% und dazu weiß auf 50%"?
Richtig. Philosophie von mir ist es möglichst alle (hardwareseitig komplett unterschiedliche) LEDs innerhalb fhem mit gleichem Befehlssatz zur Verfügung zu stellen. Kannst aber so eine extralocke per shellscript machen.

vg
joerg

vbs

Ok, danke. Mit Shellscript meinst du, dass ich selber einen Socket aufmache und mit dem LD382 (an fhem vorbei) selber reden würde?

Was wäre denn, wenn Wifilight nicht nur HSV und RGB kennen würde, sondern zb noch RGBW (wobei man dann eben 4 Byte angibt "RRGGBBWW") zusätzlich? Das würde dann natürlich nur für die Hardware zur Verfügung stehen, die einen separaten Weiß-Kanal besitzt.