ESP RGBWW Wifi Led Controller - Hinweise zu Sammelbestellung 2.5

Begonnen von mrpj, 07 Februar 2016, 17:53:42

Vorheriges Thema - Nächstes Thema

Shuzz

Zitat von: johns am 26 Januar 2017, 09:52:26
Lässt sich irgendwo noch etwas einstellen, dass die Kanäle beide bis 1023 ausgenutzt werden.

Wie pjakobs bereits sagte: Nicht im HSV-Modus.
Per RAW geht das selbstverständlich... ;)

pjakobs

kurzes Update: Wir haben gestern die Gesamtzahl von 300 bestellten Platinen durchbrochen, also werde ich gleich 500 leere Platinen ordern. Ihr seid der Wahnsinn :-)

vbs

Yay sehr cool, nochmals vielen Dank, dass ihr euch darum kümmert und euch die viele Arbeit macht!

Ich bekomme im Moment recht viele Warnings aus dem Modul. Ich glaube aber nur beim Starten:

2017.01.27 21:40:26.241 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 400, <$fh> line 2540.
2017.01.27 21:40:26.241 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 714, <$fh> line 2540.
2017.01.27 21:40:26.241 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 737, <$fh> line 2540.
2017.01.27 21:40:26.242 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2541.
2017.01.27 21:40:26.242 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2542.
2017.01.27 21:40:26.242 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2543.
2017.01.27 21:40:26.242 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2544.
2017.01.27 21:40:26.242 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2545.
2017.01.27 21:40:26.243 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2546.
2017.01.27 21:40:26.243 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2547.
2017.01.27 21:40:26.243 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2548.
2017.01.27 21:40:26.243 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2549.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 400, <$fh> line 2635.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 714, <$fh> line 2635.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 737, <$fh> line 2635.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2636.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2637.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2638.
2017.01.27 21:40:26.304 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2639.
2017.01.27 21:40:26.305 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2640.
2017.01.27 21:40:26.305 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2641.
2017.01.27 21:40:26.305 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2642.
2017.01.27 21:40:26.305 1: PERL WARNING: Use of uninitialized value in numeric ge (>=) at ./FHEM/32_LedController.pm line 372, <$fh> line 2643.


Das kommt von diesen Logausgaben hier:

  Log3 ($hash, 4, "$hash->{NAME}: get config request") if ($hash->{helper}->{logLevel} >= 4);


Die Variable "$hash->{helper}->{logLevel}" ist (noch) nicht definiert. Das passiert erst, sobald man "set" aufruft.
Man könnte nun natürlich die Variable schon beim Anlegen auf einen Wert setzen, dann sollte das Problem weg sein. In dem Modul steckt aber ja offenbar ein eigener Loglevel-Mechanismus. Ist das wirklich so gewollt? Fühlt sich erstmal nicht so schön an, muss ich sagen.
Die Logs im Code sehen dann aus wie oben und man muss zB das Loglevel immer zweimal in der Zeile angeben.

Beim Aufruf von "set" wird dann dieses "Custom"-Loglevel indiviuell gefüllt:

   $hash->{helper}->{logLevel} = (AttrVal($hash->{NAME},"verbose",0)>$attr{global}{verbose})?AttrVal($hash->{NAME},"verbose",0):$attr{global}{verbose};


Ich würde anbieten, die Sachen rauszunehmen und das auf das normale fhem-Loglevel zurück zu bauen. Ist keine große Sache. Einfach ne Fleißarbeit. Vielleicht verstehe ich aber auch einfach den größeren Sinn dahinter nicht.

pjakobs

#1083
Die Sache mit dem Loglevel ist die: wenn wir data::Dumper in Log3 verwenden, dann wird der Dumper erstmal ausgeführt und das Ergebnis dann an Log3 übergeben. Der Erfolg war, dass ein log output für Loglevel 5 relativ viel Zeit in Anspruch nahm, selbst, wenn der Loglevel sehr niedrig gesetzt war. Wir berechnen daher den aktuell gültigen Loglevel aus dem Attribute Loglevel sowohl für das Modul als auch global und speichern den im internal um die entsprechenden Log3 calls auszumaskieren, bevor Dumper aufgerufen wird. Ich gebe zu, nicht elegant aber schnell.

Die Warnings kommen tatsächlich nur beim initialen "define" - ich denke, wenn wir den loglevel internal schon dort einmal setzen.

Grüße

pj

Gesendet von meinem HTC 10 mit Tapatalk


vbs

Aber aber aber...ich mag mich täuschen, aber der Dumper wird nur an zwei Stellen im Code überhaupt verwendet oder?

Egal, soll ich dann einfach das helper->loglevel mal initialisieren in define?

pjakobs

ich hab damals das Logging ziemlich aufgeräumt, aber die Log3 calls für Loglevel größer drei eben mit dem nachgestellten "if" ausgeblendet.
Performance war halt ein Problem, weil es manchmal ewig dauern konnte, bis eine längere Zeile abgearbeitet war.

Das loglevel internal im define zu setzen wäre ne prima Idee, wenn Du magst, nur los ;-)

pj

mrpj

Von mir gibt es ein kurzes Lebenszeichen - ich war ja echt lange nicht mehr hier drinnen.

Erstmal: Danke an Peter (pjakobs), dass er sich die Mühe gerade macht um eine Sammelbestellung zu organisieren. Mich hat leider meine Arbeit und vieles drum herum gerade stark im Griff und ich komme zu sehr wenig.

