NEWS
Deye Wechselrichter Modbus Register beschreiben
Deye Wechselrichter Modbus Register beschreiben
-
Hi, hab eure ganzen Beiträge gelesen und bin was diese Werte hier betrifft nicht schlauer geworde. Vielleicht kann jemand helfen.
Kann jemand hier die verschiedenen "Power" Werte anhand einer Zeichnung beschreiben? (ohne ist auch okay)
Mir ist nicht ganz klar an welcher Stelle im Wechselrichter das gemessen wird.
Eins davon werden wohl die Klammern sein die ich im Schaltschrank habe.
Eins davon die Energie die vom Wechselrichter von Richtung DC erzeugt wird.
Aber was ist mit den Anderen?Ich hab in den Registern folgende gefunden:
register 604+605+606 A,B,C phase power on the inner side of the grid
register 616+617+618 Out of grid power
register 625 Grid output total
register 633+634+635 Inverter output phase power
register 640+641+642 UPS Load side phase power ABC
register 650+651+652 Load phase power ABC
register 656+657+658 Load phase power ABC das gehört wohl zu 650... dazuVielen Dank im vorraus
-
Inzwischen habe ich meinen Anschluss noch aufgeräumt.
Vom BMS Port mit einem Adapter auf Schraubpins. Daran sind dann nur die Leitungen zum BMS und zum Modbus Adapter angeschlossen. 12Volt kommt direkt vom Inverter:

Die Stromversorgung werde ich noch auf extern ändern, damit ich den WR auch per Modbus an und ausschalten kann.
Hier meine Iobroker Einstellunge:


Hier die vom Elfin:

Und hier noch Bsp für die Register:

