ESP RGBWW Wifi Led Controller - fhem - Modul

Begonnen von pjakobs, 28 Juni 2016, 10:31:13

Vorheriges Thema - Nächstes Thema

pjakobs

Zitat von: vbs am 20 März 2017, 15:25:07
Aber wie würden Fades dann in der Praxis funktionieren? Der Master gibt regelmäßig (mehrmals pro Sekunde?) seinen Zustand aus und die Slaves schalten dann immer "hart" auf diesen um? Ich finde es eigentlich sehr elegant, dass momentan die Fades innerhalb des Controllers ausgeführt werden.

Sorry, wenn ich nochmal "nachnerve", aber ich interessiere mich wirklich für diesen MQTT-Master-Slave-Ansatz. Hast du Lust, da nochmal 1-2 Sätze zu zu schreiben, wie du dir das vorstellst? Vielleicht werde ich dann auch bald MQTT-User :)

ich hab's nicht vergessen, lass uns die Tage mal mit pf@nne zusammen schauen, wie wir das voran bringen können.
Ich hatte mit ihm darüber gesprochen und ich glaube, so problematisch wird das nicht werden. Im Moment ist mein Hauptproblem, dass ich keine Umgebung habe, in der ich die Firmware bauen kann, die müsste erstmal an das neue SMING Framework angepasst werden, und dazu verstehe ich sie noch nicht gut genug.

Grüße

pj

(BTW: Du hast ja einen Sack voll Controller bestellt, ich hoffe, dass ich die nächste Woche raus bekomme)

vbs

Klasse, freut mich!

Hier ist ein Stand der Firmware, der mit Sming 3.1.2 funtktioniert (falls das hilft):
https://github.com/verybadsoldier/esp_rgbww_firmware/tree/sming_3.1.2

pjakobs

Zitat von: vbs am 06 April 2017, 15:11:25
Klasse, freut mich!

Hier ist ein Stand der Firmware, der mit Sming 3.1.2 funtktioniert (falls das hilft):
https://github.com/verybadsoldier/esp_rgbww_firmware/tree/sming_3.1.2

9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware# make
C+ app/application.cpp
In file included from include/RGBWWCtrl.h:60:0,
                 from app/application.cpp:23:
include/config.h:44:17: error: 'DEFAULT_UDP_PORT' was not declared in this scope
    int   port = DEFAULT_UDP_PORT;
                 ^
include/config.h:49:16: error: 'DEFAULT_TCP_PORT' was not declared in this scope
    int  port = DEFAULT_TCP_PORT;
                ^
In file included from /workspace/Sming/Sming/system/include/esp_systemapi.h:22:0,
                 from include/user_config.h:29,
                 from include/RGBWWCtrl.h:55,
                 from app/application.cpp:23:
/workspace/Sming/Sming/system/include/debug_progmem.h:36:13: error: expected identifier before numeric constant
#define ERR 0
             ^
include/networking.h:31:2: note: in expansion of macro 'ERR'
  ERR = 3
  ^
/workspace/Sming/Sming/system/include/debug_progmem.h:36:13: error: expected '}' before numeric constant
#define ERR 0
             ^
include/networking.h:31:2: note: in expansion of macro 'ERR'
  ERR = 3
  ^
/workspace/Sming/Sming/system/include/debug_progmem.h:36:13: error: expected unqualified-id before numeric constant
#define ERR 0
             ^
include/networking.h:31:2: note: in expansion of macro 'ERR'
  ERR = 3
  ^
In file included from include/RGBWWCtrl.h:62:0,
                 from app/application.cpp:23:
include/networking.h:32:1: error: expected declaration before '}' token
};
^
/workspace/Sming/Sming/Makefile-rboot.mk:552: recipe for target 'out/build/app/application.o' failed
make: *** [out/build/app/application.o] Error 1
9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware#

hmm...
welchen Branch schlägst Du vor?

9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware# git branch -a
* (HEAD detached at origin/feature/mqtt-client)
  develop
  feature/mqtt-client
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/arduino-framework-deprecated
  remotes/origin/develop
  remotes/origin/feature/mqtt-client
  remotes/origin/gh-pages
  remotes/origin/master
9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware#

pj

vbs

Haben uns da scheinbar missverstanden, du bist ja offenbar auf "(HEAD detached at origin/feature/mqtt-client)". Der Branch, den ich meinte, heißt "sming_3.1.2" aus meinem Repo.
Das Sming 3.2.1 inklusive der RGBWW-Library hast du schon gebaut?

pjakobs

Zitat von: vbs am 06 April 2017, 17:11:55
Haben uns da scheinbar missverstanden, du bist ja offenbar auf "(HEAD detached at origin/feature/mqtt-client)". Der Branch, den ich meinte, heißt "sming_3.1.2" aus meinem Repo.
Das Sming 3.2.1 inklusive der RGBWW-Library hast du schon gebaut?
ah, ich hatte Dein Repo geforked, aber weil ich schon einen eignen, direkten Clone von Patrick hatte, hat github das wohl nicht gemacht. Wieder was gelernt.
Jetzt hab ich Deines direkt gecloned, stoße jetzt aber wieder auf den Fehler, den ich neulich schon hatte...

Switched to a new branch 'sming_3.1.2'
9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware# make
C+ app/application.cpp
C+ app/ledctrl.cpp
C+ app/mqtt.cpp
C+ app/otaupdate.cpp
app/otaupdate.cpp: In member function 'void ApplicationOTA::start(String, String)':
app/otaupdate.cpp:50:80: error: 'otaUpdateDelegate' was not declared in this scope
  otaUpdater->setCallback(otaUpdateDelegate(&ApplicationOTA::rBootCallback, this));
                                                                                ^
