NEWS
Erfahrungen Huawei R4850G2 + Esp-HuaweiR4850-Controller?
-
teste gerade mit Mean Well NPB Can rum,
hier sollte bei Wertänderung in der WebUi der Wert gesendet werden,
if chg[ovolt]>0 { ; change voltage 41.5 - 58.5 cstr="908180FE0801000000"+hx(ovolt*1024) sml(1 3 cstr) }
-
@ralla66 Das Tasmotaskript könnt wohl doch steuern,
die letzten beiden Zeilen könnten dafür sein.
Aber wie wird der CANBus angebunden ...Ja, stimmt, der Part könnte dafür sein
-
@bananajoe sagte in Erfahrungen Huawei R4850G2 + Esp-HuaweiR4850-Controller?:
Aber bisher nur über ein DropDown-Menü
Wäre ja kein Problem das Scripting umzustellen.
Per Webquery holste das JSON vom Shelly ab, extrahierst den Bezugwert, sendest dann alle
5 sec per upsec den neuen Wert.Esp32 daran ein Waveshare SN65HVD230 CAN Transceiver Board 3.3V
define :
#define USE_SML_CANBUS
#define USE_SML_SCRIPT_CMD
#define USE_SML_M
#define USE_WEBSEND_RESPONSE
#define USE_SCRIPT_STATUS
#define USE_SCRIPT_FULL_JSON_PARSER
#define USE_SCRIPT_JSON_EXPORT
#define SUPPORT_MQTT_EVENT
#define USE_SCRIPT_WEB_DISPLAYRx Can an Rx, Tx Can an Tx, keine Terminierung bei mir.
-
Bild dazu :
kein MCP2515 , das macht der ESP32 intern !
Nachtrag bevor ich das vergesse,
in den Dump Modus kommst du mit Sensor53 d1, dann bekommst du eingehende Daten
von RX angezeigt. Dann werden aber keine Daten in der WebUI angezeigt.
Dump aus mit Sensor53 d0.
Telemetrie ist bei mir 10Dieser hier :
-
Register Bescheibung unter Setting Values, dem entnehme ich das Voltage und Current gesetzt
werden können und in welcher Scale.
(https://www.beyondlogic.org/review-huawei-r4850g2-power-supply-53-5vdc-3kw/) -
@ralla66 sagte in Erfahrungen Huawei R4850G2 + Esp-HuaweiR4850-Controller?:
Waveshare SN65HVD230
So, 2 Waveshare CANBus Adaper bestellt.
Welchen ESP32 nutzt du? Ich mache sonst alles mit ESP8266 (als Wemos D1 Mini), bei den bisher gekauften ESP32 klappte es nicht immer wie geplant (der Wemos D1 als ESP32 war schon mal ein Flopp für mich).Ich würde mir wohl noch ein Huawei Netzteil holen zum probieren, wollte eh ein 3. haben, als Ersatz bzw. um Reserven beim Laden zu haben.
-
ESP Chip ID 14680832 (ESP32-D0WD-V3 v3.0)
Flash Chip ID 0x16405E (DIO)
Größe Flash-Chip 4096 KB
Flash nutzbar 4096 KB
Programmgröße 1394 KB
Flash frei 1485 KB
Freier Arbeitsspeicher 149,7 KB (frag․ 29%)Normales Developer Board
könntest ja mal probieren deinen Zählerwert vom Shelly zu holen.
Den brauchst du ja. Beispiel kann ich dir nur vom Tasmota Esp IR Lesekopf geben.
Habe leider keine Shelly hier. -
@ralla66 ich habe einen "Hichi" mit Tasmota, die Werte habe ich schon alle (und nutze die ja bereits):
In SML Skript habe ich unten ein=>Publish Soyosource/SOYO_1ce2fb/L1L2L3 %sml[8]%
Was mir den 8. Wert aus dem Skript:
1,77070100100700ff@1,Leistung_Summe,W,Watt_Summe,2
also die aktuelle Leistung, plus oder minus, bei jeder Änderung an MQTT sendet, also etwa jede Sekunde.
Den 3EM habe ich auch noch, aus Zeiten wo ich noch einen Ferraris-Zähler hatte, nutze den aber sonst eigentlich gar nicht mehr (ist halt noch eingebaut) -
schau mal mit einem anderen ESP ob du das Json abholen kannst.
Deine IP ist ja klar.
Damit hole ich das JSON ab :
=>websend [192.168.2.28] /cm?cmnd=status 10
denn Wert herausfiltern mit
Wert=WebQuery#StatusSNS#MT175#Bezug_AktuellBsp von mir:
mein Json vom Zähler
10:30:19.580 SCR: performs "websend [192.168.2.28] /cm?cmnd=status 10" 10:30:19.986 MQT: stat/tasmota_36B12E/RESULT = {"WebQuery":{"StatusSNS":{"Time":"2024-06-30T09:30:21","MT175":{"Geräte_ID":"","Seriennummer":"","Verbrauch_Gesamt":39264,"Bezug_Tarif_1":39263.611,"Bezug_Tarif_2":0,"Netzeinspeisung":0,"Lieferung_Tarif_1":0,"Lieferung_Tarif_2":0,"Bezug_aktuell":12,"Phase_L1":18,"Phase_L2":-76,"Phase_L3":69}}}}
scripting
>D Timer=0 Wert=0 >S Timer+=1 if Timer>10 then =>websend [192.168.2.28] /cm?cmnd=status 10 Timer=0 endif >E ; Executed when a Tasmota MQTT RESULT Wert=WebQuery#StatusSNS#MT175#Bezug_Aktuell >W Zähler Bezug Watt{m} %Wert% W #
Zähler Wert
-
So, hab mir mal diese hier bestellt:
https://www.amazon.de/gp/product/B0CQSXW4QG -
habe diese nachgeordert :
Meanwell Projekt geht auch weiter, lesen, Datenabholen geht, jetzt noch den
Zählerwert übergeben. -
Ich schaue mal wie weit ich komme. Wenn ich per ESP32 dann - über Netzwerk - am Huawei die Spannung / Strom eingestellt bekomme wäre ich schon zufrieden.
Mit "über Netzwerk" wäre mir dann am liebsten MQTT, also das setzen.
Alternativ oder als Schritt 2 dann Auswerten dann direkt auf dem ESP.MQTT ist für mich der Vorteil das es keine Probleme wie mit dem WebRequest gibt. Der eine sendet an MQTT, der andere hat es abonniert. Ich setzte die aktuellen leistungswerte im Moment per
httpGET
und es ist immer großer Drama im Log wenn da mal was neu gestartet wird.Nebenbei habe ich ein Skript in ioBroker angefangen wo ich die Steuerung darüber machen, der KlausLi/Esp-HuaweiR4850-Controller also zum Befehlsempfänger degradiert wird.
Schade ist das er so ein Geheimnis aus seiner Firmware macht und auch keine Issues etc. zulässt, die Probleme ließen sich sicherlich leicht in seiner Software beheben/verbessern.
-
@bananajoe sagte in Erfahrungen Huawei R4850G2 + Esp-HuaweiR4850-Controller?:
wäre mir dann am liebsten MQTT
im Scripting kann ja ein publish / subscribe hinzu gefügt werden.
Beim Mean Well ist das ja ähnlich, Firmware bleibt verschlossen und 80 Ocken für einen Can Stick
nicht gerade billig.
Es sollte ja mit unserem Schwarmwissen möglich sein das selbst zu bauen.
Esp mit Tasmota flashen, IP anpassen, Json parsen, fettich ................
Habs ja fast , ganz nah dran .............................................. -
zur Info,
Mqtt publish geht -
@ralla66 Ich freue mich schon auf eine Projektvorstellung von dir wenn es fertig läuft
-
-
kurzer Hinweis noch,
das Script vom Forum :
M 1
; Huawei R4850G2
+1,12,C,0,3203,CAN,13,10,908040FE080000000000000000RX ist Pin 12
TX ist Pin 13Nachtrag :
jetzt noch Ampere Set auf den CanBus bringen
-
@bananajoe Hmmm... 90°C bei 2700W hört sich ähnlich an wie bei mir, 100°C bei 3000W. Kannst Du mal zwei Kühler auf einem Huawei setzen? Ich weiss nicht wie viele Temperatursensoren sich hinter T_out verstecken und wo sie platziert sind. Wenn nur eine Seite gekühlt wird ist vielleicht nicht ausreichend. Beide Seiten in "Puste"Modus wäre die beste Kühlung die man da hinbekommt...
Es ist mir immer noch einen Rätsel warum er nicht throttelt wenn er über 75°C ist... meinst Du thermal throttling ist nur von T_in abhängig und unabhängig von T_out?
-
@europe Tja, Kühlkörper sind in meinem Halterungsdesign ja nicht vorgesehen.
Muss mal schauen ob es Magnet-Thermo-Pads gibt (wobei Wärme und Magneten ja eigentlich nicht zusammenpassen). Oder ich muss es als Klammer bauen. -
@europe und noch mal ich. Bei 2.200W sieht es ja Problemlos aus. Muss man halt ein Netzteil mehr nehmen. Ist wahrscheinlich die einfachere Lösung.
Alternativ müsste man sich mal so ein Gehäuse anschauen wo die Netzteile normalerweise drin sitzen...gefunden, z.B. diese 19" Gehäuse:
Wenn da 2 nebeneinander sitzen ... also die verlassen sich auch voll und ganz auf den internen Lüfter der Netzteile. Man sieht die Rückseite nicht, ich vermute aber da ist nur ein LüftungsgitterMein 2. Netzteil wird auch nur so warm weil es im Luftstrom des 1. sitzt. Ich müsste die Platte mal verlängern bzw. die Platzierung ändern. Ich habe es - zwanghaft - so platziert das ich die Netzteile noch rausziehen kann. Wenn ich das Frontteil ändere so das man es nach oben öffnen kann, brauch ich seitlich nur noch so 4 bis 5 cm.
Edit 1: Die Gehäuse gibt es in Fernost um die 160 Dollar: https://www.alibaba.com/showroom/r4850g2.html
Edit 2: gibt es auch als Doppelgehäuse:
Aber da wird keine extra Kühlung drin sein (klar, das Gehäuse nimmt es besser auf, aber 2 Stück Seite an Seite bzw. drüber und drunter)