-
Deye:
-
@thebam Ich hab mal ein wenig weiter gemacht und getestet. Klappt ganz gut, auch ohne Formeln.
Ich hab auch die Register zum Schreiben eingefügt. Was mir großen Spaß macht: Mit "Fernsperre" und "SchalterModus" kann man den WR ein und aus schalten. (Nur vorher den Beeper abstellen denn er geht dann in Störung, so lange er abgeschaltet ist.
Auch die Netzspeisung lässt sich nun schön fernsteuern. Das könnte vor allem für Leute mit dynamischen Stromtarifen (Timber & Co) eine Freude sein.
Ich hab angefangen in Vis eine Oberfläche zum steuern zu bauen... klappt schon mal prima

hier meine überarbeiteten Definitionen:
_address deviceId name description unit type len factor offset formula role room poll wp cw isScale 40001 1 Device type Gerätetyp uint16be 1 0 0 level true false false false 40004 1 Seriennummer Seriennummer string 5 0 0 state true false false false 40061 1 Fernsperre Fernsperre uint16be 1 0 0 level true false false false 40081 1 SchalterModus SchalterModus uint16be 1 0 0 level true false false false 40105 1 ZeroExport power ZeroExport-Leistung W int16be 1 0 0 level true false false false 40109 1 Max A Charge Maximaler Ladestrom der Batterie A int16be 1 0 0 level true false false false 40110 1 Max A discharge Max A Entladung A int16be 1 0 0 level true false false false 40122 1 Max-Gen-Time Max-Gen-Time h int16be 1 0,1 0 level true false false false 40123 1 Gen-Cool-Time Gen-Cool-Time h int16be 1 0,1 0 level true false false false 40124 1 Gen-Start-Volt Gen-Start-Volt V int16be 1 0,01 0 level true false false false 40125 1 Gen-Start-Proz Gen-Start-Proz % int16be 1 0 0 level true false false false 40126 1 Gen-Charge-Current Gen-Charge-Current A int16be 1 0 0 level true false false false 40127 1 Grid-Start-Volt Grid-Start-Volt V int16be 1 0,01 0 level true false false false 40128 1 Grid-Start-Proz Grid-Start-Proz % int16be 1 0 0 level true false false false 40129 1 Grid-Charge-Current Grid-Charge-Current A int16be 1 0 0 level true false false false 40130 1 Gen-Charge-Enable Gen-Charge-Enable uint16be 1 0 0 level true false false false 40131 1 Grid-Charge-Enable Grid-Charge-Enable uint16be 1 0 0 level true false false false 40144 1 Max Limit Power Output Grid Connection Begrenzen Sie die maximale Ausgangsleistung des Netzes W int16be 1 0 0 level true false false false 40145 1 External current sensor clamp phase Klemmphase des externen Stromsensors W int16be 1 0 0 level true false false false 40146 1 Solar sell Verkauf von Solar uint8be 1 0 0 value true false false false 40147 1 TOUBits TOUBits Bits uint8be 1 0 0 value true false false false 40149 1 Sell mode time point 1 Sell mode time point 1 int16be 1 0 0 level true false false false 40150 1 Sell mode time point 2 Sell mode time point 2 int16be 1 0 0 level true false false false 40151 1 Sell mode time point 3 Sell mode time point 3 int16be 1 0 0 level true false false false 40152 1 Sell mode time point 4 Sell mode time point 4 int16be 1 0 0 level true false false false 40153 1 Sell mode time point 5 Sell mode time point 5 int16be 1 0 0 level true false false false 40154 1 Sell mode time point 6 Sell mode time point 6 int16be 1 0 0 level true false false false 40155 1 BatMaxPower1 BatMaxPower1 W int16be 1 0 0 level true false false false 40156 1 BatMaxPower2 BatMaxPower2 W int16be 1 0 0 level true false false false 40157 1 BatMaxPower3 BatMaxPower3 W int16be 1 0 0 level true false false false 40158 1 BatMaxPower4 BatMaxPower4 W int16be 1 0 0 level true false false false 40159 1 BatMaxPower5 BatMaxPower5 W int16be 1 0 0 level true false false false 40160 1 BatMaxPower6 BatMaxPower6 W int16be 1 0 0 level true false false false 40167 1 BatProz1 BatProz1 % int16be 1 0 0 level true false false false 40168 1 BatProz2 BatProz2 % int16be 1 0 0 level true false false false 40169 1 BatProz3 BatProz3 % int16be 1 0 0 level true false false false 40170 1 BatProz4 BatProz4 % int16be 1 0 0 level true false false false 40171 1 BatProz5 BatProz5 % int16be 1 0 0 level true false false false 40172 1 BatProz6 BatProz6 % int16be 1 0 0 level true false false false 40173 1 GridGenEn1 GridGenEn1 Bits int16be 1 0 0 level true false false false 40174 1 GridGenEn2 GridGenEn2 Bits int16be 1 0 0 level true false false false 40175 1 GridGenEn3 GridGenEn3 Bits int16be 1 0 0 level true false false false 40176 1 GridGenEn4 GridGenEn4 Bits int16be 1 0 0 level true false false false 40177 1 GridGenEn5 GridGenEn5 Bits int16be 1 0 0 level true false false false 40178 1 GridGenEn6 GridGenEn6 Bits int16be 1 0 0 level true false false false 40341 1 Max Solar Sell Power at Zero grid Maximale Solarverkaufsleistung bei null einspeisung W int16be 1 0 0 level true false false false 40341 1 Max Solar Sell Power by full in Maximale Solarverkaufsleistung bei einspeisung W int16be 1 0 0 level true false false false 40501 1 Status Status (Standby, check, norm, altert, fault) int16be 1 0 0 level true false false false 40502 1 active power generation of today active power generation of today kwh int16be 1 0,1 0 level true false false false 40503 1 reactive power generation of today reactive power generation of today kwh int16be 1 0,1 0 level true false false false 40504 1 Grid connection time of today Grid connection time of today s uint16be 1 1 0 level true false false false 40515 1 Today charge of the battery Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40516 1 Today discharge of the battery Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40517 1 Total charge of the battery low byte Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40518 1 Total charge of the battery high byte Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40519 1 Total discharge of the battery low byte Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40520 1 Total discharge of the battery high byte Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40521 1 Day Grid Buy Power kWh Tag Netzabnahme Strom Wh kwh uint16be 1 0,1 0 level true false false false 40522 1 Day_GridSell_Power kWh Tages Verkaufs leistung kwh uint16be 1 0,1 0 level true false false false 40523 1 Total_GridBuy_Power kWh_low word Total_GridBuy_Power kWh_low word kwh uint16be 1 0,1 0 level true false false false 40524 1 Total_GridBuy_Power kWh_high word Total_GridBuy_Power kWh_high word kwh uint16be 1 0,1 0 level true false false false 40525 1 Total_GridSell_Power kWh_low word Total_GridSell_Power kWh_low word kwh uint16be 1 0,1 0 level true false false false 40526 1 Total_GridSell_Power kWh_high word Total_GridSell_Power kWh_high word kwh uint16be 1 0,1 0 level true false false false 40527 1 Day_Load_Power kWH Day_Load_Power kWH kwh uint16be 1 0,1 0 level true false false false 40528 1 Total_Load_Power kWh_low word Total_Load_Power kWh_low word kwh uint16be 1 0,1 0 level true false false false 40529 1 Total_Load_Power kWh_high word Total_Load_Power kWh_high word kwh uint16be 1 0,1 0 level true false false false 40530 1 Day_PV_Power kWh Tagesproduzierte leistung kwh uint16be 1 0,1 0 level true false false false 40531 1 Day_PV-1_Power kWh Day_PV-1_Power kWh kwh uint16be 1 0,1 0 level true false false false 40532 1 Day_PV-2_Power kWh Day_PV-2_Power kWh kwh uint16be 1 0,1 0 level true false false false 40533 1 Day_PV-3_Power kWh Day_PV-3_Power kWh kwh uint16be 1 0,1 0 level true false false false 40534 1 Day_PV-4_Power kWh Day_PV-4_Power kWh kwh uint16be 1 0,1 0 level true false false false 40535 1 Total PV power Wh low word Gesamt-PV-Leistung Wh niedriges Wort kwh uint16be 1 0,1 0 level true false false false 40536 1 Total PV power Wh high word Gesamt-PV-Leistung Wh hohes Wort kwh uint16be 1 0,1 0 level true false false false 40587 1 battery temperature Batterietemperatur °C int16be 1 0,01 10 level true false false false 40588 1 battery voltage Batteriespannung V int16be 1 0,01 0 level true false false false 40589 1 battery capacity Batteriekapazität % int16be 1 1 0 level true false false false 40591 1 Battery output power Ausgangsleistung der Batterie W int16be 1 1 0 level true false false false 40592 1 Battery output current Ausgangsstrom der Batterie A int16be 1 0,01 0 level true false false false 40593 1 Corrected AH AH korrigiert AH int16be 1 1 0 level true false false false 40599 1 Grid phase voltage A Netzphasenspannung L1 V int16be 1 0,1 0 level true false false false 40600 1 Grid phase voltage B Netzphasenspannung L2 V int16be 1 0,1 0 level true false false false 40601 1 Grid phase voltage C Netzphasenspannung L3 V int16be 1 0,1 0 level true false false false 40602 1 Grid line voltage AB Netzphasenspannung L1-L2 V int16be 1 0,1 0 level true false false false 40603 1 Grid line voltage BC Netzphasenspannung L2-L3 V int16be 1 0,1 0 level true false false false 40604 1 Grid line voltage CA Netzphasenspannung L3-L1 V int16be 1 0,1 0 level true false false false 40605 1 L1 phase power on the inner side of the grid L1 Phasenleistung auf der Innenseite des Netzes W int16be 1 1 0 level true false false false 40606 1 L2 phase power on the inner side of the grid L2 Phasenleistung auf der Innenseite des Netzes W int16be 1 1 0 level true false false false 40607 1 L3 phase power on the inner side of the grid L3 Phasenleistung auf der Innenseite des Netzes W int16be 1 1 0 level true false false false 40608 1 active power from side to side of the grid Wirkleistung von Seite zu Seite des Netzes W int16be 1 1 0 level true false false false 40609 1 Grid side - inside total apparent power Netzseite – innere Gesamtscheinleistung W int16be 1 1 0 level true false false false 40610 1 Grid-side frequency Grid Seite Frequenz Hz int16be 1 0,01 0 level true false false false 40611 1 grid side inner current L1 netzseitiger Innenstrom L1 A int16be 1 0,01 0 level true false false false 40612 1 grid side inner current L2 netzseitiger Innenstrom L2 A int16be 1 0,01 0 level true false false false 40613 1 grid side inner current L3 netzseitiger Innenstrom L3 A int16be 1 0,01 0 level true false false false 40614 1 Out-of-grid - current L1 Außerhalb des Netzes – aktuelles L1 A int16be 1 0,01 0 level true false false false 40615 1 Out-of-grid - current L2 Außerhalb des Netzes – aktuelles L2 A int16be 1 0,01 0 level true false false false 40616 1 Out-of-grid - current L3 Außerhalb des Netzes – aktuelles L3 A int16be 1 0,01 0 level true false false false 40617 1 A Out-of-grid -power L1 A Außerhalb des Netzes - Strom L1 W int16be 1 1 0 level true false false false 40618 1 A Out-of-grid -power L2 A Außerhalb des Netzes - Strom L2 W int16be 1 1 0 level true false false false 40619 1 A Out-of-grid -power L3 A Außerhalb des Netzes - Strom L3 W int16be 1 1 0 level true false false false 40620 1 Out-of-grid-total-power Außerhalb des Netzes - Gesamtleistung W int16be 1 1 0 level true false false false 40621 1 Out-of-grid-total-apparent-power Außerhalb des Netzes - Gesamtscheinleistung VA uint16le 1 1 0 level true false false false 40622 1 Grid-connected power factor PF Netzgekoppelter Leistungsfaktor PF int16be 1 1 0 level true false false false 40623 1 Grid side A-phase power Netzseitiger L1-Phasen-Strom W int16be 1 1 0 level true false false false 40624 1 Grid side B-phase power Netzseitiger L2-Phasen-Strom W int16be 1 1 0 level true false false false 40625 1 Grid side C-phase power Netzseitiger L3-Phasen-Strom W int16be 1 1 0 level true false false false 40626 1 Grid side total power Netzseitige Gesamtleistung W int16be 1 1 0 level true false false false 40628 1 Inverter output phase voltage A Wechselrichter-Ausgangsphasenspannung L1 V int16be 1 0,1 0 level true false false false 40629 1 Inverter output phase voltage B Wechselrichter-Ausgangsphasenspannung L2 V int16be 1 0,1 0 level true false false false 40630 1 Inverter output phase voltage C Wechselrichter-Ausgangsphasenspannung L3 V int16be 1 0,1 0 level true false false false 40631 1 Inverter output phase current A Ausgangsphasenstrom des Wechselrichters L1 A int16be 1 0,01 0 level true false false false 40632 1 Inverter output phase current B Ausgangsphasenstrom des Wechselrichters L2 A int16be 1 0,01 0 level true false false false 40633 1 Inverter output phase current C Ausgangsphasenstrom des Wechselrichters L3 A int16be 1 0,01 0 level true false false false 40634 1 Inverter output phase power A Ausgangsphase des Wechselrichters Macht L1 W int16be 1 1 0 level true false false false 40635 1 Inverter output phase power B Ausgangsphase des Wechselrichters Macht L2 W int16be 1 1 0 level true false false false 40636 1 Inverter output phase power C Ausgangsphase des Wechselrichters Leistung L3 W int16be 1 1 0 level true false false false 40637 1 Inverter output total power Gesamtleistung des Wechselrichters Leistung W int16be 1 1 0 level true false false false 40638 1 Inverter output total apparent power Gesamtleistung des Wechselrichters Scheinleistung W int16be 1 1 0 level true false false false 40639 1 Inverter frequency Wechselrichter frequenz Hz int16be 1 0,01 0 level true false false false 40641 1 UPS load-side phase power A USV-lastseitige Phasenleistung L1 W int16be 1 1 0 level true false false false 40642 1 UPS load-side phase power B USV-lastseitige Phasenleistung L2 W int16be 1 1 0 level true false false false 40643 1 UPS load-side phase power C USV-lastseitige Phasenleistung L3 W int16be 1 1 0 level true false false false 40644 1 UPS load-sidetotal power Lastseitige Gesamtleistung der USV W int16be 1 1 0 level true false false false 40645 1 Load phase voltage A Load phasenspannung L1 V int16be 1 0,1 0 level true false false false 40646 1 Load phase voltage B Load phasenspannung L2 V int16be 1 0,1 0 level true false false false 40647 1 Load phase voltage C Load phasenspannung L3 V int16be 1 0,1 0 level true false false false 40648 1 Load phase current A Load phasenstrom L1 A int16be 1 0,01 0 level true false false false 40649 1 Load phase current B Load phasenstrom L2 A int16be 1 0,01 0 level true false false false 40650 1 Load phase current C Load phasenstrom L3 A int16be 1 0,01 0 level true false false false 40651 1 Load phase power A Load phase Leistung L1 W int16be 1 1 0 level true false false false 40652 1 Load phase power B Load phase Leistung L2 W int16be 1 1 0 level true false false false 40653 1 Load phase power C Load phase Leistung L3 W int16be 1 1 0 level true false false false 40654 1 Load totalpower Load Gesamtleistung W int16be 1 1 0 level true false false false 40655 1 Load phase apparent power Scheinleistung der Lastphase VA int16be 1 1 0 level true false false false 40656 1 Load frequency Load Frequenz Hz int16be 1 0,01 0 level true false false false 40662 1 Phase voltage of Gen port A Phasenspannung von Gen-Port L1 V int16be 1 0,1 0 level true false false false 40663 1 Phase voltage of Gen port B Phasenspannung von Gen-Port L2 V int16be 1 0,1 0 level true false false false 40664 1 Phase voltage of Gen port C Phasenspannung von Gen-Port L3 V int16be 1 0,1 0 level true false false false 40665 1 Phase power of Gen port A Phasenleistung von Gen-Port L1 W int16be 1 1 0 level true false false false 40666 1 Phase power of Gen port B Phasenleistung von Gen-Port L2 W int16be 1 1 0 level true false false false 40667 1 Phase power of Gen port C Phasenleistung von Gen-Port L3 W int16be 1 1 0 level true false false false 40668 1 total power of Gen port Gesamtleistung des Gen-Ports W int16be 1 1 0 level true false false false 40673 1 PV1 input power PV1 Eingangsleistung W int16be 1 1 0 level true false false false 40674 1 PV2 input power PV2 Eingangsleistung W int16be 1 1 0 level true false false false 40675 1 PV3 input power PV3 Eingangsleistung W int16be 1 1 0 level true false false false 40676 1 PV4 input power PV4 Eingangsleistung W int16be 1 1 0 level true false false false 40677 1 Dc voltage 1 Gleichspannung 1 V int16be 1 0,1 0 level true false false false 40678 1 Dc current 1 Gleichstrom 1 A int16be 1 0,1 0 level true false false false 40679 1 Dc voltage 2 Gleichspannung 2 V int16be 1 0,1 0 level true false false false 40680 1 Dc current 2 Gleichstrom 2 A int16be 1 0,1 0 level false false false false 40681 1 Dc voltage 3 Gleichspannung 3 V int16be 1 0,1 0 level true false false false 40682 1 Dc current 3 Gleichstrom 3 A int16be 1 0,1 0 level false false false false 40683 1 Dc voltage 4 Gleichspannung 4 V int16be 1 0,1 0 level true false false false 40684 1 Dc current 4 Gleichstrom 4 A int16be 1 0,1 0 level false false false falseViel spaß Damit

VG Markus -
ich habe da mal noch 2 Fragen weil ich mit die Tou auch nachgebastelt habe.
Welche register sind für den haken beim generator?
und wie Fragst du den Status Normal ab???
@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
und wie Fragst du den Status Normal ab???
Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
"Standby; Selbsttest;Normal;Alarm;Fault"@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
Welche register sind für den haken beim generator?
Das ist etwas komplizierter.
Grundsätzlich seht das in diesem Registern:
modbus.0.holdingRegisters.1.40173_GridGenEn1 -
modbus.0.holdingRegisters.1.40178_GridGenEn6Das sind aber Bit-Register.
Bit0 ist Grid charge Ein/Aus
Bit1 ist Gen charge Ein/AusUm die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:
function setBit(currentValue, bitPosition) { // Berechne die neue Bit-Maske basierend auf der Bit-Position const bitmask = 1 << bitPosition; // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert if (!(currentValue & bitmask)) { return (currentValue | bitmask) ; // Bit auf 1 setzen } else { return (currentValue & ~bitmask); // Bit auf 0 setzen } } function getBit(currentValue, bitPosition) { // Hole den aktuellen Wert des States // onst currentValue = getState(stateName).val; // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist const bitmask = 1 << bitPosition; return ((currentValue & bitmask) !== 0) ? "1":"0" ; } //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}Das Vis-Element ist ein ButtonState.
Bei Objectid habe ich das Register angegeben:
modbus.0.holdingRegisters.1.40173_GridGenEn1für den GridButton dann:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}für den GenButton:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}Das ganze dann 6 mal für alle Register bis GridGenEn6...
Ich hoffe das hilft Dir weiter

