Giter VIP home page Giter VIP logo

ess's People

Contributors

fabianzweckinger avatar martiby avatar mgerhard74 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ess's Issues

SOC von MP2 ist verdoppelt

Hallo Martin,

der MP2 zeit den gemessen SOC verdoppelt an. Um in der Software den richtigen Wert zu erhalten muss hier noch halbiert werden.
Ich habe dies in vebus.py Zeile 220 erledigt.
'soc': soc} geändert in 'soc':soc / 2}

Gruß Martin

Pylontech US5000 BMS

Hallo Martin,
ich baue gerade das System mit einer Pylontech US5000 nach. Als Energiezähler wird ein EVU Smartmeter Lesekopf verwendet, dieser ist auch schon in Meterhub intergriert. (Rest Schnittstelle)

Folgendes ist mir bisher aufgefallen:
Die Installation von "pip install pyserial" ist nicht erwähnt, das log Verzeichnis habe ich manuell anlegen müssen und die Angabe der IP:Port des Webservice sollte im conifg.py definiert werden.

Das BMS der US5000 liefert nach
TX: b'~20024642E00202FD33\r'
nur
RX: b'\x00\x00\x00\x00'
zurück. Ich habe auch noch 9600Baud probiert, gleiches Verhalten.

Hast du dazu eine Doku oder einen Vorschlag, was ich probieren könnte?

Danke,
Gerhard

Mulitplus II Status "temperature"

Hallo Martin,
danke fürs Teilen des tollen Projekts. Mein ESS mit zwei Pylontech US5000 läuft schon ca ein halbes Jahr.
Folgendes ist mir nun aufgefallen:
Geht die Batteriespannung auf ca 47V (hohe Last, SOC 15%), dann blinkt die rote "Low battery" LED am Multiplus II.
Der State im EES Webinterface wird aber falsch mit "temperature" angezeigt.

Lt Doku Technical-Information-Interfacing-with-VE-Bus-products-MK2-Protocol-3-14.pdf ist der Status der Leds korrekt abgefragt.

lg Gerhard

RamID for ESS SetPoint

Hallo,

mir ist in Ihrem Code eine Schwachstelle aufgefallen. Sie gehen davon aus, dass das Register zum Setzen der Power (EssSetPoint) 131 ist. Ich kann ihnen aus eigener Erfahrung sagen, dass das nur manchmal so ist. Ich habe 3 Multiplus im Einsatz beim 5000 ist es anders als beim 3000er. Das ist eventuell auch Firmewareabhängig. Auf alle Fälle sollten sie die Ermittlung der RamId für den ESS Assitenten noch implementieren, wie bei Victron beschrieben:

3.6.2 Working with RAM IDs to address Assistants

Use RAM ID 128 and higher. Every RAM ID is a word (2 bytes)

The assistant RAM will be filled from ID 128 with ‘assistant RAM records’. Each record starts with a word that contains the AssistantID and the size of the record, and then a number of AssistantRAM words.

RAM ID contents
128 ID_Size (1st Assistant)
129 1st AssistantRAM0
130 1st AssistantRAM1
RAMn 1st AssistantRAMn
RAMn+1 ID_Size (2nd Assistant in this VE.Bus device, if any)
RAMn+2 2nd AssistantRAM0
RAMn+3 2nd AssistantRAM1
etcetera

The ID_Size word contains 0xZZZY, where:

  • ZZZ = the Assistant ID. This is where you can recognize the function of the assistant (ESS ID = 5)
  • Y = the number of ramIDs that will follow after the ID_Size. At the moment of writing this is 2 for the ESS Assistant version. This can be increased in future releases if more parameters become available.

So you have to scan the Assistant RAM records by looking at each ID_size record.

3.6.3 ESS Assistant RAM IDs

The RAM ids of the ESS Assistant are:

  • AssistantRAM0: AC-in setpoint in Watts (positive for charge, negative for discharge)
  • AssistantRAM1-bit 0: 'disable charge'-flag
  • AssistantRAM1-bit 1: 'disable feed-in'-flag

Above information is an addendum to the 'Interfacing with VE.Bus products' document. Available from our whitepapers.

3.6.2 Working with RAM IDs to address Assistants

Use RAM ID 128 and higher. Every RAM ID is a word (2 bytes)

The assistant RAM will be filled from ID 128 with ‘assistant RAM records’. Each record starts with a word that contains the AssistantID and the size of the record, and then a number of AssistantRAM words.
RAM ID contents
128 ID_Size (1st Assistant)
129 1st AssistantRAM0
130 1st AssistantRAM1
… …
RAMn 1st AssistantRAMn
RAMn+1 ID_Size (2nd Assistant in this VE.Bus device, if any)
RAMn+2 2nd AssistantRAM0
RAMn+3 2nd AssistantRAM1
etcetera

The ID_Size word contains 0xZZZY, where:

ZZZ = the Assistant ID. This is where you can recognize the function of the assistant (ESS ID = 5)
Y = the number of ramIDs that will follow after the ID_Size. At the moment of writing this is 2 for the ESS Assistant version. This can be increased in future releases if more parameters become available.

So you have to scan the Assistant RAM records by looking at each ID_size record.
3.6.3 ESS Assistant RAM IDs

The RAM ids of the ESS Assistant are:

AssistantRAM0: AC-in setpoint in Watts (positive for charge, negative for discharge)
AssistantRAM1-bit 0: 'disable charge'-flag
AssistantRAM1-bit 1: 'disable feed-in'-flag

Above information is an addendum to the 'Interfacing with VE.Bus products' document. Available from our whitepapers.


Ich habe etwas ähnliches in C++ implementiert aber noch nicht veröffentlicht. Bei mir sieht die Ermittlung des richtigen Registers so aus:

// ermittelt die Adresse der Ram Variable für die
// ESS SetPoint Funktion
bool Mk2::CheckEssAssistent()
{
uEssSetPointRamVar=0;
uint16_t nRv=128;
for (int n=0; n<8; n++)
{
uint16_t u=GetRamVar(nRv);
if (u==0)
return false;

// der ESS Assistent hat die Id 5 
// der ESS Vorgänger HUB4 die Id 3
if ((u & 0xfff0)==0x0050 || (u & 0xfff0)==0x0030)
  {
  uEssSetPointRamVar=nRv+1;
  return true;
  }
nRv+=1 + (u & 0x0f);
}

return false;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.