ESP RGBWW Wifi Led Controller - Firmware vbs

Begonnen von vbs, 18 April 2017, 09:26:13

Vorheriges Thema - Nächstes Thema

vbs

Zitatwenn ich diese Firmware hier einsetzte, muss ich dann auch zwingend das Modul in FHEM austauschen? Ich verwende zur Zeit drei Controller mit der "originalen" Firmware und würde die ungerne umflashen bis ich nicht alles getestet habe.
Ja, du brauchst in jedem Fall auch das passende FHEM-Modul. Sonst kannst du auch die Funktionen gar nicht nutzen (manches mag funktionieren, aber sicher nicht alles).

Ich hatte ursprünglich mal gehofft, dass die Änderungen mal in den Original-Zweig von Peter zurück fließen könnten, aber leider hatte er bisher noch keine Gelegenheit, sich die Firmware mal anzuschauen. Darum führt sie so eine "Parallel-Existenz" :)

Was du machen könntest, wäre das Modul in "32_LedController2.pm" oder so umzubenennen. Musst dann jedoch auch alle Funktionen innerhalb der Datei umbenennen. Dann könnte man das alte und das neue parallel betreiben als getrennte Module. Etwas unschön, aber sollte eigentlich machbar sein.
Vielleicht mache ich den Schritt irgendwann auch mal selber, wenn ich die Hoffnung auf die Rückführung komplett aufgegeben habe, :)

vbs

Zitat von: Shojo am 04 Dezember 2017, 22:06:51
hast Du Lust und Zeit den Code so anzupassen das ich auch einen ESP-12-E verwendet werden kann?
(GPIO 4 und 5 sind dort vertauscht)
Ja, kann ich sicherlich machen. Sollte recht einfach sein.

Shojo

Zitat von: vbs am 04 Dezember 2017, 22:17:26
Ja, kann ich sicherlich machen. Sollte recht einfach sein.

Habe nämlich grade das Platinen Layout auf eine SingleLayer PCB portiert um diese besser fräsen zu können...
Und da viel mir das auf das ich ja so meine ESP-12-E nicht verwenden könne.

Kannst Du den Chip erkennen und im Code darauf reagieren? 
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

vbs

Ich wüsste nicht wie, was aber nicht heißen muss, dass es nicht geht :)

Ich würde das erstmal als Config-Schalter einbauen. Falls jemand weiß, wie man das zur Laufzeit abfragen kann, dann bitte Bescheid gaben.

Markus.

Zitat von: vbs am 04 Dezember 2017, 22:09:43
Ja, du brauchst in jedem Fall auch das passende FHEM-Modul. Sonst kannst du auch die Funktionen gar nicht nutzen (manches mag funktionieren, aber sicher nicht alles).

Ich hatte ursprünglich mal gehofft, dass die Änderungen mal in den Original-Zweig von Peter zurück fließen könnten, aber leider hatte er bisher noch keine Gelegenheit, sich die Firmware mal anzuschauen. Darum führt sie so eine "Parallel-Existenz" :)

Was du machen könntest, wäre das Modul in "32_LedController2.pm" oder so umzubenennen. Musst dann jedoch auch alle Funktionen innerhalb der Datei umbenennen. Dann könnte man das alte und das neue parallel betreiben als getrennte Module. Etwas unschön, aber sollte eigentlich machbar sein.
Vielleicht mache ich den Schritt irgendwann auch mal selber, wenn ich die Hoffnung auf die Rückführung komplett aufgegeben habe, :)

Also wenn ich dich richtig verstehe müsste ich nur die Funktionen innerhalb der Moduldatei umbenennen und die Firmware selber bleibt? Oder muss ich das in der Firmwaredatei ändern? Ich glaube dann müsste ich passen  :'(

Gruss
Markus

vbs

Genau, die Firmware kann so bleiben wie sie ist. Du musst nur dafür sorgen, dass die beiden FHEM-Moduldateien friedliche koexistieren können und von FHEM als zwei unterschiedliche, eigenständige Module wahrgenommen werden. So aus dem Bauch heraus würde ich sagen, dass nur die Funktionsnamen geändert werden müssen.