-
@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
und wie Fragst du den Status Normal ab???
Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
"Standby; Selbsttest;Normal;Alarm;Fault"@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
Welche register sind für den haken beim generator?
Das ist etwas komplizierter.
Grundsätzlich seht das in diesem Registern:
modbus.0.holdingRegisters.1.40173_GridGenEn1 -
modbus.0.holdingRegisters.1.40178_GridGenEn6Das sind aber Bit-Register.
Bit0 ist Grid charge Ein/Aus
Bit1 ist Gen charge Ein/AusUm die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:
function setBit(currentValue, bitPosition) { // Berechne die neue Bit-Maske basierend auf der Bit-Position const bitmask = 1 << bitPosition; // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert if (!(currentValue & bitmask)) { return (currentValue | bitmask) ; // Bit auf 1 setzen } else { return (currentValue & ~bitmask); // Bit auf 0 setzen } } function getBit(currentValue, bitPosition) { // Hole den aktuellen Wert des States // onst currentValue = getState(stateName).val; // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist const bitmask = 1 << bitPosition; return ((currentValue & bitmask) !== 0) ? "1":"0" ; } //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}Das Vis-Element ist ein ButtonState.
Bei Objectid habe ich das Register angegeben:
modbus.0.holdingRegisters.1.40173_GridGenEn1für den GridButton dann:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}für den GenButton:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}Das ganze dann 6 mal für alle Register bis GridGenEn6...
Ich hoffe das hilft Dir weiter

