Skip to content

Commit 83ef7d0

Browse files
committed
Tasmota V15.0.1 - Ecotracker / Shelly Pro 3EM Emulation
- Tasmota 15.0.1 - Ecotracker und Shelly Pro 3EM Emulation für z.B. Marstek Venus E (noch nicht final). Testscript siehe (https://github.com/ottelo9/tasmota-sml-script) - neuste Scripter (https://github.com/gemu2015/Sonoff-Tasmota/commits/universal/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino) vom 20.7.25 notwendig für Shelly Emu - #define USE_ANGLE_FUNC - #define USE_SML_CRC - #define SCRIPT_MAXSSIZE 255
1 parent c22dedb commit 83ef7d0

File tree

3 files changed

+648
-152
lines changed

3 files changed

+648
-152
lines changed

platformio_tasmota_cenv.ini

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,19 @@ lib_ignore = ; Folgende Libs werden für mein Build nicht benöti
121121
extends = env:tasmota32_base
122122
build_flags = ${env:tasmota_ottelo_base.build_flags}
123123
-DTASMOTA32_OTTELO
124-
-DCODE_IMAGE_STR='"ESP32 ottelo.jimdo.de"'
124+
-DCODE_IMAGE_STR='"ESP32+Berry ottelo.jimdo.de"'
125125
lib_extra_dirs = ${env:tasmota_ottelo_base.lib_extra_dirs}
126126
lib_ignore = ${env:tasmota_ottelo_base.lib_ignore}
127127

128+
[env:tasmota32berry_ottelo]
129+
extends = env:tasmota32_base
130+
build_flags = ${env:tasmota32_base.build_flags}
131+
-DTASMOTA32_BERRY_OTTELO
132+
-DCODE_IMAGE_STR='"ESP32-Berry ottelo.jimdo.de"'
133+
-DOTA_URL='"KEIN OTA UPGRADE VIA WEBSERVER!"'
134+
lib_extra_dirs = ${env:tasmota32_base.lib_extra_dirs}
135+
lib_ignore = ${env:tasmota32_base.lib_ignore}
136+
128137
[env:tasmota32c3_ottelo]
129138
extends = env:tasmota32_base
130139
board = esp32c3
@@ -186,21 +195,21 @@ lib_ignore = ${env:tasmota_ottelo_base.lib_ignore}
186195
; ESP8266
187196
; -----------------------------------------------------------------------------------
188197

189-
[env:tasmota_ottelo]
198+
[env:tasmota1m_ottelo]
190199
extends = env:tasmota
191200
build_flags = ${env.build_flags}
192-
-DTASMOTA_OTTELO
201+
-DTASMOTA1M_OTTELO
193202
-DOTA_URL='"KEIN OTA UPGRADE VIA WEBSERVER!"'
194203
-DCODE_IMAGE_STR='"ESP8266-1M ottelo.jimdo.de"'
195204
build_unflags = ${env.build_unflags}
196205
lib_ignore = ${env:tasmota_ottelo_base.lib_ignore}
197206

198-
[env:tasmota_energy_ottelo]
207+
[env:tasmota1m_energy_ottelo]
199208
extends = env:tasmota
200209
build_flags = ${env.build_flags}
201-
-DTASMOTA_ENERGY_OTTELO
210+
-DTASMOTA1M_ENERGY_OTTELO
202211
-DOTA_URL='"KEIN OTA UPGRADE VIA WEBSERVER!"'
203-
-DCODE_IMAGE_STR='"ESP8266-1M (+Energie) ottelo.jimdo.de"'
212+
-DCODE_IMAGE_STR='"ESP8266-1M En ottelo.jimdo.de"'
204213
build_unflags = ${env.build_unflags}
205214
lib_ignore = ${env:tasmota_ottelo_base.lib_ignore}
206215

user_config_override.h

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@
5757
* Mehr Infos bzgl. ESP32 Versionen: https://tasmota.github.io/docs/ESP32/#esp32_1
5858
*
5959
* ESP8266:
60-
* platformio run -e tasmota_ottelo ( = 1M Flash)
61-
* platformio run -e tasmota_energy_ottelo ( = 1M Flash, Update nur über minimal da Img zu groß. für SonOff POW (R2) / Gosund EP2 SonOff Dual R3 v2)
62-
* platformio run -e tasmota4m_ottelo (>= 4M Flash)
60+
* platformio run -e tasmota1m_ottelo ( = 1M Flash)
61+
* platformio run -e tasmota1m_energy_ottelo ( = 1M Flash, Update nur über minimal da Img zu groß. für SonOff POW (R2) / Gosund EP2 SonOff Dual R3 v2)
62+
* platformio run -e tasmota4m_ottelo (>= 4M Flash)
6363
*
6464
* für weitere ESPs siehe: https://github.com/arendst/Tasmota/blob/development/platformio_override_sample.ini bei default_envs
6565
\*****************************************************************************************************/
6666

6767
//siehe platformio_tasmota_cenv.ini
68-
#if ( defined(TASMOTA32_OTTELO) || defined(TASMOTA32C3_OTTELO) || defined(TASMOTA32C6_OTTELO) || defined(TASMOTA32S2_OTTELO) || defined(TASMOTA32S3_OTTELO) || defined(TASMOTA32SOLO1_OTTELO) || \
69-
defined(TASMOTA_OTTELO) || defined(TASMOTA_ENERGY_OTTELO) || defined(TASMOTA4M_OTTELO) )
68+
#if ( defined(TASMOTA32_OTTELO) || defined(TASMOTA32C3_OTTELO) || defined(TASMOTA32C6_OTTELO) || defined(TASMOTA32S2_OTTELO) || defined(TASMOTA32S3_OTTELO) || defined(TASMOTA32SOLO1_OTTELO) || \
69+
defined(TASMOTA1M_OTTELO) || defined(TASMOTA1M_ENERGY_OTTELO) || defined(TASMOTA4M_OTTELO) || defined(TASMOTA32_BERRY_OTTELO) )
7070