In den letzten Tagen ist dennoch das ein oder andere fuer das Projekt passiert:
Es gibt einige updates zum Layout:
- DCDC Wandler ist nun als "Through Hole" Bauteil eingebunden worden, bedeutet es koennen Pinheader eingeloetet werden und der DC Wandler auf diese geloetet -> es sollte wesentlich einfacher sein den DC Wandler zu loeten
- Es gibt einen Jumper/Pinleiste um eine externe 3.3V stromquelle anzuschließen; Wenn man nun den Spannungswandler mal nachjustieren will, geht das auch, ohne den ESP zu grillen
- Die Platine erhaelt andere Maße (53x47mm) und passt nun in das von Peter vorgeschlagene Gehaeuse rein

Ein paar Worte zur Firmware:
- der Bug mit dem WW/CW Abgleich ist von Christian gefixt - der Code liegt mir vor und ich stelle im laufe der nächsten Woche ein neues Firmware release zusammen


hermanski.k

Hallo zusammen,
ich habe noch eine Platine aus der ersten Sammelbestellung.
Meine Platine macht je nach Farbeinstellung hochfrequente Geräusche (fiepsen).
Gibt es eine Möglichkeit durch Modifikation, das fiepsen zu reduzieren. 

SG

pjakobs

Moin, Pfeifen klingt nach Schaltnetzteil. Bist Du sicher, dass das Pfeifen vom Controller selbst kommt? Ich hatte anfangs billige, offene China Netzteile die vor allem bei geringer Leistungsabgabe (=wenig Licht) mit ca 10kHz pfiffen. Wenn es der Controller selbst ist, dann könnte es der DC/DC Wandler,  einer der beiden Elkos oder, unwahrscheinlich, einer der MOSFETs sein. Ich würde in der Reihenfolge testen und Komponenten tauschen.

Grüße

pj

Gesendet von meinem HTC 10 mit Tapatalk


hermanski.k


mrpj


thm82

Zitat von: pjakobs am 22 Januar 2017, 00:19:35
Moin Thomas,

Pf@nne hat hier https://forum.fhem.de/index.php/topic,48918.msg443761.html#msg443761 ein gutes Tutorial zum flashen geschrieben.

Mein erster Gedanke war: SPIFFS an der falschen Adresse, aber nach dem, was Du oben geschrieben hast, sollte das stimmen. (wobei ich nicht weiß, ob das vielleicht auch noch irgendwie eine Compile Time Option ist).

Zweiter gedanke: die meisten USB/Seriell Konverter liefern zwar 3.3V, aber meistens nicht genug für einen ESP8266, ich habe mittlerweile bei allen Flash-Boards einen gesonderten 3.3V Spannungswandler drauf und habe seitdem keinerlei Probleme mehr.

Wenn Du die Firmware sowieso selbst baust, dann bietet sich imho an, eine debug Version zu compilieren und dem Controller mal beim Start per seriellem Port über die Schulter sehen. Ich tippe darauf, dass das SPIFFS nicht gefunden wird.

pj

Danke für die Infos!

Es hat sich allerdings nach einigem probieren herausgestellt dass der Controller eigentlich korrekt geflasht war. Mein MacBook schafft es einfach nicht die Webseite zu laden. Mein iPhone allerdings schon. Keine Ahnung warum. Ist aber auch nicht tragisch.

Vg

PS: Ich bin ein wenig neidisch auf das V1.5 Layout. Die Möglichkeit den DCDC über Pins zu löten und die Option den DCDC abzutrennen ist wirklich top. Wenn ich richtig sehe wird das allerdings dadurch "erkauft" dass sich der große Elko und die Mosfets nicht mehr gut kippen lassen, was es nicht mehr ermöglicht die Höhe ein wenig zu reduzieren. Ab und an ist das beim "integrieren/verstecken" leider der entscheidende Faktor. Aber man kann nicht alles haben :-)


pjakobs

Zitat von: thm82 am 02 Februar 2017, 22:23:51
Danke für die Infos!

Es hat sich allerdings nach einigem probieren herausgestellt dass der Controller eigentlich korrekt geflasht war. Mein MacBook schafft es einfach nicht die Webseite zu laden. Mein iPhone allerdings schon. Keine Ahnung warum. Ist aber auch nicht tragisch.

Vg

PS: Ich bin ein wenig neidisch auf das V1.5 Layout. Die Möglichkeit den DCDC über Pins zu löten und die Option den DCDC abzutrennen ist wirklich top. Wenn ich richtig sehe wird das allerdings dadurch "erkauft" dass sich der große Elko und die Mosfets nicht mehr gut kippen lassen, was es nicht mehr ermöglicht die Höhe ein wenig zu reduzieren. Ab und an ist das beim "integrieren/verstecken" leider der entscheidende Faktor. Aber man kann nicht alles haben :-)
Die Sammelbestellung ist offen, und Du kannst auch leere Platinen bekommen.

pj

Gesendet von meinem HTC 10 mit Tapatalk


pjakobs

kurzes Update zur Sammelbestellung:

heute ist die zweite Teillieferung von TME eingetroffen, damit sind fast alle passiven Komponenten und die MOSFETS komplett, die Chinesen lassen noch auf sich warten.

pj

uniqueck

kann man sich für die Sammelbestellung noch einklinken, oder ist es schon zu spät?

wenn ja ich würde noch 4 komplett bestückte nehmen.
Hat sich denn mal jemand die Mühe gemacht und ein 3D Drucker Gehäuse für die Controller entworfen?
Sind die Maße der neuen Platine identisch zur ersten?

gruß constantin