Wäre das nicht eine Alternative bei der man kein zusätzliches Kabel benötigt und bequem den MQTT Adapter nutzen kann?
-
Wäre das nicht eine Alternative bei der man kein zusätzliches Kabel benötigt und bequem den MQTT Adapter nutzen kann?
-
@chrisbgl
also wenn ich das richtig verstehe läuft das dann über den webstick. Da kannst du dann doch sogar den Iobroker adapter nutzen der geht soweit ich weiß auch schon direkt mit den großen hybriden.@thebam
also am 28.12. der letze Post? Kann doch nicht sein.
Ich lese die Holdingregister mit dem Modus.iobroker , stabil seit Wochen. Und nun will ich eine TOU-Steuerung aufbauen ähnlich wie batterylife von victron, nur dass ich dazu pvforecast-Werte verwenden möchte. Dazu muss ich aber schreiben können. Kann ich auch, aber nur mit modpoll und nicht mit iobroker. Modpoll ist aber auch nicht so prickelnd, weil bei Schreiben eines einzelnen Wertes 06 genommen wird (ist standard), und nicht 10. 06 kann aber der Deye nicht. Also müsste man immer 2 Werte schreiben, mit mbpoll, beim Adapter gibt es ja den F16-Haken.
Wie ihr dem Adapter das Schreiben beigebracht habt, ist mir echt schleierhaft. Das Aktualisieren der Objekte per script funktioniert, kommen aber nicht beim Deye an.
Wenn ich mit mbpoll schreibe, sind die Werte sofort auf dem Deye und auch in den Objekten.
Was hier so gesehen habe, ist ja echt phantastisch. Ich habe auch gesehen, dass oft wp auf false steht. Hat denn WP nichts mit dem Schreiben zu tun, bzw darf der nicht angekreuzt sein? Und was bewirkt multiples Schreiben, also CW. Bei wird das Register auf 0 gesetzt.
Vielleicht ist der thread hier doch noch nicht zu Ende -
@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
und wie Fragst du den Status Normal ab???
Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
"Standby; Selbsttest;Normal;Alarm;Fault"@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
Welche register sind für den haken beim generator?
Das ist etwas komplizierter.
Grundsätzlich seht das in diesem Registern:
modbus.0.holdingRegisters.1.40173_GridGenEn1 -
modbus.0.holdingRegisters.1.40178_GridGenEn6Das sind aber Bit-Register.
Bit0 ist Grid charge Ein/Aus
Bit1 ist Gen charge Ein/AusUm die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:
function setBit(currentValue, bitPosition) { // Berechne die neue Bit-Maske basierend auf der Bit-Position const bitmask = 1 << bitPosition; // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert if (!(currentValue & bitmask)) { return (currentValue | bitmask) ; // Bit auf 1 setzen } else { return (currentValue & ~bitmask); // Bit auf 0 setzen } } function getBit(currentValue, bitPosition) { // Hole den aktuellen Wert des States // onst currentValue = getState(stateName).val; // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist const bitmask = 1 << bitPosition; return ((currentValue & bitmask) !== 0) ? "1":"0" ; } //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}Das Vis-Element ist ein ButtonState.
Bei Objectid habe ich das Register angegeben:
modbus.0.holdingRegisters.1.40173_GridGenEn1für den GridButton dann:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}für den GenButton:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}Das ganze dann 6 mal für alle Register bis GridGenEn6...
Ich hoffe das hilft Dir weiter

