NEWS
[gelöst] Tasmota Custom Firmware
-
@chaot said in Tasmota Custom Firmware:
Das Gerät scheint ein Basic zu sein
... ein ESP8266 D1 Mini Pro zum "rumprobieren" ...
-
@raspiuser
Ich weiß nicht mal was Gitpod ist
Schau Dir die Beispiel override Datei an, so siehst schon wie das aufgebaut ist und dann hast oben doch schon richtig geschrieben was da rein soll. Das kannst dann auch einfach aus der config Datei in die override rein kopieren und und die "//" am Anfang weg machen.
Ich hänge mal meine override an, die ist schon recht alt und alles drin was zu dem Zeitpunkt so gängig war. Da kommentiere ich dann einfach das ein was ich brauche. Zugangsdaten und Geo Koordinaten habe ich jetzt einfach raus gelöscht -
@jan1
Schau ich mir an ... und jetzt ist der Laptop Akku gleich leer.
Melde mich wieder.Danke an alle soweit!
-
@chaot
Das ist richtig, aber da das Ding wohl auf dem Tisch liegt, sollte das eh erst mal mit Kabel gemacht werden und dann geht das eh immer. Der erste Flash auf Tasmota sollte eh zwingend mit Kabel erledigt werden und dabei gleich den Flash komplett löschen, sonst ist die Frage warum sich das Ding komisch Verhält vorprogrammiert. -
@jan1 Da hast du schon Recht, aber nach dem Screenshot scheint ja schon irgendeine Tasmota Version drauf zu sein.
Seltsam ist dabei das das scheinbar schon eine 9.4.0 ist. Ich denke mal das die schon vollgestopft ist und er deshalb das Platzproblem hat.Ich denke mit Gitpod meint er den TasmoEdit der da läuft.
Das das ein Gerät ist das nicht OTA zwingend muss habe ich scheinbar irgendwo überlesen. Aber trotzdem sollte das Teil mit OTA recht weit einstellbar sein. Mit dem TasmoEdit könnte er theoretisch auch den Startblock neu schreiben.
Wenn tatsächlich der TasmoEdit gemeint ist dann passt der Eintrag schon grundsätzlich. Auch bekommt er dort als Ausgabe eine Firmware wahlweise als GZIP. Muss dann lediglich das Platzproblem gelöst werden. Mit dem TasmoEdit habe ich es auch noch nie geschafft eine gezippte Firmware unter 400 kB zusammenzustellen. Da scheint das Problem zu liegen.Auch wenn es teilweise wirklich nicht elegant ist würde ich zwei Lösungswege vorschlagen:
- per Kabel (wie von dir empfohlen) - sicherste Lösung
- über den Umweg mit Minimal Firmware - nich so schön, aber sollte sicher auch funktionieren
-
@chaot
Meine selber kompilierten bins sind schon nahe an den 400k dran und gezippt eh drunter
Ich habe mal vor langer Zeit mit den minimal bins gearbeitet und jedes mal schlechte Laune gehabt. Seit ich das selber kompiliere, kann ich mich wegen Tasmota einfach nicht mehr aufregen, es funktioniert einfach so wie ich es will -
@jan1 said in Tasmota Custom Firmware:
Ich weiß nicht mal was Gitpod ist
... hier sind Doc's zu Gitpod innerhalb Github
Gestartet wird z.B. so https://gitpod.io/#https://github.com/arendst/Tasmota/tree/master -
@raspiuser
Ach so, ich mach das mit VSCode was dann eben wie Gitpod ist, nur anders
Ist aber eigentlich egal welches Tool man zum Kompilieren und editieren verwendet, solange die mit Tasmota kompatibel sind -
@raspiuser said in Tasmota Custom Firmware:
Vielleicht habe ich mich unklar ausgedrückt ...
WELCHE Datei muss ich WIE ändern ? d.h. WO nehme ich die "//" raus bzw. diese dazu um NUR "A4988" und "DE in den Einstellungen von TASMOTA zu sehen ?
Hier nochmal MEIN (s.o.) eigentliches Problem.
Ich habe also in der user_config_override.h die "A4988" eingetragen und sonst nix. WAS muss ich mit "//" auskomentieren um die .bin klein zu kriegen ?
Ich sehe da wohl den Wald vor lauter Bäumen nicht .../* user_config_override.h - user configuration overrides my_user_config.h for Tasmota Copyright (C) 2021 Theo Arends This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _USER_CONFIG_OVERRIDE_H_ #define _USER_CONFIG_OVERRIDE_H_ /*****************************************************************************************************\ * USAGE: * To modify the stock configuration without changing the my_user_config.h file: * (1) copy this file to "user_config_override.h" (It will be ignored by Git) * (2) define your own settings below * ****************************************************************************************************** * ATTENTION: * - Changes to SECTION1 PARAMETER defines will only override flash settings if you change define CFG_HOLDER. * - Expect compiler warnings when no ifdef/undef/endif sequence is used. * - You still need to update my_user_config.h for major define USE_MQTT_TLS. * - All parameters can be persistent changed online using commands via MQTT, WebConsole or Serial. \*****************************************************************************************************/ /* Examples : // -- Master parameter control -------------------- #undef CFG_HOLDER #define CFG_HOLDER 4617 // [Reset 1] Change this value to load SECTION1 configuration parameters to flash // -- Setup your own Wifi settings --------------- #undef STA_SSID1 #define STA_SSID1 "YourSSID" // [Ssid1] Wifi SSID #undef STA_PASS1 #define STA_PASS1 "YourWifiPassword" // [Password1] Wifi password // -- Setup your own MQTT settings --------------- #undef MQTT_HOST #define MQTT_HOST "your-mqtt-server.com" // [MqttHost] #undef MQTT_PORT #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT) #undef MQTT_USER #define MQTT_USER "YourMqttUser" // [MqttUser] Optional user #undef MQTT_PASS #define MQTT_PASS "YourMqttPass" // [MqttPassword] Optional password // You might even pass some parameters from the command line ---------------------------- // Ie: export PLATFORMIO_BUILD_FLAGS='-DUSE_CONFIG_OVERRIDE -DMY_IP="192.168.1.99" -DMY_GW="192.168.1.1" -DMY_DNS="192.168.1.1"' #ifdef MY_IP #undef WIFI_IP_ADDRESS #define WIFI_IP_ADDRESS MY_IP // Set to 0.0.0.0 for using DHCP or enter a static IP address #endif #ifdef MY_GW #undef WIFI_GATEWAY #define WIFI_GATEWAY MY_GW // if not using DHCP set Gateway IP address #endif #ifdef MY_DNS #undef WIFI_DNS #define WIFI_DNS MY_DNS // If not using DHCP set DNS IP address (might be equal to WIFI_GATEWAY) #endif // !!! Remember that your changes GOES AT THE BOTTOM OF THIS FILE right before the last #endif !!! */ #ifndef USE_A4988_STEPPER #define USE_A4988_STEPPER // A4988/DRV8825 stepper motor (+10k5 code) #endif #endif // _USER_CONFIG_OVERRIDE_H_
-
@raspiuser
Das ist recht einfach, denn alles was in der Userconfig drin steht wird von dem was in der userconfig_override drin steht überschrieben. Somit ist es sehr sinnvoll alles in der override mit rei n zu nehmen, was man haben möchte und da gehört WiFi und MQTT auf alle Fälle schon mal dazu. Schau Dir meine override an und pack einfach das was Du willst dazu. Diese Datei kannst dann einfach in den Tasmota Ordner kopieren und das was rein soll die // am Anfang weg, schon kommt das gewünschte bin raus. -
@jan1 said in Tasmota Custom Firmware:
meine override
... also deine "override" bringt bei meinem kompilieren eine Fehlermeldung.
Ich fange jetzt mal gaaaaanz langsam gaaanz frisch an und bringe alle Infos von hier unter und dann schaun'mer mal ...
-
@raspiuser
weil die WiFi und MQTT sowie GEO Daten nicht drin stehen (wahrscheinlich). Die kopiere ich so wie sie ist (mit meinen Daten) in den Tasmota Ordner und wenn Fehler kommen, wird in der Regel die Zeile, die nicht stimmt angegeben, zumindest macht VSCode das so. -
@jan1 Ich war kürzlich bei einem Bekannten der gerade erst mit Tasmota angefangen hat. Der hatte eine FW drauf die sagenhafte 740 kB groß war.
Wie gesagt, wenn der Ursprung vermurkst ist musst du halt über die Minimal gehen wenn du das Teil nicht wieder ausbauen willst.
Wenn es offen rumliegt macht das klar keinen Sinn.@raspiuser Du musst, um die auch wirklich klein zu bekommen alles auskommentieren das in der myuserconfig.h schon drin ist.
Also beispielsweise
in der myuserconfig.h steht:#define USE_SONOFF_RF // Add support for Sonoff Rf Bridge (+3k2 code)
dann muss in deine userconfig_override
#ifdef USE_SONOFF_RF #undef USE_SONOFF_RF #endif
Und das im Grunde für alles was schon vorkonfiguriert ist. Dann bekommst du die Firmware gaaaanz klein.
-
@chaot said in Tasmota Custom Firmware:
alles auskommentieren das in der myuserconfig.h schon drin ist.
... genau da bin ich jetzt am ausprobieren ... Ist irre, was man da alles machen kann !
So ganz habe ich aber den Zusammenhang zwischen "my_user_config.h" und der Datei "User_config_override.h" noch nicht verstanden ...
-
@raspiuser
die My_userconfig.h ist die grundsätzliche Einstelldatei mit der das Teil ohne Änderung auch schon läuft.
Früher wurde alles was man ändern wollte auch dort geschrieben.
Irgendwann wurde dann die UserConfigOverride eingeführt die dazu dient das der User diese Änderungen nur noch einmal machen muss und das dann in jede Firmwareversion einfach reinkopieren kann.
Also bei der nächsten Firmwareversion nimmst du einfach deine jetzt erstellte Override, kopierst die in den neuen Ordner und kompilierst die einfach neu. Schon hast du alle Einstellungen in der neuen Firmware mit ein paar Mausklicks. -
@chaot
Du liegst nicht ganz richtig, wobei man das so auch machen kann wenn man ne kleine bin möchte.
Meine override ist ja recht groß weil ich eben nicht in der conig alles raus nehme was nicht rein soll, sondern in der override das erledige. Das ist der Grund warum man ich da so viel drin habe.ist eine override vorhanden, wird diese der config vorgezogen, ohne override wird das kompiliert was in der conifig drin ist. Der Vorteil bei der override ist eben, dass man die von einer Tasmota zur anderen einfach kopieren kann ohne immer wieder das selbe einfügen zu müssen und da beziehe ich mich in erster Linie auf die User Daten für WiFi usw.
-
@jan1 said in Tasmota Custom Firmware:
ist eine override vorhanden, wird diese der config vorgezogen, ohne override wird das kompiliert was in der conifig drin
OK, aber ....
Wenn in der "user_config_override.h" nur "...A4988 ... " drin steht (zzgl. das was in "...sample ..." drin ist) und diese dann die Informationen aus der "my_user_config.h" überschreibt warum muss ich dann in der "my_user_config.h" noch etwas auskommentieren ?!
-
@raspiuser
in der my_user_config.h muss das raus, was Du in der override nicht auskommentierst. der Grund warum ich in der override so viel drin habe und alles auskommentiert
So kann ich sehr einfach eben nur das einkommentieren was ich wirklich brauche. Ich habe am Anfang auch etwas auf dem Schlauch gestanden weil ich den Vorteil nicht wie Du auch, nicht kapiert hatte. -
@jan1 sagte in Tasmota Custom Firmware:
Du liegst nicht ganz richtig, wobei man das so auch machen kann wenn man ne kleine bin möchte.
Meine override ist ja recht groß weil ich eben nicht in der conig alles raus nehme was nicht rein soll, sondern in der override das erledige.Na, das meinte ich ja auch.
Alles in der Override generell auskommentieren was als Standard in der myuserconfig drin ist.
Gemein ist aber, das die Entwickler in der myuserconfig bei fast jedem Change irgendwas standardmäßig reinschreiben und aktivieren was dann entsprechend jedes mal wieder auskommentiert werden muss.
Deshalb sollte der Blick in die muserconfig immer mal gemacht werden. Die notwendigen Änderungen aber dann logischerweise nur in der Override eintragen.
Das ist ja auch das was du in deiner Override Datei machst.@raspiuser: Was im "sample" drin steht kannst du schlicht vergessen.
Die Override von Jan1 ist schon recht gut. Hier musst du eigentlich nur deine persönlichen Sachen im oberen Bereich eingeben (Wifi usw. was im Abschnitt "persönliches" steht) und dann sollte das funktionieren. Eventuell solltest du noch das Modul definieren oder aus kommentieren damit Standard Sonoff gewählt wird.
Unten im Abschnitt "optional" packst du dann deine zwei Zeilen mit dem A4988 rein und das wars dann. -
@jan1 said in Tasmota Custom Firmware:
@raspiuser
in der my_user_config.h muss das raus, was Du in der override nicht auskommentierst. der Grund warum ich in der override so viel drin habe und alles auskommentiertIch tue mich gerade etwas schwer mit den Begriffen ...
Ich formuliere es mal anders: Ich ändere / editiere (erstmal) in der "my_user_config.h" REIN GARNICHTS sondern schreibe in die "user_config_override.h" das rein was ich nicht brauche, d.h. dann "aus kommentieren" (mit z.B. #ifdef USE_SONOFF_RF , #undef USE_SONOFF_RF, #endif,), richtig ?
Und das gilt dann nur für die Zeilen, die nicht mit "//" beginnen, da das ja eh "nur" Kommentar ist solang die "//" davor stehen, auch richtig ?(Jetzt hoffe ich mal, dass ich mich nicht total blamiert habe ...)