Markus.

Hallo VBS,

nochmal für Programieranfänger... ;-)
Ich hole mir deine 32_LedController.pm benenne diese um in z.B. 32_LedController02 und ändere innerhalb der Datei alles was "Led_Controllerxxxx..." ist in z.B. "Led_Controller02xxxx..." ?!
Alle Subs usw..

Sowie hier..

sub LedController02_Initialize(@) {

  my ($hash) = @_;

  $hash->{DefFn}      = 'LedController02_Define';
  $hash->{UndefFn}    = 'LedController02_Undef';
  $hash->{ShutdownFn} = 'LedController02_Undef';
  $hash->{SetFn}      = 'LedController02_Set';
  $hash->{GetFn}      = 'LedController02_Get';
  $hash->{ReadyFn}    = 'LedController02_Ready';
  $hash->{AttrFn}     = 'LedController02_Attr';
  $hash->{NotifyFn}   = 'LedController02_Notify';
  $hash->{ReadFn}     = 'LedController02_Read';
  $hash->{AttrList}   = "defaultRamp slaves" . " $readingFnAttributes";
  require "HttpUtils.pm";


Das wäre es dann ?...

Gruß

Markus

vbs

Ja genau, aber natürlich auch die Funktionen innerhalb der Datei umbenennen.

Markus.

mmh glaube ich steh ein wenig auf dem Schlauch...
Innerhalb welcher Datei? Dachte nur im Modul selber..
Sorry für die blöde Frage aber ich hab mich noch nicht so tief mit dem "Modul-Krims-Krams" beschäftigt...


Gruß

Markus

vbs

Kein Problem...

Ja ich meine auch die Modul-Datei. Die ganze Datei besteht aus einer Reihe von Funktionen. Du siehst dort reihenweise Inhalte wie z.B.
sub LedController_RemoveTimerCheck($) {

Die musst du dann entsprechend auch ändern in
sub LedController02_RemoveTimerCheck($) {

Evtl. kannst du einfach ein Text-Replace auf die gesamte Datei machen und "LedController_" ersetzen durch "LedController02_".

Markus.

#220
ahhh dann war ich also doch nicht auf dem Holzweg, genau so hatte ich es auch gemeint.
Habe alles mit search and replace gemacht und Datei umbenannt. werds nachher mal testen..:-)
Muss im html Teil auch noch was geändert werden?


Viiiielen dank nochmal !!

Gruß

Markus

Shojo

FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

vbs

Na gern doch. Anbei mal eine Firmware mit der Pin-Config. Kannst du ja vielleicht mal testen, ob das bei dir zu funktioniert wie erwartet :). Mit der Firmware solltest du ein FHEM-Reading "config-general-pin_config" vorfinden. Defaultmäßig passend für den ESP12-F ("13,12,14,5,4").

Über diesen Config-Parameter kann man die Pins beliebig frei zuordnen. Also um Pin 4 und 5 zu vertauschen müsstest du eben config-general-pin_config setzen auf ""13,12,14,4,5".

Hier die Beschreibung im Wiki dazu:
https://github.com/verybadsoldier/esp_rgbww_firmware/wiki#output-pin-configuration

Shojo

#223
Finde ich echt super!

Ich tue mich doch immer recht schwer mit C++ ...
Bin halt so ein verwöhnter C# Futzi :)

Zitat von: vbs am 05 Dezember 2017, 18:29:15
Kannst du ja vielleicht mal testen, ob das bei dir zu funktioniert wie erwartet :).

Ja werde ich tun ,habe aber die Platine noch nicht fertig :)
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

Markus.

So, Hab jetzt meine zwei Controller auch mal mit dieser Firmware versorgt :-)
Und hab direkt mal ne blöde Frage... wie bekomme ich denn meine Glühlampe wieder angezeigt neben dem Opend ?? :o

Gruß

Markus