@shipper was möchtest du denn ist doch hier alles gut beschrieben. bzw. auch in den posts oben. Ich kann alles steuern bzw. setzen wie ich das möchte
waly_de sagte in Deye Wechselrichter Modbus Register beschreiben:
@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
und wie Fragst du den Status Normal ab???
Der Status seht im Register "modbus.0.holdingRegisters.1.40501_Status"
In Vis dann eine "Standard Werteliste Text" und in die Werteliste eintragen:
"Standby; Selbsttest;Normal;Alarm;Fault"@thebam sagte in Deye Wechselrichter Modbus Register beschreiben:
Welche register sind für den haken beim generator?
Das ist etwas komplizierter.
Grundsätzlich seht das in diesem Registern:
modbus.0.holdingRegisters.1.40173_GridGenEn1 -
modbus.0.holdingRegisters.1.40178_GridGenEn6Das sind aber Bit-Register.
Bit0 ist Grid charge Ein/Aus
Bit1 ist Gen charge Ein/AusUm die zu setzten bzw. zu lesen, habe ich mir 2 JavaScript-Funktionen geschrieben und bei Skripten im Vis hinterlegt:
function setBit(currentValue, bitPosition) { // Berechne die neue Bit-Maske basierend auf der Bit-Position const bitmask = 1 << bitPosition; // Setze das entsprechende Bit auf 1 oder 0, abhängig vom Wert if (!(currentValue & bitmask)) { return (currentValue | bitmask) ; // Bit auf 1 setzen } else { return (currentValue & ~bitmask); // Bit auf 0 setzen } } function getBit(currentValue, bitPosition) { // Hole den aktuellen Wert des States // onst currentValue = getState(stateName).val; // Überprüfe, ob das Bit an der gegebenen Position gesetzt ist const bitmask = 1 << bitPosition; return ((currentValue & bitmask) !== 0) ? "1":"0" ; } //{n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)}Das Vis-Element ist ein ButtonState.
Bei Objectid habe ich das Register angegeben:
modbus.0.holdingRegisters.1.40173_GridGenEn1für den GridButton dann:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,0)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,0)}für den GenButton:
Knopftext: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;getBit(n,1)} Wert: {n:modbus.0.holdingRegisters.1.40173_GridGenEn1;setBit(n,1)}Das ganze dann 6 mal für alle Register bis GridGenEn6...
Ich hoffe das hilft Dir weiter

