Nach der Umbenennung des Moduls schlage ich vor, die Diskussion hier im Thread weiterzuführen.
Wollt ihr gleich mal die aktuelle, umbenannte version am post #1 anhängen?
Mach ich gerne, wenn ich Zuhause bin. Mit Post #1 wirds nix aber #3 muss auch reichen :D
@betateilchen:
Zitat
Viel einfacher wäre es vermutlich (ungetestet), den Timer direkt nach dem RemoveInternalTimer() beim Betreten der _Set() einfach wieder neu zu setzen. Die _Set() wird mit Sicherheit nicht länger laufen als das Updateintervall vorgibt ;)
stimmt, teste ich dann
EDIT: Hier ist immer das aktuelle Modul herunterzuladen:
https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/98_LW12.pm (https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/98_LW12.pm)
Man könnte auch heute abend einfach mal eine Version nach ./contrib einchecken :)
gibt es eigentlich einen Grund warum das nicht offiziell eingecheckt wird?
Ich bin mit dem Modul sehr zufrieden und kann es nur weiterempfehlen 8)
Danke für die geleistete Arbeit
Gruß Rolf
Weil das Modul noch nicht ganz fertig ist. Ausserdem fehlt die für ein "offiziell" notwendiges Modul die commandref Dokumentation.
Hab die aktuelle Version angehängt. So funktioniert es auch mit dem Timer. Eine Dokumentation ist am Ende Des Moduls und sollte aktuell sein. (ok hab mir mit den Setextentions etwas Arbeit gespart :D )
Zitat von: betateilchen am 15 Dezember 2014, 15:39:52
Man könnte auch heute abend einfach mal eine Version nach ./contrib einchecken :)
Wie geht so was ?
Zitat von: Kuzl am 15 Dezember 2014, 21:35:50
Wie geht so was ?
Du brauchst einen Useraccount bei sourceforge und Rudi muss Dir dann für diesen Zugang die Berechtigung auf fhem geben. Aber heute funktioniert SVN ohnehin nicht.
Ich werde das Modul nach contrib einchecken, sobald es wieder möglich ist. Dann kann das Modul getestet werden und wenn sich die Stabilität beweist, kann es in den offiziellen fhem-Zweig wandern.
Einverstanden?
erledigt :) Das Modul befindet sich seit heute morgen in ./contrib
Wunderbar :)
Bei Gelegenheit teste ich nochmal alle Funktionen.
Hast du eigentlich eine Idee zu dem Problem mit dim 0?
UND: sollte bei dim 0 automatisch ausgeschaltet werden?
Ich sehe bei dim 0 kein Problem - da gibt es einfach nichts mehr anzuzeigen, also muss auch nix mehr berechnet werden.
Automatisch ausschalten würde ich nicht. Es gibt nämlich durchaus Fälle, in denen fhem ja die Steuerung übernimmt und dabei prüft, ob die LED überhaupt in Betrieb sind. Beispielsweise wird bei mir die Balkonbeleuchtung auf blau geschaltet, wenn der Regensensor Niederschlag meldet. Aber eben nur, wenn die Lichterkette auch "on" ist.
Alles klar. Das Problem war, wenn auf dim 0 gesetzt wird und dann wieder auf einen anderen Wert z.b. dim 50, dann weiß ich nicht, welche Farbe weil ja überall 0 ist.
Nach einem "dim 0" sollte eigentlich immer nur ein "set rgb" möglich sein und kein anderes dim, das macht für mich keinen Sinn.
Zitat von: Kuzl am 16 Dezember 2014, 14:17:43
Hast du eigentlich eine Idee zu dem Problem mit dim 0?
Kannst Du den Slider nicht einfach so definieren, dass er nur von 1 bis 100 geht anstatt von 0 bis 100?
Wer es ganz finster haben will, soll eben ein "off" schicken.
Stimmt du hast recht :D so einfach hab ich gar nicht gedacht ::)
mach ich sobald ich dazukomme
Wir müssen auch die Attribut-Geschichte generell noch umbauen, die ist im Moment sehr "unschön" gelöst. Das führt momentan z.B. dazu, dass die erste Statusaktualisierung immer erst nach 60 Sekunden stattfindet, egal, welches Intervall der Anwender selbst festgelegt hat.
Dazu müssen wir in das Modul eine AttrFn() einbauen. Ich werde die Tage mal einen entsprechenden Vorschlag machen.
Generell sollte man komplett auf das Setzen von Default-Werten verzichten.
ja das stimmt, da ja noch der standard-Timer abläuft und dann erst der Timer mit dem Attribut-Wert verwendet wird.
Bin gespannt auf deinen Vorschlag, ich kenne AttrFn() nämlich gar nicht :D
Hier kannst Du Dir die Änderungen anschauen.
Das Modul habe ich gerade mit diesen eingebauten Änderungen nach contrib eingecheckt, da kannst Du es Dir direkt abholen.
Subject: [PATCH] 98_LW12: added AttrFn
added: AttrFn
added: attribute disable
changed: dim minimum 1 instead 0
changed: commandref
---
fhem/contrib/98_LW12.pm | 81 ++++++++++++++++++++++++++++++-------------------
1 file changed, 49 insertions(+), 32 deletions(-)
diff --git a/fhem/contrib/98_LW12.pm b/fhem/contrib/98_LW12.pm
index 5053fa5..12cd031 100644
--- a/fhem/contrib/98_LW12.pm
+++ b/fhem/contrib/98_LW12.pm
@@ -38,6 +38,7 @@
package main;
use strict;
use warnings;
+use feature qw/say switch/;
use IO::Socket;
# include this for the self-calling timer we use later on
@@ -67,10 +68,13 @@ sub LW12_Initialize( $ ) {
$hash->{UndefFn} = "LW12_Undefine";
$hash->{SetFn} = "LW12_Set";
$hash->{GetFn} = "LW12_Get";
+ $hash->{AttrFn} = "LW12_Attr";
# the attributes we have. Space separated list of attribute values in
# the form name:default1,default2
- $hash->{AttrList} = "timeout updateInterval verbose:0,1,2,3,4,5 " . $readingFnAttributes;
+ $hash->{AttrList} = "disable:0,1 timeout updateInterval ".
+ "verbose:0,1,2,3,4,5 ".
+ $readingFnAttributes;
# initialize the color picker
FHEM_colorpickerInit();
@@ -103,11 +107,9 @@ sub LW12_Define( $$ ) {
channels => [(255) x 3],
};
- $attr{$name}{timeout} = 2;
- $attr{$name}{updateInterval} = 60;
- $attr{$name}{verbose} = 3;
-
- LW12_updateStatus($hash);
+# Erstes Update verzögern, falls beim fhem Start
+# ein Attribut gesetzt wird, damit nicht zwei Timer laufen.
+ InternalTimer(gettimeofday()+ 10, "LW12_updateStatus", $hash, 0);
return undef;
}
@@ -116,8 +118,7 @@ sub LW12_Define( $$ ) {
# Undefinition of a module instance
# called when undefining an element via fhem.cfg
# ----------------------------------------------------------------------------
-sub LW12_Undefine($$)
-{
+sub LW12_Undefine($$) {
my ($hash,$arg) = @_;
RemoveInternalTimer($hash);
@@ -136,16 +137,14 @@ sub LW12_Set( $@ ) {
return( "$name: set needs at least one parameter" );
}
- if(!$hash->{LOCAL}) {
- RemoveInternalTimer($hash);
- if ( ($attr{$name}{updateInterval}) != 0){
- InternalTimer(gettimeofday()+ $attr{$name}{updateInterval} , "LW12_updateStatus", $hash, 0);
- }
- }
+ RemoveInternalTimer($hash);
+ if ( AttrVal($name,'updateInterval',60) != 0) {
+ InternalTimer(gettimeofday()+ AttrVal($name,'updateInterval',60) , "LW12_updateStatus", $hash, 0);
+ }
my $cmdList = "" .
"on off next:noArg prev:noArg animation mode speed run:noArg stop:noArg " .
- "color dim:slider,0,1,100 " .
+ "color dim:slider,1,1,100 " .
"rgb:colorpicker,rgb hsv";
# now parse the commands
@@ -344,7 +343,7 @@ sub LW12_Set( $@ ) {
Log3 $name, 3, $msg ;
return( $msg );
} else {
-
+ return 'Dim value 0 not allowed!';
$hash->{".dim"}->{bri} = $arg[0];
@{$hash->{".bri"}->{channels}} = Color::BrightnessToChannels($hash->{".dim"});
LW12_Write( $hash, "\x{56}" .
@@ -382,6 +381,31 @@ sub LW12_Get( $@ ) {
}
}
+sub LW12_Attr(@) {
+ my @a = @_;
+ my ($command, $name, $attrName, $attrValue) = @a;
+ my $hash = $defs{$name};
+
+ given($attrName) {
+ when("updateInterval") {
+ RemoveInternalTimer($hash);
+ if ($command eq 'set') {
+ $attr{$name}{$attrName} = $attrValue;
+ } else {
+ CommandDeleteAttr($name,$attrName);
+ }
+ InternalTimer(gettimeofday()+ $attrValue, "LW12_updateStatus", $hash, 0);
+ }
+ default {
+ if ($command eq 'set') {
+ $attr{$name}{$attrName} = $attrValue;
+ } else {
+ CommandDeleteAttr($name,$attrName);
+ }
+ }
+ }
+ return undef;
+}
# ----------------------------------------------------------------------------
# write something to the WIFI LED
@@ -393,7 +417,7 @@ sub LW12_Write( $$ ) {
my $s = new IO::Socket::INET( PeerAddr => $hash->{IP},
PeerPort => 5577,
Proto => 'tcp',
- Timeout => int( $attr{$name}{timeout} ) );
+ Timeout => int( AttrVal($name,'timeout',2) ) );
if( defined $s ) {
my $res = "";
@@ -413,7 +437,6 @@ sub LW12_Write( $$ ) {
}
}
-
# ----------------------------------------------------------------------------
# Update the RGB Readings for the color picker
# ----------------------------------------------------------------------------
@@ -443,12 +466,12 @@ sub LW12_updateStatus( $ ) {
my ( $hash, @rest ) = @_;
my $name = $hash->{NAME};
- if(!$hash->{LOCAL}) {
- RemoveInternalTimer($hash);
- if ( ($attr{$name}{updateInterval}) != 0){
- InternalTimer(gettimeofday()+ $attr{$name}{updateInterval} , "LW12_updateStatus", $hash, 0);
- }
- }
+ RemoveInternalTimer($hash);
+ if ( AttrVal($name,'updateInterval',60) != 0) {
+ InternalTimer(gettimeofday()+ AttrVal($name,'updateInterval',60), "LW12_updateStatus", $hash, 0);
+ }
+
+ return if IsDisabled($name);
my $res = LW12_Write( $hash, "\x{EF}\x{01}\x{77}" );
$res = uc($res);
@@ -476,14 +499,6 @@ sub LW12_updateStatus( $ ) {
# DO NOT WRITE BEYOND THIS LINE
1;
-=pod
-=begin html
-
-
-
-
-=end html
-=cut
=pod
=begin html
@@ -566,6 +581,8 @@ sub LW12_updateStatus( $ ) {
<a name="LW12attr"></a>
<b>Attributes</b>
<ul>
+ <li>disabel<br>
+ Disable tcp connection and update process. Internal Timer remains active!</li>
<li>updateInterval<br>
The Interval of the Statusupdates in seconds. If <updateInterval> = 0, the automatic updates are not active. Default is 60.</li>
<li>Timeout<br>
--
1.9.3 (Apple Git-50)
Wunderbar versteh ich sogar zum Großteil :)
Das Einzigste was nicht ganz klar ist: Wofür ist das Disable da?
Wenn ich es richtig gesehen habe überspringt es das automatische Update, aber welchen Zweck hat das?
das Attribut "disable" ist quasi ein fhem-Standard, der dafür sorgt, dass ein Modul keine events mehr erzeugt, ohne dass man das device löschen muss. Ich habe es einfach mit eingebaut, weil es noch gefehlt hat. Wenn Du mal in der commandref nach "disable" suchst, wirst Du sehen, dass es in vielen Modulen schon implementiert ist.
Im Normalbetrieb braucht man es nicht, aber bei Fehlersuche oder Testen von beispielsweise Logging kann es schon recht nützlich sein.
Achso, also nur die periodischen events werden unterdrückt. Die, die durch das "set" kommen sind dann ja immer noch da :)
Man könnte das IsDisable() prinzipiell auch noch zusätzlich in _Set() einbauen, aber erfahrungsgemäß ist es ausreichend, die vom Modul timergesteuerten Abläufe unterbrechen.zu können.
Kannst Du mal bitte versuchen rauszufinden, warum bei einem manuellen "set <name> dim 100" eine Fehlermeldung kommt, dass dim 0 (!) nicht erlaubt sei?
überprüf ich am Sonntag, davor bin ich leider nicht daheim >:(
kein Problem :)
Hab mir mal den Code angesehen da ist bei dim folgendes:
} elsif( $cmd eq "dim" ) {
if( @arg != 1 ) {
my $msg = "LW12_Set: wrong number of arguments for set brightness";
Log3 $name, 3, $msg ;
return( $msg );
} else {
return 'Dim value 0 not allowed!';
$hash->{".dim"}->{bri} = $arg[0];
@{$hash->{".bri"}->{channels}} = Color::BrightnessToChannels($hash->{".dim"});
LW12_Write( $hash, "\x{56}" .
chr( @{$hash->{".bri"}->{channels}}[0] ) .
chr( @{$hash->{".bri"}->{channels}}[1] ) .
chr( @{$hash->{".bri"}->{channels}}[2] ) .
"\x{AA}" );
Log3 $name, 4, "$name set to @{$hash->{'.bri'}->{channels}}";
}
}
Das würde ja bedeuten, dass immer mit der Fehlermeldung rausgesprungen wird. Es müsste in etwa so heißen:
} elsif( $cmd eq "dim" ) {
if( @arg != 1 ) {
my $msg = "LW12_Set: wrong number of arguments for set brightness";
Log3 $name, 3, $msg ;
return( $msg );
} else {
return 'Dim value 0 not allowed!' if( $arg[0] == 0);
$hash->{".dim"}->{bri} = $arg[0];
@{$hash->{".bri"}->{channels}} = Color::BrightnessToChannels($hash->{".dim"});
LW12_Write( $hash, "\x{56}" .
chr( @{$hash->{".bri"}->{channels}}[0] ) .
chr( @{$hash->{".bri"}->{channels}}[1] ) .
chr( @{$hash->{".bri"}->{channels}}[2] ) .
"\x{AA}" );
Log3 $name, 4, "$name set to @{$hash->{'.bri'}->{channels}}";
}
}
Stimmt, eigentlich hatte ich das bei mir auch so eingebaut.
Vermutlich ist der if() Teil irgendwie beim Editieren verlorengegangen :)
Hast Du Dir schon ein Benutzerkonto bei sourceforge angelegt?
https://sourceforge.net/user/registration
Die Änderung in der dim0-Message habe ich eingecheckt.
Mir ist nochwas aufgefallen:
Solche Konstrukte:
$hash->{READINGS}{mode}{VAL}
solltest Du in Deinen Berechnungen besser durch
ReadingsVal($name,'mode',<defaultwert>)
ersetzen.
Bei mir funktioniert das Modul nicht mehr - es gibt keine Aktualisierungen mehr. Und ich komme nicht dahinter, wieso das so ist.
so jetzt hab ich mir einen account gemacht, jetzt muss ich mich bei rudi melden oder?
ich hatte noch die Version ohne die Abfrage von dim 0 also noch die, die nicht auf sourceforge war.
Bei mir geht das automatische Update auch nicht mehr, das manuelle allerdings schon. Ich denke das hat wieder was mit den Timern zu tun.
EDIT: Nach dem manuellen Update läuft das automatische updaten jetzt auch wieder. Allerdings komischerweise nur solang ich in der Detailansicht bin. Sehr merkwürdig
EDIT2: okay jetzt gehts dauerhaft, sehr komisch ich installier mal schnell die aktuelle Version
Hab die aktuelle Version und auch hier geht bei mir das automatische Update.
Nebenbei: warum wird denn das Modul eigentlich nicht in den contrib-Ordner heruntergeladen, wenn man ein fhem-update durchführt
Bei mir laufen die automatischen Aktualisierungen auch wieder - ohne was verändert zu haben.
Der contrib Ordner ist absichtlich nicht Bestandteil des fhem Prozesses. Das ist auch ganz offiziell so dokumentiert.
Mit Deinem Benutzeraccount kannst Du Dich an Rudi oder Boris wenden, die können Dir die Schreibberechtigung für SVN erteilen.
na, nun kannst Du ja loslegen mit dem Einchecken von Änderungen :)
Jap mitlerweile hab ich die Berechtigungen von Boris erhalten :)
Hallo zusammen,
bin gerade auf diesen Thread gestossen ...
Wie definiere ich denn meinen LW12?
Habe "define NAME LW12 192.168.X.X" eingegeben, kann aber nichts steuern ...
Grüße
Du musst dir erst das Modul runterladen.
Wenn du das hast kannst du es so wie beschrieben definiern und anschließend verwenden
Das Modul habe ich natürlich geladen, in FHEM überspielt und FHEM neugestartet.
IP des Gerätes stimmt auch. Zeitgleich ist Wifilight.pm auf den LW12 eingerichtet und dort funktioniert die Steuerung ;) daher bin ich recht verwundert ....
Was gnau geht denn nicht? Hast du de detailansicht des gerätes?
Also ich kann in FHEM Befehle absetzen, aber am Gerät selbst passiert nichts.
set DJPult2 on -> Licht geht nicht an ...
Aussehen siehe Screenshot.
setz mal dim auf 100. ich hatte es auch schon das dim so weit unten war das man meinte ein geht nicht
Habe ich probiert ... dim 100 geht auch nicht ...
Sieht auf meinem Screenshot alles aus, wie es aussehen soll?
Setz mal eine farbe mit set device rgb FF0000 . Weil dim 0 ist weiß er nicht welche farbe er nehmen soll
Kannst Du mal bitte in der Moduldoku noch ein "</ul>" am Ende einfügen, damit das dann so aussieht:
</ul><br>
</ul>
=end html
=cut
Aktuell meckert die commandref_join.pl das LW12 wegen nicht korrekter Tags an.
Gerne :)
mach ich heute abend
ich bin an sourceforge gescheitert :D
Was brauch ich denn da für Programme um damit arbeiten zu können?
Am besten wärs, wenn das auch mit Eclipse geht, da ich beruflich mit Eclipse + ClearCase arbeite. Kenn mich leider Mit Sourceforge nicht so aus und die Anleitungen im Netz sind alle nicht mehr aktuell. Ich hoffe du kannst mir etwas mit dem Start helfen.
das geht auch mit eclipse 8)
Ansonsten mit jedem beliebigen SVN Client, sogar direkt auf der Kommandozeile. Da ist nix sourceforge-spezifisches zu beachten, es ist ein normale svn-Repository.
So ich glaub ich hab grad meine erste Änderung erfolgreicht commited :D
Das erfordert echt einiges an Einarbeitung, wenn man sowas das erste mal macht, bzw. von einem anderen System gewohnt ist.
Bei mir taucht auch nach einen Update noch nichts auf. Hab es mal so geladen scheint zu laufen. Gibt es eine kurz doku ? Mir fehlt auch die Schnell Farbauswahl und Anzeige welche Farbe ausgewählt ist in den Räumen selbst.
Die Doku ist am Ende des Moduls. Die Schnell Farbauswahl etc. musst du über ein Attribut hinzufügen:
attr <device> webCmd on:off:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff
das muss ich bei Gelegenheit mal einbauen.
Hallo zusammen,
ich habe dank des tollen LW12 Moduls meinen LW12 (LEDNET Variante) Controller auchin FHEM einbinden können. An und Ausschalten funktioniert, allerdings schaffe ich es nicht, einen Colorpicker umzusetzen. Vielleicht kann mir hier jemmand einen Tipp geben. Im folgenden mein Auszug aus meiner Config:
define LEDStrip_AlexSchrank WifiLight RGB LW12:192.168.1.88
attr LEDStrip_AlexSchrank webCmd on:off:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff
bzw. folgende Variante gibt mir den Fehler "LEDStrip_AlexSchrank: unknown attribute widgetOverride" zurück:
define LEDStrip_AlexSchrank WifiLight RGB LW12:192.168.1.88
attr LEDStrip_AlexSchrank webCmd RGB
attr LEDStrip_AlexSchrank widgetOverride RGB:colorpicker,RGB
Im Webinterface sehe ich lediglich ein "Glühbirnen"-Symbol und RGB ohne Funktion. Erste Variante bietet nur funktionierendes "on und "off".
Was mache ich falsch?
Gruß,
alex
eigentlich braucht es nur das webcmd attribut
webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off:dim
Hallo Chris,
folgender Code führt bei mir zum Ergebnis im angehängten Bild.
define LEDStrip_AlexSchrank WifiLight RGB LW12:192.168.1.88
attr LEDStrip_AlexSchrank webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off:dim
Fehlt mir evt. eine modifizierte Version der Color.pm ?
Ein Klick auf z.B. rgb ff000000 zeigt bei mir folgende Fehlermeldung:
unknown command (rgb): choose one of on off dim dimup dimdown HSV RGB
EDIT:
Den oben genannten Fehler konnte ich durch Ersetzen von "rgb" mit "RGB" lösen, die Darstellung ist jedoch weiterhin unerwartet.
Du hast ja auch nicht das LW12-Modul verwendet sondern das WifiLight-Modul.
Hallo Kuzl,
danke, das war der entscheidende Hinweis. Da das Modul WifiLight den Parameter LW12 verwendet (laut Wiki), hat mich das verwirrt. Meine funktionierende Konfig sieht nun so aus:
define LEDStrip_AlexSchrank LW12 192.168.1.88
attr LEDStrip_AlexSchrank webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb ffffff:toggle:on:off:dim
Besteht das Interesse, zu diesem Modul einen Wikieintrag zu machen? Ich würde da gerne mein Beispiel beisteuern...
Hallo,
ich nutze seit kurzen das nette Modul und bin sehr zufrieden damit.
Und habe auch gleich noch ein Frage: ich würde gerne den "Speed" als slider im Frontend darstellen, jedoch komme ich nicht richtig weiter. Im Modul selber habe ich nur die Möglichkeit gefunden einen "Dim" slider zu setzen.
Gibt es da eine einfache Lösung oder muss man das über einen separaten dummy lösen?
Hab die Version vom 3. Post aktualisiert.
Da ist jetzt ein Slider für speed vorhanden.
Kannst ihn setzen wie einen Dim-slider
Danke, werde ich gleich mal testen!
Habe es getestet, jedoch ohne Erfolg.
Nutze es auf einen Raspberry PI und beim starten und betätigen des Speed sliders stürzt FHEM komplett ab.
Im logfile steht dann die Fehlermeldung "Can't use an undefined value as an ARRAY reference at ./FHEM/98_LW12.pm line 447"!
Wie genau hast du ihn denn angelegt? Du musst nur beim attribut webcmd "speed" hinzufügen
Bei mir funktionierts
Genau so habe ich es auch gemacht!
--> attr LED webCmd rgb:on:off:dim:next:speed
Wenn ich die Leiste über On einschalte und dann direkt einfach so am Speed-slider schiebe, wars das!
Hm versuch mal davor über die kommandozeile speed auf einen wert zu setzen und aanschließend erst den slider hinzuzufügen
Witzig,
das selbe hatte ich auch vor... und siehe da jetzt geht es.
In diesem falle sollte noch ein Automatischer default werd gesetzt werden. Aber das ist nichts für mich. Ansonsten ist die Anbindung echt toll!!!
Mein Stripe hängt an einer DECT200 (Schaltsteckdose), die tagsüber natürlich aus ist. Dann wird einmal pro Minute im Log eine Meldung erzeugt: "2015.01.26 16:53:34 3: Can't connect to socket!"
Schalte ich die Dose ein, kommt diese Meldung nicht mehr.
Kann man was tun, um diese Meldung zu unterbinden? Oder muss ich leider den Stripe direkt an das Stromnetz anschliessen?
Zitat von: Invers am 26 Januar 2015, 21:54:10
Kann man was tun, um diese Meldung zu unterbinden?
Den Loglevel entsprechend setzen.
Simpelste fhem Grundlagen...
Ich nahm an, der steht standardmässig beim Modul auf 0. Verbose habe ich jetzt trotzdem extra auf 0 gesetzt. Mal sehen, ob es geht.
Danke.
Zitat von: Invers am 26 Januar 2015, 22:10:16
Ich nahm an, der steht standardmässig beim Modul auf 0.
In der von Dir zitierten Meldung:
Zitat2015.01.26 16:53:34 3: Can't connect to socket!
steht doch klipp und klar, dass die Meldung mit Loglevel 3 kommt. Wie kommst Du da auf 0?
Ausserdem ist Loglevel 0 nicht immer die glücklichste Lösung. Immerhin gibt es Loglevel von 0 bis 5 - das muss ja einen Sinn haben :)
Ja, weil ich die 3 leider überlesen hatte. Sorry.
Gibt es eigentlich ne Möglichkeit, um Übergänge fließend zu machen? Ich möchte z.B. auf Knopfdruck das Licht an schalten, aber nicht abrupt, sondern heller werdend über eine Sekunde oder so. Oder beim Wechsel von Farbe A zu Farbe B mit Übergang. Die einzige Möglichkeit, die ich gefunden habe, ist mit den benutzerdefinierten Animationen. Aber die laufen dann ja im Loop. Bei wifilight geht das ganze relativ einfach, aber die Übergänge sind alles Andere als flüssig. Gibt die Hardware des LW12 sowas her, oder müsste man da selbst Hand anlegen und andere Funktionen "missbrauchen"?
Die hardware kann das leider nicht ohne loop. Ich hab das beim einschalten so gelöst, dass ich eine benutzerdefinierte animation mache und dann nach der zeit nach der die zielfarbe erreicht ist, diese fest setze.
Hatte ich mir schon fast gedacht, dass man das so machen muss. Gibt es da eine bestimmte Umrechnung von der eingestellten Geschwindigkeit in Sekunden oder so? Und wäre es nicht auch theoretisch möglich nach dem Starten des loops immer den aktuellen Wert abzufragen, bis der gewünschte erreicht ist und dann zu stoppen? Oder ist da die Verzögerung zu groß? Werde wenn ich zuhause bin mal damit rum experimentieren. Wäre natürlich genial, wenn so ne Funktion schon in das Modul eingebaut werden könnte.
Das könnte dann so aussehen:
-Aktuelle Farbe als Anfang der Animation setzen
-Gewünschte Farbe als Ziel der Animation
-Gewünschte Zeit in Geschwindigkeit umrechnen(falls möglich)
-Animation starten
-Wenn gewünschte Farbe erreicht ist, Animation stoppen
Dann müsste man einfach nur nen optionalen Parameter Zeit (oder falls das nicht geht halt die Geschwindigkeit) beim setzen einer Farbe angeben, anstatt jedes mal nen eigenes Skript dafür zu machen. Ich steuere z.B. das Licht über meine Pebble smartwatch und da mit Skripten zu hantieren wäre doch sehr umständlich.
Ich werde es mir aber später auf jeden Fall nochmal ansehen. Gestern habe ich bei einem kurzen Test allerdings auch bemerkt, dass die Farbverläufe vom Controller nicht immer so optimal sind. Mal sehen, woran das liegen kann und was man dagegen machen kann ;)
Ok, Ich habe nen paar Tests gemacht und das dabei heraus bekommen:
1. Animationen Farbübergangsverhalten
Wenn man eine benutzerdefinierte Animation von einer Farbe zur Anderen laufen lässt, erhöht/erniedrigt der LW12 jeden RGB Kanal separat in der selben festgelegten Geschwindigkeit, bis der jeweilige Kanal seine gewünschte Helligkeit erreicht hat.
Das funktioniert auch prima solange die Differenz in jedem Kanal ähnlich ist, aber sobald es eine größere Diskrepanz zwischen den Differenzen der einzelnen Kanäle gibt, sieht es manchmal komisch aus.
Ein Beispiel:
Sagen wir ich möchte ein orange, das eine ähnlich Farbe wie eine Flamme hat. Wenn ich das in RGB umwandele, ergibt das bei mir ungefähr folgendes als Dezimalzahlen: R:255 G:60 B:0.
Hier ein kleines Beispiel, wie es beim LW12 aussieht, wenn man von kompletter Dunkelheit zu dieser Farbe einen Verlauf haben möchte:
R:0 G:0 B:0
R:1 G:1 B:0
R:2 G:2 B:0
...
R:30 G:30 B:0
...
R:59 G:59 B:0
R:60 G:60 B:0
R:61 G:60 B:0
...
R:255 G:60 B:0
Das bedeutet, dass am Anfang die Farbe gelb/grün ist, bis der grüne Kanal sein Maximum mit 60 erreicht hat. Da der rote Kanal dann noch weiter heller wird, wird die Farbe dann langsam immer mehr zu der Gewünschten.
Wenn man dann runter dimmen möchte, greift der selbe Mechanismus. Aber da am Anfang beide Kanäle gleich schnell dunkler werden, ist die Farbe anfangs orange und wird dann immer mehr zu einem rot, bis der grüne Kanal 0 erreicht hat. Von da an wird das rot nur noch dunkler.
2. Animationsgeschwindigkeit:
Um den realen Wert der Animationsgeschwindigkeit herauszufinden, habe ich den Update Intervall vom Modul auf 0.5 Sekunden gesetzt(es geht auch niedriger, aber der Log arbeitet nur mit vollen Sekunden). Dann habe ich eine Animation von 000000 zu FFFFFF bei verschiedenen Geschwindigkeiten laufen lassen und die Zeit von 0 auf 100% anhand des Logs errechnet. Da die Reaktionszeit variieren kann und der Log nur mit vollen Sekunden arbeitet, können gewisse Ungenauigkeiten vorhanden sein, aber ich denke von meinem ergebnis kann man ganz gut sehen, wie es in etwa funktioniert:
Geschwindigkeit Zeit
0 28
10 26
20 25
30 25
40 23
50 22
60 21
70 20
80 18
90 17
100 17
110 16
120 15
130 14
140 13
150 12
160 11
170 10
180 8
190 7
200 6
210 5
220 4
230 3
240 2
250 ~1(nicht mehr wirklich messbar mit meiner Methode)
Als sehr grobe Faustregel würde ich mal folgendes davon ableiten:
Zeit(in s) = (260-Speed)/10
Geht sicherlich noch genauer, aber es fehlt mir einfach die Zeit und Lust das Ganze noch mehrmals zur Mittelwertsbildung durchlaufen zu lassen und nach einer Möglichkeit zu suchen den Log genauer zu machen. Vielleicht kann ja wer anderes meine Ergebnisse korrigieren.
Hallo Raudi,
Ich hab auch schon mal untersuchungen dazu gemacht und folgendes herausgefunden:
-Die geschwindigkeit ist abhängig von der animationsart.
-Die geschwindigkeit ist abhängig von der Anzahl der verwendeten Farben.
-Aus irgendeinwm Grund starten die benuzerdefinierten animationen immer bei 000000. Das macht farbübergänge von einer farbe zur andern eigentlich unmöglich
Hallo zusammen,
die hier stehenden Beiträge gehen irgendwie von einem funktionierendem System aus.
Ich habe FHEM so Anfang Dezember installiert die von Euch für das LW12 als define angegebenen Codes münden bei mir immer nur in der Fehlermeldung.
"Unknown module WifiLight Unknown module WifiLight" (ich habe 2 davon)
Nun habe ich durch Recherche herausgefunden, das Ihr das Modul in die Distribution gegeben habt und nun per "Update" mit geladen werden sollte. Leider Fehlanzeige. Das Modul ist nicht im Pfad /opt/fhem/FHEM zu finden.
Dann habe ich das Modul manuell als 98_LM12.pm dorthin kopiert. Funktion immer noch Fehlanzeige.
Was mache ich hier falsch? Oder besser, wie bekommt man das zum Laufen?
Zitat von: Newima1201 am 01 Februar 2015, 14:04:51
Hallo zusammen,
die hier stehenden Beiträge gehen irgendwie von einem funktionierendem System aus.
Ich habe FHEM so Anfang Dezember installiert die von Euch für das LW12 als define angegebenen Codes münden bei mir immer nur in der Fehlermeldung.
"Unknown module WifiLight Unknown module WifiLight" (ich habe 2 davon)
Nun habe ich durch Recherche herausgefunden, das Ihr das Modul in die Distribution gegeben habt und nun per "Update" mit geladen werden sollte. Leider Fehlanzeige. Das Modul ist nicht im Pfad /opt/fhem/FHEM zu finden.
Dann habe ich das Modul manuell als 98_LM12.pm dorthin kopiert. Funktion immer noch Fehlanzeige.
Was mache ich hier falsch? Oder besser, wie bekommt man das zum Laufen?
wifilight ist nen anderes Modul, dass nichts mit diesem zu tun hat, außer, dass beide den LW12 steuern können. Bist du sicher, dass du den korrekten define Befehl nimmst?
Zitat von: Kuzl am 01 Februar 2015, 11:56:38
-Die geschwindigkeit ist abhängig von der animationsart.
-Die geschwindigkeit ist abhängig von der Anzahl der verwendeten Farben.
Wie meinst du das mit der Animationsart und den Farben?
Wenn man nicht mindestens eine Farbe von 0 auf 255 bringt, dann verringert sich natürlich die Animationszeit. Die Geschwindigkeit scheint aber gleich zu bleiben, sodass ein dimmen auf 50% dann einfach die Hälfte der Zeit benötigt. Müsste ich mir aber nochmal ansehen.
Du verwechselst wohl LW12 und Wifilight. Was davon willst du jetz verwenden? LW12 ist im unterordner contrib im svn. ( oder im 3. Post dieses threads) wifilight hingegen ist irgendwo anders im forum zu finden. Reinkopiern, dann gehts.
@raudi: die animation staret bei mir immer von "alles aus"
und mit mehreren farben meine ich, dass wenn man z.b. die farben rot und blau in der animation laufen lässt eine andere geschwindigkeit hat als bei nur rot. Die farben "teilen" sich scheinbar irgendwie die animationszeit. Das hab ich damals allerdings nicht genauer untersucht
Hallo,
dann trau ich mich auch mal zu fragen, wann das Modul 98_LW12.pm vermutlich mit dem normalen "update" in FHEM landet?
VG
Claus
diese Frage geb ich mal an Betateilchen weiter :D
Ich habe nämlich keine Ahnung wie ich da vorgehen muss.
Ich hätte auch kein Problem damit, als maintainer drin zu sein :)
Claus öffne den dritten Beitrag auf Seite eins Kopie das Modul in dein fhem Verzeichnis zu den anderen Modulen starte fhem neu und gut ist
Wie ist dein define?
Hallo Markus,
vielen Dank für den Hinweis den ich selbstverständlich schon kannte. Ich lese viel und interessiert hier im Forum mit.
Also, wie es geht das Modul in "mein" FHEM zu bekommen habe ich verstanden, möchte aber gerne wissen, wann es automatisch mit einem "update" geladen wird.
Ich habe bei unix echt zwei linke Hände und bedauerlicherweise nicht genug Zeit mich da richtig reinzuschaffen. Alles ausser ls ist bei mir schon "angstbehaftet" und beim mount einer NAS-Freigabe um die Logs umzubiegen versage ich derzeit noch total ;)
Gestern habe ich endlich den schon seit 2 Monaten im Büro rumgammelnden LED-Stripe und den LW12 (ohne FHEM, nur die HW) in Betrieb genommen und habe vor, das LW12-Modul demnächst einzubinden.
Mal sehen wer schneller ist: ich mit der manuellen Einbindung oder das reguläre "update"...
Nochmal, vielen Dank für Deine Antwort und den Tipp!
VG
Claus
Zitat von: Claus am 04 Februar 2015, 15:24:14
Hallo Markus,
vielen Dank für den Hinweis den ich selbstverständlich schon kannte. Ich lese viel und interessiert hier im Forum mit.
Also, wie es geht das Modul in "mein" FHEM zu bekommen habe ich verstanden, möchte aber gerne wissen, wann es automatisch mit einem "update" geladen wird.
Ich habe bei unix echt zwei linke Hände und bedauerlicherweise nicht genug Zeit mich da richtig reinzuschaffen. Alles ausser ls ist bei mir schon "angstbehaftet" und beim mount einer NAS-Freigabe um die Logs umzubiegen versage ich derzeit noch total ;)
Gestern habe ich endlich den schon seit 2 Monaten im Büro rumgammelnden LED-Stripe und den LW12 (ohne FHEM, nur die HW) in Betrieb genommen und habe vor, das LW12-Modul demnächst einzubinden.
Mal sehen wer schneller ist: ich mit der manuellen Einbindung oder das reguläre "update"...
Nochmal, vielen Dank für Deine Antwort und den Tipp!
VG
Claus
Dann wäre es vielleicht einfacher für dich ein Tool wie winscp zu benutzen. Dann kannst du das alles ganz einfach von einem anderen Rechner rüber kopieren.
Hallo Zusammen,
wahrscheinlich gehört meine Frage eher in den Bereich "Anfängerfragen", da hier aber die Experten zu 98_LW12 aktiv sind traue ich mich einfach hier zu fragen:
Ich habe keine LW12 Hardware, interessiere mich aber über die Beleuchtungslogik im FHEM:
Wie funktioniert "Animation" im Modul 98_LW12? Ich finde in dem Thread hier nur Schnipsel wir UserModus und Speed.
Kann aus einer Liste von Möglichen AnimationsModi ausgewählt werden?
Wenn so:
- in dem Modul Quelltext an sich habe ich keine solche Liste entdecken können, wo ist die denn definiert?
- Welche Attribute müssen gesetzt werden um die Animation auswählbar machen zu können?
Danke für Tipps!
Markus
Hallo Markus,
die Animationen sind im LW12 vorprogrammiert, d.h. dass FHEM nur den Befehl gibt eine bestimmte Animation zu starten.
Das Hat den vorteil, dass eine Animation keine Last auf dem FHEM-System erzeugt, aber auch den Nachteil, dass ohne "update" die aktuelle Farbe unbekannt ist.
Zusätzlich zu den vorprogrammierten Animationen kannst du selbst eine Animation machen, die der LW12 dann anschließend selbstständig in Dauerschleife ausführt.
Dabei kannst du die Farben auswählen und die Art in der eine Farbänderung ausgeführt wird. (Faden,harter Wechsel, Strobe)
Gruß
Kuzl
Hallo Kuzl,
danke für die schnelle Antwort - ich versuche gerade noch einen Geist bei mir auszutreiben:
Ich bin recht sicher dass ich beim Herumspielen mit dem Modul einmal im Web Frontend eine Liste von möglichen Animations Modi gesehen habe (Namen).
Ich bekomme das irgendwie nicht mehr hin - oder war es vlt. doch nur ein Hirngespinst?
Grüße, Danke (auch für das Modul!!!!!)
Markus
Zitat von: mpfau am 10 Februar 2015, 09:59:26
oder war es vlt. doch nur ein Hirngespinst?
Sehr warscheinlich. Es gibt 20 vordefinierte Animationen die sich auch nur durch die Nummern ansprechen lassen.
In der Handyapp sind sie beschrieben.
ZitatIn der Handyapp sind sie beschrieben.
Ich schau mir das an... Ich bin erstmal froh, dass ich wieder die Liste sehe, ich war wirklich am Zweifeln.
Kann mir jemand sagen, wie man den LaGute LW12 Adapter resetten kann?
Ich habe die FC... Ausführung. Ich habe versucht, den in mein Netz einzubringen, jetzt ist er nicht mehr erreichbar per Ping. Auf der Platine ist nur der WLAN Chip mit einer grünen LED drauf.
Hallo und guten Morgen,
der LW-12 lässt sich nicht reseten und auf Werkseinstellung setzen.
Ich habe diesen Adapter bei Amazon bestellt. den ersten habe ich sofort wieder zurückgeschickt. (war nicht mehr ansprechbar)
Den zweiten Adapter habe ich nach mehrmaligen probieren, dann endlich ins Netzwerk eingebunden aber lies sich trotzdem nicht in Fhem einbinden.
Ich habe hier im Forum gesehen, das die benutzbaren LW-12 wohl eine Firmware 4.05 haben. Der neue LW-12 der bei Amazon angeboten wird hat eine Firmware 1.05. und hat sich bei mir bei Erstinbetriebnahme mit FC_433 gemeldet. Man konnte den Port 5000 (Default) auf 5577 umstellen oder auch ein Werksreset ausführen aber alle Einstellungen blieben wie sie waren.
Ich bin nicht der einzige hier im Forum der mit diesem Adapterhttp://www.amazon.de/NEUER-STRIPS-CONTROLLER-iPhone-Android/dp/B00G55329A/ref=pd_sim_computers_1?ie=UTF8&refRID=0MQWFS1J4ZTSHCHA3ZA1 (http://www.amazon.de/NEUER-STRIPS-CONTROLLER-iPhone-Android/dp/B00G55329A/ref=pd_sim_computers_1?ie=UTF8&refRID=0MQWFS1J4ZTSHCHA3ZA1) seine Probleme hatte.
Habe dann auch den zweiten Adapter zurückgeschickt und mir jetzt den LD382 bestellt, mal sehen wie es dann klappt. Dabei hab ich auch noch Geld gespart, der LD382 ist 1 Cent günstiger.
Ich hoffe er kommt heute per Post.
Viel Spaß und ein schönes WE an alle
Danke Intruder, werde ich auch machen. Ich habe mehrere Stunden gebraucht um überhaupt auf der Web-Interface zugreifen zu können. Retour und gut.
Hallo,
kann der LW-12 in Verbindung mit WIFILED auch eine einfarbige, warmweiße LED Leiste steuern?
Grüße
Im Grunde geht das, ist allerdings nicht die beste wahl denke ich.
Habe derzeit Homematic in Betrieb, daher die Frage, HM Dimmaktor-Bausatz für ca 34 EUR, LW12 für ca 29EUR allerdings eigentlich für RGB geeignet. Gibt es hierzu ggf. noch alternativen?
Da denke ich ist der homematic dimmer die bessere wahl. Was es da an wifi-modulen für einen kanal gibt kann ich nicht sagen damit hab ich mich noch nicht beschäftigt. Kann aber durchaus sein dass es da was gibt. Die integeation in fhem ist dann allerdings eine andere sache
Ich werde es mal mit dem HM Aktor versuchen, da sollte die Integration auch relativ einfach von Statten gehen. Danke!
Ich hab gerade nach längerem wieder ein update gemacht und diese Meldungen im Log gefunden:
Aber es scheint alles zu Funktionieren.
2015.02.22 20:19:45 3: Can't connect to socket!
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $res in uc at ./FHEM/98_LW12.pm line 454.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[3] in hex at ./FHEM/98_LW12.pm line 458.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[5] in hex at ./FHEM/98_LW12.pm line 459.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[2] in string eq at ./FHEM/98_LW12.pm line 460.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[6] in hex at ./FHEM/98_LW12.pm line 467.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[7] in hex at ./FHEM/98_LW12.pm line 468.
2015.02.22 20:19:45 1: PERL WARNING: Use of uninitialized value $colors[8] in hex at ./FHEM/98_LW12.pm line 469.
2015.02.22 20:19:47 3: Can't connect to socket!
Gruß Markus
Scheint als würde das timeout zu kurz sein, da die Verbindung zum LW12 fehlschlägt
Danke für die Antwort!
Aber was soll ich jetzt machen?
das timeout erhöhen. Es ist standardmäßig auf 5s gestellt, kann aber natürlich beliebig eingestellt werden.
Ich wollte mal fragen, ob es eine Möglichkeit gibt, die neuen HX001 hier mit einzubauen. Mit wifilight.pm funktioniert es. Ist der LW12 ein Auslaufmodell, und sind das die Nachfolger?
LG
Tom_S
Hallo Tom,
wenn ich das richtig verstehe, ist es ein LW12, nur mit anderer firmware?
Kannst du mir zufällig sagen ob sich auch die Steuerbefehle und nicht nur der Port geändert haben?
Denn wenn sich diese auch geändert haben, kann ich von der funktionalität nicht mehr machen als Wifilight, da ich die Hardware selbst nicht besitze und daher nicht den Netzwerkverkehr mitschneiden kann (bezüglich der Hardwareanimationen)
komplett anderes Protokoll, beim HX auch deutlich komplexer. fyi, zum ursprünglichen LW12 sind der LW12HX und der LW12FC dazugekommen, alle im Protokoll verschieden.
vg
jörg
Dann wird das wohl schwierig, es sei denn du kannst mir den Netzwerkverkehr mit der App umfassend sniffen.
komplex. der hx macht so eine Art Verschleierung des Protokolls - das werden bytes und nibbles in der meassage hin und hergeschoben.
ein original LW12 ist wohl bald nicht mehr zu bekommen. Habe jetzt auch noch einen Fc. Der ist wieder anders. Kann mann da schon etwas über das Protokoll sagen? Wäre der einfacher. Mal sehen wie es in der Zukunft weiter geht.
Hat vielleicht schon mal jemand eine Firmware irgend wo her erstanden, und versucht einen zu flashen.
LG Tom_S
fhem unterstützt den fc bereits.
Ja, in der wifilight.pm oder? Ist das schon in deinem Update, oder nur in der verlinkten Datei?
Ich wollte eigendlich wissen, ob er einfacher in die LW12 zu integrieren wäre als der HX vom Protokoll her). So für die Zukunft.
Habe gerade gesehen, das man beim FC sogar die Reset-Taste gespart hat.
mfg Tom_S
Ich wollte Euch nur mal Bescheid geben, das das "Ufo" (= Magic LED Wifi-Controller) perfekt läuft
http://blog.moneybag.de/fhem-erfahrungsbericht-wlan-led-stripe-controller-fuer-rgb-rgbw-led-stripes/
und ebenfalls habe ich aus dem obigen "LED-Abfall" einen zweiten LED Stripe mit ESP 8266 12 und einem separaten Netzteil gemacht.
Läuft seit einer Woche mit Fhem auch tadellos, dank der guten Arbeit hier von den Forum-Mitgliedern.
http://blog.moneybag.de/fhem-smd-rgb-led-stripes-mit-esp-8266-12-ueber-wlan-steuern/
Robin
Zitat von: herrmannj am 26 Februar 2015, 19:04:15
fhem unterstützt den fc bereits.
Hallo,
kannst du mir evtl. kurz erklären wie ich meinen LW12 (FC-Version) zum laufen bekomme?
Mit der Wifilight habe ich leider keinen Erfolg gehabt.
Folgendes zeigt mir das LogFile:
2015.03.08 20:40:41 1: PERL WARNING: Unrecognized escape \p passed through at ./FHEM/32_WifiLight.pm line 2170.
2015.03.08 20:40:41 3: define TV: can't reach (IO::Socket::INET: connect: Connection refused)
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $hueFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1445.
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $satFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1445.
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $valFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1445.
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $hueFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448.
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $satFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448.
2015.03.08 20:40:46 1: PERL WARNING: Use of uninitialized value $valFrom in concatenation (.) or string at ./FHEM/32_WifiLight.pm line 1448.
2015.03.08 20:40:46 3: TV set HSV 1, 1, 1 with ramp: 0, flags:
2015.03.08 20:40:46 3: TV low level cmd queue send ERROR 56000000aa, qlen 1 (trying to reconnect)
2015.03.08 20:40:46 1: TV low level cmd queue send ERROR 56000000aa, qlen 1 (reconnect giving up)
Ich bin noch ziemlich neu in der FHEM Geschichte. Wird das Teil einfach nicht richtig unterstützt oder hab ich was falsch verstanden?
mit LW12.pm geht es leider (noch) nicht. Das Modul ist nur für dem LW12.
Bei Wifilight brauchst du die neue Testversion aus dem Wifilight-Trade.
Damit geht es
mfg
Tom_S
Zitat von: Tom_S am 09 März 2015, 10:31:19
Bei Wifilight brauchst du die neue Testversion aus dem Wifilight-Trade.
Zieht er sich die neuste Version aus dem Update oder muss ich die manuell aktualisieren?
Wie lautet dafür dann der define Befehl?
Sorry aber ich bin nach dem ganzen probieren etwas unsicher.
du brauchst die unter #1246 verlinkte 32_wifilight.pm und dann define NAME WifiLight RGB LW12FC:IP|FQDN
Ob es mit der version im Update geht weis ich nicht. Das ist aber auch der falsche Trade. Frag mal im WifiLight Trade nach.
LG
Tom_S
Super jetzt reagiert das Ding. Vielen Dank! :)
Hatte tatsächlich eine ältere Version des WifiLight die den FC noch nicht unterstützt hat.
Hi,
ja - check mal bitte beim fc wie linear die Helligkeit ist. Evtl unter 40% zu dunkel. Sonst aber bitte im wiflight fred um diesen hier nicht zu "missbrauchen"
vg
jörg
Zurück zu LW12...
@Kuzl: könntest Du im Modul bei den Attributen bitte das "verbose 0...5" entfernen? Das ist standardmäßig ohnehin vorhanden und führt dazu, dass das Modul zwei verbose Einträge in der Attributliste hat.
@betateilchen: ist geändert.
Sry... habs gelesen und dann irgendwie wieder vergessen :D
nicht schlimm... es macht ja keine Probleme, aber es kann verwirren :)
Das Modul bringt FHEM bei mir leider reproduzierbar zum Absturz.
Und zwar bei einem toggle befehl. Das tritt stehts nach einem FHEM neustart auf.
Can't use an undefined value as an ARRAY reference at ./FHEM/98_LW12.pm line 446.
Ist das Problem bekannt und gibt es eine Lösung?
Beste Grüße
Fabian
Der toggle-Befehl ist nicht direkt im Modul, sondern wird über die SetExtentions implementiert. D.h. ich hab keine Ahnung was da eigentlich gemacht wird. Was ich mir jedoch vorstellen kann: hat denn das Device einen STATE, wenn der Befehl ausgeführt wird?
Wenn nicht am besten einfach mal ein set <Device> off und dann einen restart, damit der State im Statefile gespeichert wird.
Ist das im Thread #3 die eig die aktuellste Version?
Oder bin ich einfach zu blöd denn SourceForge-Link zu finden?
Am bestn bei der fhem seite von Sourceforge unter contrib suchen :) da ist immer die aktuellste version
Ok, danke!
mir ist aufgefallen dass das modul das log voll ballert wenn der lw12 mal nicht erreichbar ist.
wäre es möglich hier nicht log 3 zu nehmen...
Log3 $name, 3, "Can't connect to socket!";
die meldung kommt sonst alle 1 minute
du kannst auch im LW12 modul verbose einstellen.
attr LED verbose 2
standard ist in fhem 3, von daher sollte man für diese meldung ggf. das level im code erhöhen
das ist ein Argument ;)
Wäre natürlich der bessere Weg bei mir ist der LW12 auch nur mit Strom versorgt wenn der Fernseher an ist.
Hallo,
welche Version ist denn nun die letzte ?
Kann die mal jemand bereitstellen ?
Über Update kommt ja keine
man sollte das modul einchecken. in post 3 ist wohl die aktuellste
Hallo zusammen, war leider nicht daheim. Ich werde das auf loglevel 4 setzen. Das Modul ist unter contrib in fhem eingecheckt. Die aktuellste version ist immer von soirceforce downloadbar
ich hab die Änderung eingecheckt und den Link für Sourceforge im 3. Post verlinkt. Hier ist immer die aktuellste Version downzuloaden.
Viele Grüße,
Kuzl
warum wird das modul nicht einfach in FHEM abgelegt und so per update bereitgestellt? ich meine es läuft doch im großen und ganzen sauber.
ist doch unnötig es durch contirb zu verkomplizieren
im Grunde könnte man das machen, allerdings ist der LW12 bereits fast komplett durch ein anderes Gerät abgelöst worden. Daher denke ich würde sich die Anzahl der user sowieso auf die beschränken, die sowieso das Modul schon verwenden. Und so komplex ist jetz der contrib-ordner auch nicht. Der ist ja genau für solche Sachen gedacht.
Wie heisst das neue Modul ?
Falls du damit das Gerät meinst, das müsste der LD382 sein.
Mir ist aufgefallen, dass bei jedem FHEM Start folgende Fehlermeldungen auftauchen:
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $res in uc at ./FHEM/98_LW12.pm line 477.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[3] in hex at ./FHEM/98_LW12.pm line 481.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[5] in hex at ./FHEM/98_LW12.pm line 482.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[2] in string eq at ./FHEM/98_LW12.pm line 483.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[6] in hex at ./FHEM/98_LW12.pm line 490.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[7] in hex at ./FHEM/98_LW12.pm line 491.
2015.07.23 10:13:50 1: PERL WARNING: Use of uninitialized value $colors[8] in hex at ./FHEM/98_LW12.pm line 492.
Wie kann man dies abstellen ?
in dem der maintainer den code anpasst ;)
habe die auch.
Zitat
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $res in uc at ./FHEM/98_LW12.pm line 478.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[3] in hex at ./FHEM/98_LW12.pm line 482.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[5] in hex at ./FHEM/98_LW12.pm line 483.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[2] in string eq at ./FHEM/98_LW12.pm line 484.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[6] in hex at ./FHEM/98_LW12.pm line 491.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[7] in hex at ./FHEM/98_LW12.pm line 492.
2015.08.09 13:41:01 1: PERL WARNING: Use of uninitialized value $colors[8] in hex at ./FHEM/98_LW12.pm line 493.
offenbar kommen die meldungen nur wenn noch keine verbindung zum lw12 besteht. dem geht in der regel die meldung "can't connect to socket" vorraus. man muss somit wohl erstmla prüfen ob lw12 borhande, wenn nein dann nicht obige routinen durchlaufne?!
Ich schau nach dem Urlaub mal drüber - also nächste Woche :)
gruß
Kuzl
Passiert hier mal noch irgendwann etwas ?
er sagte doch erschaut es sich diese wochen an, mittwoch ist meine ich noch nicht das ende der woche. patches nimmt er sicher auch gerne entgegen falls es jemandem nicht schnell genug geht.... 8)
Hab grad ne Version eingecheckt, damit sollten die Warnings weg sein. Chris hat recht, das kam nur wenn keine Verbindung zum LW12 aufgebaut werden kann.
Kommt die über das normale Update ?
Du kannst sie dir über den link im 3. post downloaden. übers update kommt sie nicht
Gesendet von meinem GT-I9505 mit Tapatalk
Hallo,
nach update auf die aktuelle LW12 Version bekomme ich folgende Meldung im log:
2015.10.06 14:22:47 1: PERL WARNING: Integer overflow in hexadecimal number at ./FHEM/98_LW12.pm line 478.
2015.10.06 14:22:47 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/98_LW12.pm line 478.
Woran könnte das liegen, bzw was kann ich tun?
Gruß Holgi
Hallo Holgi,
das Problem ist scheinbar, dass mit hex() scheinbar maximal 4 Byte interpretiert werden können.
Kannst du mal testen, ob noch alles funktioniert und die Warnungen weg sind wenn du die Zeile 478 folgendermaßen änderst:
vorher:
if (hex($res) != 0){
nachher:
if ($res != "0"){
evtl noch Zeile 437 auf return "0"; ändern
bin mir aber nicht sicher ob das so funktioniert.
Ich bin leider die nächste Zeit nicht daheim um das selbst zu reparieren, evtl hat ja jemand ne Idee, wie man das anders lösen könnte.
Viele Grüße,
Kuzl
Hallo Kuzl,
habe Zeile 478 geändert funktioniert wohl alles wie es soll aber im log die Meldung:
PERL WARNING: Argument "66012439211ec738000199" isn't numeric in numeric ne (!=) at ./FHEM/98_LW12.pm line 478.
Zeile 437 war schon auf return "0";
Gruß Holgi
Hallo Holgi,
alles klar dann müsste die Zeile 478 korrekt so sein:
if ($res ne "0"){
Bitte darauf achten, die Zeile 437: return "0"; <= MIT Gänsefüßchen, sonst gibts ne Perl Warning wenn der LW12 nicht erreichbar ist.
Ich ändere das Ganze im SVN sobald ich wieder daheim bin (spätestens am Wochenende)
Viele Grüße,
Kuzl
Besten Dank,
Fehler bzw Meldung taucht nicht mehr auf.
Gruß Holgi
Funktioniert das hier nicht mehr ? Beim Drücken auf das Icon kommen komische meldungen und es funktioniert nichts
attr <name> devStateIcon {Color_devStateIcon(ReadingsVal($name,"RGB","000000"))}
Habs so eingebunden:
define LW12test WifiLight RGB LW12:192.168.2.46
attr LW12test room Lampen
attr LW12test webCmd RGB
attr LW12test defaultColor 300,100,100
attr LW12test widgetOverride RGB:colorpicker,RGB
attr LW12test devStateIcon {Color_devStateIcon(ReadingsVal($name,"RGB","000000"))}
zum einen heisst die aktuelle version lw12, bei dir ist noch das modul wifilight -> also austauschen
zum anderen brauchst du dann für rgb nur
attr <name> webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off:dim
oh man duch das ganze hin und her doch das wichtigste Vergessen *G*
Danke nun funktioniert es auch.
Wird eig. bei Stromausfall die letzte benutzte Farbe wieder angezeigt?
Gute Frage, ist Sache des LW12.
Kannst du ja mal ausprobieren und berichten. Es wird auf jeden Fall beim einschalten keine explizite Farbe gesetzt. Ich meine bei mir war das mal so, dass er dann wild rumgeblinkt hat.
Gruß,
Kuzl
Ich habe ein Problem mit dem LW12.
mein FHEM-Server bleibt stehen.
Der letzte Eintrag im Log-file ist
Can't use an undefined value as an ARRAY reference at /opt/fhem/FHEM/98_LW12.pm line 447
Dann hilft nur ein Neustart...
ich habe die letzte mir bekannte Version vom 11.10.2015.
Es lief bis vor kurzem problemlos.
"Eigentlich" habe ich nichts verändert.
Die Zeile 447 gehört zu LW12_UpdateRGB und lautet:
my @channels = @{$hash->{".bri"}->{channels}};
Mein Device-List:
Internals:
DEF 192.168.64.35
IP 192.168.64.35
NAME ga_Huette_RGB
NR 698
STATE off
TYPE LW12
Readings:
2016-09-15 07:06:37 dim 100
2016-09-15 07:06:37 hsv 300 100 100
2016-09-14 22:12:38 mode 1
2016-09-15 07:06:37 rgb FF00FF
2016-09-14 22:12:38 speed 127
2016-09-15 07:06:37 state off
Attributes:
group Licht
icon light_led_stripe_rgb
room Garten
timeout 5
updateInterval 120
verbose 3
Ich hoffe das Modul wird noch von jemand anderem benutzt, der mir helfen kann :(
ist ja schon ewig her mit dem LW12. Hat mich damals auch immer geärgert mit dem Absturz. Du musst nach einem Neustart erst mal auf "get" klicken bevor du ein "set" machst. Ich habe damals ein paar Sachen geändert, damit das nicht mehr passiert.
Wirklich fertig geworden ist es nicht. Das Interesse an diesem Modul ist wohl gering, da es die Dinger nicht mehr gibt.
Ich hänge mal meine Version an. Dann kannst du sie ja mal ausprobieren.
LG Tom_S
Dankeschön.
Ich habe deine Version installiert und werde die Sache weiter beobachten.
nutz doch einfach das sauber funktionierende WifiLight modul
Das benutze ich an anderer Stelle...
Hier möchte ich die automatischen Funktionen des LW12 nutzen.