übrigens in der alpha von core3 ist der Fehler schon behoben
Beiträge von gemu2015
-
-
leider immer noch kein update. wir warten auf core 2.15
-
die subroutine #monthsub funktioniert nur wenn zuvor mindesten ein GC chart definiert wurde.
GC lädt nämlich die google charts library , die jetzt fehlt.
du kannst in der monthsub die library laden, dann funktioniert es.
versuchs mal damit
-
-
es gibt 2 Möglichkeiten:
1. verwende für SML Softwareserial. Dazu musst du den #define wie Oben nehmen und dann den Pin als negative Zahl definieren:
2. du kannst SML sagen welches Uart der Treiber verwenden soll (0,1,2), ansonsten würden beide Treiber Uart 2 nehmen
so nimmt SML Uart 1 und Zigbee Uart 2
-
nein, einfach die Zeile dazwischen kopieren
Code
Alles anzeigen>M 1 +1,3,o,16,2400,LGUH50,1 1,=so2,0 1,6.8(@1,Zählerstand,MWh,kwh_count,3 1,6.8*01(@1,Zählerstand_year,MWh,kwh_count_year,3 1,6.6(@1,maximale Heizleistung,kWh,heizleistung_max,1 1,6.26(@1,Durchlauf,m³,m3_count,2 1,6.26*01(@1,Durchlauf_year,m³,m3_count_year,2 1,9.24(@1,unknown,m³h,unknown,1 1,6.33(@1,maximaler Durchlauf,m³h,durchlauf_max,3 1,9.4(@1,maximale VR Temp,C,lauf_max,1 1,9.31(@1,Fließdauer,h,flow_count,0 #
-
Dein Zähler gibt zwar Obis Codes aus, hat aber kein LF am Ende jeden Codes.
Das kann nur mit "Pattern Compare shift mode" dekodiert werden und nicht im "Line Mode".
Line Mode ist aber default. Du musst also auf Pattern Compare umschalten.
Dazu diese Zeile in den Deskriptor einfügen:
1,=so2,0
-
ja sicher, ist jetzt drin.
-
-
Also bei allen ESP32 kann man die meisten Funktionen auf beliebige Pins umschalten. Pin20/21 ist halt der default für RX/TX kann aber beliebig umdefiniert werden.
du must dir das Datenblatt für die CPU selbst ansehen, dort sind alle Funktionen verzeichnet.
aber jetzt die gute Nachricht. Habe einen Workaround für software serial gefunden, der erst mal funktioniert bei nicht so hohen Baudraten, also bis 9600 oder so.
es kann sein dass es gelegentlich Lesefehler gibt, aber das kann man mit dem Medianfilter ausgleichen.
du kannst dir meinen Fork herunterladen, oder die SML Datei hier im Anhang in dein Tasmota kopieren.
-
hier ist ein Beispielscript für einen SMA Wechselrichter über Modbus TCP.
du brauchst eine Firmware in der auch der SML Treiber enthalten ist.
hier geht die Verbindung über IP 192.168.56.91 und Port 502
du must jetzt nur die Modbus Register von SMA durch Huawei ersetzen.
Code
Alles anzeigen>D >B =>sensor53 r >M1 +1,[192.168.56.91],m,0,502,SMA,0,10,03047741,03047747,03047777,03047831,03047833,03047835,030478ED,030478EF,030478F1,03047893,030478E9,0304787D,03047881,r03047AA50004,r03047AA90004 1,030404U32@i0:1000,Gesamtertrag,kWh,v1,3 1,030404U32@i1:1000,Tagesertrag,kWh,v2,3 1,030404U32@i2:1000,Einspeisung_ges,kWh,v3,3 1,030404S32@i3:100,DC Str. A,A,v4,2 1,030404S32@i4:100,DC Sp. A,V,v5,2 1,030404S32@i5:100,DC Le. A,W,v6,2 1,030404S32@i6:100,DC Str. B,A,v7,2 1,030404S32@i7:100,DC Sp. B,V,v8,2 1,030404S32@i8:100,DC Le. B,W,v9,2 ; 1,030404S32@i9:100,AC Le.,W,v10,2 ; 1,030404S32@i10:10,WR_Temp,°C,v11,2 ; 1,030404U32@i11:1,Batterieladung,%%,v12,0 1,030404S32@i12:10,Batt_Temp,°C,v13,2 ; 1,030408U64@i13:1000,Batt_Ladung,kWh,v14,3 1,030408U64@i14:1000,Batt_EntLadung,kWh,v15,3 #
-
hier noch mal eine Zusammenstellung was mit welcher CPU geht:
ESP8266:
UARTS: 1
Software serial: ca 3
also max: 4 serielle Meter
ESP32, ESP32-S3
UARTS: 3
Software serial: 4, allerdings nur empfangen, also RX, kein TX
also bis zu 7 serielle Meter
ESP32-S2
UARTS: 2
Software serial: 4 (nicht getestet, sollte aber wohl gehen)
also max 6 serielle Meter
UARTS: 2
Software serial: 0
also max 2 serielle Meter
durch einen Bug im Core kann man bei allen ESP32 zur Zeit nur jeweils 1 UART weniger nutzen.
das soll aber bald behoben werden.
Meter mit counter, sowie TCP meter können zusätzlich definiert werden
-
leider wieder schlechte Nachrichten wegen Softwareserial.
Das ist auch ein Fehler im core der seit Ende 2022 gemeldet wurde und immer noch nicht behoben ist. die machen auch keinerlei Anstalten das zu beheben. (die Funktion ESP.getCycleCount liefert falsche Werte, die wird unbedingt gebraucht für das Timing von Softwareserial)
damit geht es prinzipiell nicht mit 3 Metern auf dem C3.
der core Fehler mit den Hardware UARTS ist in Arbeit und soll in Kürze behoben sein.
-
es macht keinen Sinn die letzen Releases von Tasmota zu nehmen. der Fehler im core ist noch nicht behoben.
habe auch festgestellt dass beim C3 Softwareserial nicht funktioniert. Werde das untersuchen.
melde mich wieder
-
sicher geht das, gibt ein Beispiel für SMA Wechselrichter in den Tasmota SML docs
-
Das Problem ist ein bug im core, ist erkannt und in Arbeit bei den Entwicklern des Arduino Core. (in 2.0.12 ging es noch)
-
eigentlich hat der C3 2 Hardware uarts. Theo Arends hat aber da neulich was geändert. Auch beim ESP32 gehen jetzt nur noch 2 von früher 3 uarts
muss noch herausfinden was er da gemacht hat.
du kannst aber bis zu 4 Software Serielle Schnittstellen dazu nehmen.
#define USE_ESP32_SW_SERIAL
die Pins werden dann mit einem Minuszeichen gekennzeichnet
also z.B.
+1,3,s,0,9600,Haus
+2,-4,s,0,9600,H
-
es gibt Datumsmathematik: (#define USE_FEXTRACT)
cts(tstamp flg) convert timestamp to German locale format back and forth flg=0 to webformat, 1 to German format
tso(tstamp day flag) add time offset in days to timestamp optional flg = char 0 zo zero time HH:MM:SS
tsn(tstamp) convert timestamp to seconds
s2t(seconds) convert seconds to Tasmota timestamp
-
du must
#define USE_SML_SCRIPT_CMD
einbauen
-
ist hier besprochen:
ESP32 CAM save to sdcard · arendst Tasmota · Discussion #16074I have flashed my esp32cam with tasmota successfully. How can I set up tasmota to capture and save it to sdcard on esp32 cam, is there any chance to do that in…github.comdas Versenden von Bildern per email geht aber nur bis Tasmota 12.5