-
@shipper Hallo,
also bei mir funktioniert es auch über den ioBroker per anpassung der States die Register im Wechselrichter zu beschreiben....
ich mache es zwar nicht per skript, sonder tlw nur per hand, aber wie gesagt es funktioniert ohne probleme.CW ist nicht gesetzt -> einfach den Wert im Objekt im Rahmen der erlaubten werte verändern und bei der nächste Poll-Abfrage werden die Daten bestätigt.
Verwende Waveshare TCP to RS485 converter.
-
@shipper Hallo,
also bei mir funktioniert es auch über den ioBroker per anpassung der States die Register im Wechselrichter zu beschreiben....
ich mache es zwar nicht per skript, sonder tlw nur per hand, aber wie gesagt es funktioniert ohne probleme.CW ist nicht gesetzt -> einfach den Wert im Objekt im Rahmen der erlaubten werte verändern und bei der nächste Poll-Abfrage werden die Daten bestätigt.
Verwende Waveshare TCP to RS485 converter.
@etzeste13
Danke, auch thebam, das der thread noch lebt. Ich verwende auch waveshare rs485toEth. Funktioniert tadellos.
Frage: muss WP gesetzt sein?
Welche pollrate fährst du?@TheBam
scripte in vis habe ich noch nicht gemacht, vorzugsweise nehme ich blockly nur wenns nicht anders geht z.B. zum lesen der Sensoren von mobil-alerts.
Erstmal muss das Schreiben mit dem Adapter funktionieren. Mit modpoll geht es ja.
Die Protokollaufzeichnung im debugmode bringt mir poll-einträge von allen Registern, die ich eingetragen habe , von schreiben habe ich da nichts gefunden, egal ob WP gesetzt ist oder nicht.
Frage: Ist da was von schreiben zu sehen?
danke, dass ihr mir helfen wollt. -
@shipper Hallo,
also bei mir funktioniert es auch über den ioBroker per anpassung der States die Register im Wechselrichter zu beschreiben....
ich mache es zwar nicht per skript, sonder tlw nur per hand, aber wie gesagt es funktioniert ohne probleme.CW ist nicht gesetzt -> einfach den Wert im Objekt im Rahmen der erlaubten werte verändern und bei der nächste Poll-Abfrage werden die Daten bestätigt.
Verwende Waveshare TCP to RS485 converter.
ok, wert setzen in den Objekten funktioniert, nachdem ich WP rausgenommen habe, dann wird's auch mit Skript gehen
danke
-
ok, wert setzen in den Objekten funktioniert, nachdem ich WP rausgenommen habe, dann wird's auch mit Skript gehen
danke
@etzeste13
du hast mich gerettet. Wenn ich die Werte in den Objekten setze, werden die register erfolgreich beschrieben. Wenn ich in blockly die Funktion "aktualisiere Object " nehme dann nicht. Mit "steuere object" geht es dann.
Da konnte ich lange suchen, nichts gefunden, weil sonst nichts zu finden war. -
@etzeste13
du hast mich gerettet. Wenn ich die Werte in den Objekten setze, werden die register erfolgreich beschrieben. Wenn ich in blockly die Funktion "aktualisiere Object " nehme dann nicht. Mit "steuere object" geht es dann.
Da konnte ich lange suchen, nichts gefunden, weil sonst nichts zu finden war. -
Hallo,
kann mir einer sagen was ich da im Register eintragen muss um eine vernünftige Temperatur zu bekommmen?