7171
// (1) Folgende unnötige Features (siehe my_user_config.h) habe ich deaktiviert, um Tasmota schlank zu halten. Der ESP8266 z.B. hat wenig RAM,
7272
// dort müssen mindestens 12k RAM für einen stabilen Betrieb frei sein (inkl. Script).
@@ -82,7 +82,10 @@
8282
#undef USE_SONOFF_IFAN
8383
#undef USE_BUZZER
8484
#undef USE_ARILUX_RF
85-
//#undef USE_DEEPSLEEP
85+
#if ( !defined(TASMOTA1M_OTTELO) && !defined(TASMOTA1M_ENERGY_OTTELO) )
86+
#define USE_DEEPSLEEP //1KB
87+
#endif
88+
#undef USE_DEEPSLEEP
8689
#undef USE_SHUTTER
8790
#undef USE_EXS_DIMMER
8891
#undef USE_DEVICE_GROUPS
@@ -108,7 +111,7 @@
108111
#undef USE_SERIAL_BRIDGE //https://tasmota.github.io/docs/Serial-to-TCP-Bridge/#serial-to-tcp-bridge
109112
#undef USE_ENERGY_DUMMY
110113

111-
#if defined(TASMOTA_OTTELO)
114+
#if defined(TASMOTA1M_OTTELO)
112115
#undef USE_I2C // I2C ist für die nachfolgenden Treiber erforderlich.
113116
#undef USE_ENERGY_SENSOR // Ist für die nachfolgenden Treiber erforderlich.
114117
#undef USE_HLW8012 // SonOff POW / Gosund EP2 (ESP8266)
@@ -126,7 +129,9 @@
126129
#undef USE_GPIO_VIEWER
127130
#undef USE_ADC
128131
#undef USE_NETWORK_LIGHT_SCHEMES
129-
#undef USE_BERRY //https://tasmota.github.io/docs/Berry/
132+
#if !defined(TASMOTA32_BERRY_OTTELO)
133+
#undef USE_BERRY //https://tasmota.github.io/docs/Berry/
134+
#endif
130135
#undef USE_AUTOCONF //https://tasmota.github.io/docs/ESP32/#autoconf
131136
#undef USE_CSE7761
132137
//----------------------------------------------------------------------------
@@ -143,17 +148,21 @@
143148
#undef SET_ESP32_STACK_SIZE
144149
#define SET_ESP32_STACK_SIZE (12 * 1024)
145150

146-
//-- Optional: Für mein SML Simulator Script (max String Länge = 128). Im Script >D 128
151+
//-- Optional: Für mein SML Simulator Script + shellypro3em emulieren (z.B. für Marstek Venus E >D 250). Im Script z.B. mit >D x final festlegen
147152
#undef SCRIPT_MAXSSIZE
148-
#define SCRIPT_MAXSSIZE 128
153+
#if ( defined(TASMOTA1M_OTTELO) || defined(TASMOTA4M_OTTELO) || defined(TASMOTA1M_ENERGY_OTTELO) )
154+
#define SCRIPT_MAXSSIZE 128
155+
#else
156+
#define SCRIPT_MAXSSIZE 255
157+
#endif
149158

150159
//-- enables to use 4096 in stead of 256 bytes buffer for variable names
151160
#define SCRIPT_LARGE_VNBUFF
152161

153162