/workspace/Sming/Sming/Makefile-rboot.mk:552: recipe for target 'out/build/app/otaupdate.o' failed
make: *** [out/build/app/otaupdate.o] Error 1

Ich hab's nicht ganz ergründet, aber wenn ich das richtig verstanden habe, dann hat sich im aktuellen Sming framework etws an den Delegates geändert.

pj

vbs

Kann es sein dass du das repo geclonet hast, aber nicht in den branch gewechselt bist?

Edit
Doch hast, übersehen... Gucke gleich nochmal. Gerade an ner bahnschienen

pjakobs

Zitat von: vbs am 06 April 2017, 17:56:31
Kann es sein dass du das repo geclonet hast, aber nicht in den branch gewechselt bist?

Edit
Doch hast, übersehen... Gucke gleich nochmal. Gerade an ner bahnschienen
Bahnschiene???? :o

vbs

Ja, stand an einem Bahnübergang ;)

Nur zur Sicherheit: du baust wirklich gegen Sming 3.1.2, hast das einmal durchgebaut und hast das auch als SMING_HOME gesetzt, oder?

pjakobs

Zitat von: vbs am 06 April 2017, 18:17:04
Ja, stand an einem Bahnübergang ;)

Nur zur Sicherheit: du baust wirklich gegen Sming 3.1.2, hast das einmal durchgebaut und hast das auch als SMING_HOME gesetzt, oder?

Ich hab einen SMING Docker Container von https://github.com/SmingHub/Sming/tree/develop/docker in dem, wenn ich das richtig sehe, eine funktionierende Build Umgebung liegt.
Und wenn ich das richtig sehe baut er ja zumindest die sming rboot Klamotten...

Wenn ich SMING_HOME falsch setze, dann failt er auch gleich übelst:

9e4db335c4c9:/workspace/RGBWW/esp_rgbww_firmware# make
Makefile:43: /workspace/Sming/Makefile-rboot.mk: No such file or directory
make: *** No rule to make target '/workspace/Sming/Makefile-rboot.mk'.  Stop.


pj

vbs

Guck mal bitte in dieses File:
vbs@ubuntu:~/Projects/Sming$ cat Sming/SmingCore/Network/rBootHttpUpdate.h
/*
* rBootHttpUpdate.h
*
*  Created on: 2015/09/03.
*      Author: Richard A Burton & Anakod
*/

#ifndef SMINGCORE_NETWORK_RBOOTHTTPUPDATE_H_
#define SMINGCORE_NETWORK_RBOOTHTTPUPDATE_H_

#include "HttpClient.h"
#include <Timer.h>

#include <rboot-api.h>

#define NO_ROM_SWITCH 0xff

class rBootHttpUpdate;

//typedef void (*otaCallback)(bool result);
typedef Delegate<void(rBootHttpUpdate& client, bool result)> otaUpdateDelegate;

struct rBootHttpUpdateItem {
        String url;
        uint32_t targetOffset;
        int size;
};


Ob dort otaUpdateDelegate definiert ist:
typedef Delegate<void(rBootHttpUpdate& client, bool result)> otaUpdateDelegate;



Patrick hat seinerzeit ein paar Änderungen an Sming gemacht. Ich hab seine Änderungen hier auch auf 3.1.2 rebaset:
https://github.com/verybadsoldier/Sming/commits/rgbwwdev_sming_3.1.2

Aber bauen sollte es auch mit dem original 3.1.2.

pjakobs


//typedef void (*otaCallback)(bool result);
typedef Delegate<void(rBootHttpUpdate& client, bool result)> OtaUpdateDelegate;

errmm.. ja, soweit war ich auch schonmal, das eine ist ota, das andere Ota, wenn ich mich recht entsinne gab's kurz danach einen parameter error :/

pj

vbs

Sieht mir dann nach einem seltsamen Stand von Sming aus. Im "echten" Sming 3.1.2 heißt es auch "otaUpdateDelegate":
https://github.com/verybadsoldier/Sming/blob/3.1.2/Sming/SmingCore/Network/rBootHttpUpdate.h#L21

pjakobs

Zitat von: vbs am 06 April 2017, 18:49:23
Sieht mir dann nach einem seltsamen Stand von Sming aus. Im "echten" Sming 3.1.2 heißt es auch "otaUpdateDelegate":
https://github.com/verybadsoldier/Sming/blob/3.1.2/Sming/SmingCore/Network/rBootHttpUpdate.h#L21
hmf.. SmingCore.h behauptet

#define SMING_VERSION "3.1.2" // Major Minor Sub

but what do I know.

vbs

#163
Du scheinst auf dem develop-Branch von Sming zu sein. Also neuer als 3.1.2. Dort wird es groß geschrieben:
https://github.com/verybadsoldier/Sming/blob/develop/Sming/SmingCore/Network/rBootHttpUpdate.h#L21

pjakobs

Zitat von: vbs am 06 April 2017, 19:06:48
Du scheinst auf dem develop-Branch von Sming zu sein. Also neuer als 3.1.2. Dort wird es groß geschrieben:
https://github.com/verybadsoldier/Sming/blob/develop/Sming/SmingCore/Network/rBootHttpUpdate.h#L21
Dann wäre es ja wohl sinnvoll, damit weiter zu machen?

Gesendet von meinem HTC 10 mit Tapatalk