Danke
michael -
@miael
AC ist Faktor 0,1 und bei Offset -100. Dann hast den richtigen Wert. Beim DC Wert genau so, bekommst aber nur Daten wenn nen DC Batt Tempfühler angeschlossen hast. Sonst steht der immer auf 25°Schreiben geht bei mir übrigens problemlos.
-
@warp735
Besten dank!
Der Hinweis mit den 25°C war es. Bin jetzt auf "Heat sink temperatur" gewechselt und funktioniert. -
Weiß jemand wie die "Tägliche Erzeugung" gerechnet wird? Ist da der Micro inkludiert oder nicht? Bei der oberen prozentualen Anzeige "Produktion" interessiert er auf jedenfall nicht. Bei diesem Beispiel müssten es ja 55% sein und nicht 41%
Find nämlich auch kein Register für die kwh vom Microinverter


-
Servus zusammen,
ich bin neu hier und hoffe ihr könnt mir helfen.
Ich muss ganz dringen ein Register am Deye setzen und zwar die ID bzw. Seriennummer.
Leider hat mein Deye nach dem letzten Firmware Update seine ID verloren.
Ich habe es schon über die RS232 versucht, aber der WR will nicht antworten.
Kann man die ID über die RS485 ändern?
Die ID müsste die Register 3,4,5,6 und 7 haben.
Register 7, ID(SN), Stelle 2 + 1 ASCII
Register 6, ID(SN), Stelle 4 + 3 ASCII
Register 5, ID(SN), Stelle 6 + 5 ASCII
Register 4, ID(SN), Stelle 8 + 7 ASCII
Register 3, ID(SN), Stelle 10 + 9 ASCII
Ich hoffe Ihr könnt mir helfen. Danke schon mal.
Anbei noch ein Foto des Display ohne ID.Gruß Ronny