154163
//-- Skriptgröße (max Anzahl an Zeichen) https://tasmota.github.io/docs/Scripting-Language/#script-buffer-size
155164
//-- ESP8266 1M Flash
156-
#if ( defined(TASMOTA_OTTELO) || defined(TASMOTA_ENERGY_OTTELO) )
165+
#if ( defined(TASMOTA1M_OTTELO) || defined(TASMOTA1M_ENERGY_OTTELO) )
157166
#define USE_EEPROM
158167
#undef EEP_SCRIPT_SIZE
159168
#define EEP_SCRIPT_SIZE 8192
@@ -175,10 +184,14 @@
175184
//-- SML, Script und Google Chart Support
176185
#define USE_SCRIPT //(+36k code, +1k mem)
177186
#define USE_SML_M
187+
#define USE_SML_CRC //enables CRC support for binary SML. Must still be enabled via line like "1,=soC,1024,15". https://tasmota.github.io/docs/Smart-Meter-Interface/#special-commands
178188
#undef USE_RULES //USE_SCRIPT & USE_RULES can't both be used at the same time
179189
#define USE_GOOGLE_CHARTS
180190
#define LARGE_ARRAYS
181191
#define USE_SCRIPT_WEB_DISPLAY
192+
#if ( !defined(TASMOTA1M_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA1M_ENERGY_OTTELO) )
193+
#define USE_ANGLE_FUNC //~2KB
194+
#endif
182195

183196
//-- enables authentication, this is not needed by most energy meters. M,=so5
184197
#define USE_SML_AUTHKEY
@@ -188,13 +201,12 @@
188201
#define USE_HOME_ASSISTANT //(+12k code, +6 bytes mem)
189202

190203
//-- Software Serial für ESP32 (nur RX), Pin mit dem Zeichen '-' in der SML Sektion definieren (bei mehr als 2/3-Leseköpfen, je nach ESP32 Variante)
191-
#if ( !defined(TASMOTA_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA_ENERGY_OTTELO) )
204+
//-- Optional: Serielle Schnittstelle (RX/TX RS232) im Script verwenden
205+
#if ( !defined(TASMOTA1M_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA1M_ENERGY_OTTELO) )
192206
#define USE_ESP32_SW_SERIAL
207+
#define USE_SCRIPT_SERIAL //3KB
193208
#endif
194209

195-
//-- Optional: Serielle Schnittstelle (RX/TX RS232) im Script verwenden
196-
#define USE_SCRIPT_SERIAL
197-
198210
//-- Optional: ESP32 WT32_ETH01 (Ethernet LAN Modul)
199211
#if ( defined(TASMOTA32_OTTELO) || defined(TASMOTA32SOLO1_OTTELO) || defined(TASMOTA32S3_OTTELO) )
200212
#define USE_ETHERNET // Add support for ethernet (+20k code)
@@ -205,24 +217,21 @@
205217
#endif
206218

207219
//-- Optional: TCP-Server Script Support
208-
#if ( !defined(TASMOTA_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA_ENERGY_OTTELO) )
220+
#if ( !defined(TASMOTA1M_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA1M_ENERGY_OTTELO) )
209221
#define USE_SCRIPT_TCP_SERVER
210222
#define USE_SCRIPT_TASK
211223
#endif
212224

213-
//-- Optional: Optionale SML Features deaktivieren
214-
//#define NO_USE_SML_SPECOPT
215-
//#define NO_USE_SML_SCRIPT_CMD
216-
//#define NO_SML_REPLACE_VARS
217-
//#define NO_USE_SML_DECRYPT
218-
//#define NO_USE_SML_TCP
219-
//#define NO_USE_SML_CANBUS
225+
//-- Optional: shellypro3em emulieren (z.B. für Marstek Venus E)
226+
#if ( !defined(TASMOTA1M_OTTELO) && !defined(TASMOTA4M_OTTELO) && !defined(TASMOTA1M_ENERGY_OTTELO) )
227+
#define USE_SCRIPT_MDNS //14KB
228+
#endif
220229

221-
//-- Optional: Verwende globale Variablen im Script
222-
#define USE_SCRIPT_GLOBVARS
230+
//-- Optional: globale Variablen im Script + shellypro3em emulieren (z.B. für Marstek Venus E)
231+
#define USE_SCRIPT_GLOBVARS //2KB
223232

224233
//-- Optional: >J Sektion aktivieren https://tasmota.github.io/docs/Scripting-Language/#j
225-
#define USE_SCRIPT_JSON_EXPORT
234+
#define USE_SCRIPT_JSON_EXPORT //0KB
226235

227236
#endif // TASMOTA32 OTTELO
228237

0 commit comments

Comments
 (0)