Arduino Mega Gateway pro Home Assistant

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
PetrDubi
Příspěvky: 1534
Registrován: úte říj 12, 2021 10:43 am
Lokalita: Blízko Ústí nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 10790
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od PetrDubi »

Tak uvidíš.
Ještě mě napadlo, pokud ti kontrola proběhne v pořádku zkusit vyexportovat v Arduino IDE hex soubor a ten potom zkusit nahrát do UNO přes ten Hexloader, co je ke stažení na začátku vlákna.
mobilní elektrárna 3x Uni-solar PVL-68 a Victron 75/15 MPPT
doma 3280 Wp JV, 3810 Wp JZ, 3690 Wp SZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
10055
Příspěvky: 223
Registrován: ned lis 21, 2021 8:29 am
Bydliště: Zubří

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od 10055 »

Tak zkusil jsem export do HEX ale bezůzpěšně kompilace končí s chybou o velikosti
obrázek_2022-03-22_223827.png
snad se ozve zakladatel a pomůže nasměrovat
měnič Easun 8kW, Baterie Lifepo 16S280A 15kW x 2 = 30kW, 7200kWp Amerisolar 450 8S2P J/Z + 3900kWp Leapton650 V,
Jinak jsem Robert - nick používám už dlouho a jsem na něj zvyklý
PetrDubi
Příspěvky: 1534
Registrován: úte říj 12, 2021 10:43 am
Lokalita: Blízko Ústí nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 10790
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od PetrDubi »

Dneska jsem si s tím teda trošku pohrál a nevejde se tam program a ještě je málo paměti RAM pro globální proměnné, takže ten program bez úprav do UNO fakt nikdy nahrát nepůjde. Ale mám i jednu lepší zprávu. Pokud vyměniš UNO za MEGA, tak tam už zkompilovat půjde, takže je i možnost zaměnit je a použít. Otázkou je, jestli potom už není lepší použít rovnou tu verzi pro MEGA bez displeje (jestli půjdou nastavit parametry například přes síť).
mobilní elektrárna 3x Uni-solar PVL-68 a Victron 75/15 MPPT
doma 3280 Wp JV, 3810 Wp JZ, 3690 Wp SZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
10055
Příspěvky: 223
Registrován: ned lis 21, 2021 8:29 am
Bydliště: Zubří

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od 10055 »

Jj jak Mega tak ESP32 je na ceste
měnič Easun 8kW, Baterie Lifepo 16S280A 15kW x 2 = 30kW, 7200kWp Amerisolar 450 8S2P J/Z + 3900kWp Leapton650 V,
Jinak jsem Robert - nick používám už dlouho a jsem na něj zvyklý
Soban
Příspěvky: 3842
Registrován: pon úno 07, 2022 10:11 pm
Lokalita: Zlaté Hory / Olomouc
Systémové napětí: 24V
Výkon panelů [Wp]: 3600
Kapacita baterie [kWh]: 16
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Zlaté Hory

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Soban »

Já jsem to taky skoušel na UNO a taky jsem narazil na velikost paměti a tak uvažuji co s tím.

Verze jsou dvě jednoduchá stránka v UNU a nebo to použít pouze jako převodník RS232 <-> LAN a vlastní SW mít jinde.

Verze s www:

Kód: Vybrat vše

//************** muj_menic ***************
//*************  Petr Šobáň  *************
//****************************************

#include <SoftwareSerial.h>
#include <SPI.h>
#include <Ethernet2.h>
#define VERZE "v0.1_12.03.2022"

#define WWW_PATICKA   "<p align=\"center\"> © " __DATE__ " Petr Šobáň " VERZE " (" __TIME__ ")</p>"
#define WWW_ODDELOVAC "<hr align=\"center\" width=\"95%\">"

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0xDE, 0xAD, 0xC0, 0xA8, 0x0A, 0x28
  };
IPAddress ip(192, 168, 10, 40);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

const byte rxPin = 4;
const byte txPin = 3;
SoftwareSerial Axpert ( rxPin, txPin );

byte QPIGS[] = { 0x51 , 0x50 , 0x49 , 0x47 , 0x53 , 0xB7 , 0xA9 , 0x0D }; // požadavek QPIGS
byte QMOD[] = { 0x51 , 0x4D , 0x4F , 0x44 , 0x49 , 0xC1 , 0x0D }; // požadavek QMOD
String rezim;
String inv_mode_txt;
struct qpigs_data {
  float AC_I_V;
  float AC_I_Hz;
  float AC_O_V;
  float AC_O_Hz;
  int AC_O_VA;
  int AC_O_W;
  int AC_O_per;
  int BUS_V;
  float BAT_V;
  int BAT_I_A;
  int BAT_per;
  int INV_TMP;
  int PV_I_A;
  float PV_I_V;
  float BAT_O_V;
  int BAT_O_A;
};

qpigs_data hodnoty_QPIGS;

void setup() {
  pinMode( LED_BUILTIN, OUTPUT );
  pinMode ( rxPin , INPUT );
  pinMode ( txPin , OUTPUT );
  Axpert_init ( 2400 ); // inicializace Axpertu
  Serial.begin( 9600 );
  
  // You can use Ethernet.init(pin) to configure the CS pin
  //Ethernet.init(9);
  
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);

  // start the server
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  check_Axpert(); // kontrola přijatých dat

  //------------------------------------------------------------------------------------------------------------------------------------
  // Axpert scanner
  //------------------------------------------------------------------------------------------------------------------------------------

        rezim = get_QMOD();
        if ( rezim == "P" ) inv_mode_txt = "Power on mode";
        if ( rezim == "S" ) inv_mode_txt = "Standby mode";
        if ( rezim == "L" ) inv_mode_txt = "Line mode";
        if ( rezim == "B" ) inv_mode_txt = "Battery mode";
        if ( rezim == "F" ) inv_mode_txt = "Fault mode";
        if ( rezim == "H" ) inv_mode_txt = "Power saving mode";
     
//        Serial.println( inv_mode_txt );Serial.println( inv_mode_txt );

        hodnoty_QPIGS = get_QPIGS();
/*        Serial.println( "Prijata_data:" );
        Serial.println( " Vstup            " + String( hodnoty_QPIGS.AC_I_V )+" V");
        Serial.println( " Vstup            " + String( hodnoty_QPIGS.AC_I_Hz )+" Hz");
        Serial.println( " Vystup           " + String( hodnoty_QPIGS.AC_O_V )+" V");
        Serial.println( " Vystup           " + String( hodnoty_QPIGS.AC_O_Hz )+" Hz");
        Serial.println( " Vystup           " + String( hodnoty_QPIGS.AC_O_VA )+" VA");
        Serial.println( " Vystup           " + String( hodnoty_QPIGS.AC_O_W )+" W");
        Serial.println( " Vystup zatížení  " + String( hodnoty_QPIGS.AC_O_per )+" %");
        Serial.println( " BUS              " + String( hodnoty_QPIGS.BUS_V )+" V");
        Serial.println( " Baterie          " + String( hodnoty_QPIGS.BAT_V )+" V");
        Serial.println( " Baterie nabíjení " + String( hodnoty_QPIGS.BAT_I_A )+" A");
        Serial.println( " Baterie          " + String( hodnoty_QPIGS.BAT_per )+" %");
        Serial.println( " Teplota          " + String( hodnoty_QPIGS.INV_TMP ));
        Serial.println( " PV               " + String( hodnoty_QPIGS.PV_I_A )+" A");
        Serial.println( " PV               " + String( hodnoty_QPIGS.PV_I_V )+" V");
        Serial.println( " Baterie SCC      " + String( hodnoty_QPIGS.BAT_O_V)+" V");
        Serial.println( " Baterie vybíjení " + String( hodnoty_QPIGS.BAT_O_A )+" A");
        Serial.println();
*/

        // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html;charset=utf-8");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");

          client.println(WWW_ODDELOVAC);

          client.println( "<p align=\"center\">Režim měniče: "+inv_mode_txt+"</p>" );
          client.println(WWW_ODDELOVAC);
          client.println( "<p align=\"center\"> Vstup            " + String( hodnoty_QPIGS.AC_I_V )+" V</p>");
          client.println( "<p align=\"center\"> Vstup            " + String( hodnoty_QPIGS.AC_I_Hz )+" Hz</p>");
          client.println( "<p align=\"center\"> Vystup           " + String( hodnoty_QPIGS.AC_O_V )+" V</p>");
          client.println( "<p align=\"center\"> Vystup           " + String( hodnoty_QPIGS.AC_O_Hz )+" Hz</p>");
          client.println( "<p align=\"center\"> Vystup           " + String( hodnoty_QPIGS.AC_O_VA )+" VA</p>");
          client.println( "<p align=\"center\"> Vystup           " + String( hodnoty_QPIGS.AC_O_W )+" W</p>");
          client.println( "<p align=\"center\"> Vystup zatížení  " + String( hodnoty_QPIGS.AC_O_per )+" %</p>");
          client.println( "<p align=\"center\"> BUS              " + String( hodnoty_QPIGS.BUS_V )+" V</p>");
          client.println( "<p align=\"center\"> Baterie          " + String( hodnoty_QPIGS.BAT_V )+" V</p>");

          if (hodnoty_QPIGS.BAT_O_A > 0) client.println( "<p align=\"center\" style=\"color: red;\"> Baterie vybíjení " + String( hodnoty_QPIGS.BAT_O_A )+" A</p>");
          else client.println( "<p align=\"center\" style=\"color: green;\"> Baterie nabíjení " + String( hodnoty_QPIGS.BAT_I_A )+" A</p>");
          
          client.println( "<p align=\"center\"> Baterie          " + String( hodnoty_QPIGS.BAT_per )+" %</p>");
          client.println( "<p align=\"center\"> Teplota          " + String( hodnoty_QPIGS.INV_TMP )+"</p>");
          client.println( "<p align=\"center\"> PV               " + String( hodnoty_QPIGS.PV_I_A )+" A</p>");
          client.println( "<p align=\"center\"> PV               " + String( hodnoty_QPIGS.PV_I_V )+" V</p>");
          client.println( "<p align=\"center\"> Baterie SCC      " + String( hodnoty_QPIGS.BAT_O_V)+" V</p>");
          client.println(WWW_ODDELOVAC);
          client.println(WWW_PATICKA);
          client.println(WWW_ODDELOVAC);
          
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }

        delay(500);
A původní soubor pro komunikaci s axpertem

Kód: Vybrat vše

//********** Axpertino GW light **********
//************* Jiří Jirutka *************
//****************************************

//------------------------------------------------------------------
String Axpert_receive( ) { //returns generic
  boolean answer = false; // znacka
  char input_byte; // promenna pro ulozeni znaku
  String output_string; // promenna pro ulozeni textu
  byte countEnd = 0; // pocitadlo
  unsigned long previous; // cas spusteni
  int timeout = 10000; // doba po kterou se ceka na prichozi data
  previous = millis();

  do { // cekani na spravnou odpoved
    if ( Axpert.available() > 0) { // kdyz jsou k dispozici data, precti data
      input_byte = Axpert.read();
      output_string += input_byte;
      if (( byte )input_byte == 0x0D) answer = true;
    }
  }
  while ( !answer && !(( unsigned long )( millis() - previous ) >= timeout )); // ceka na spravnou hodnotu, nebo uplynuti casu
  return output_string;
}

//------------------------------------------------------------------
void check_Axpert() { // kontrola prijatych dat
  if ( Axpert.available() > 0 ) { // kontroluje obsah pameti, pokud nen nic odeslano, dalsi cast programu se neprovede
    Axpert_receive( ); // precist hodnoty z serial portu
  }
}
//------------------------------------------------------------------
void Axpert_init( int speed_init) { // nastaveni pri spusteni Axpertu
  Axpert.begin( speed_init );
}
//------------------------------------------------------------------
qpigs_data get_QPIGS() {
  qpigs_data values;
  send_QPIGS();
  delay( 10 );
  String prijate_data = Axpert_receive( );

  values.AC_I_V = prijate_data.substring( 1 , 6 ).toFloat();  // string na číslo float - Grid voltage
  values.AC_I_Hz = prijate_data.substring( 7 , 11 ).toFloat(); // string na číslo float - Grid frequency
  values.AC_O_V = prijate_data.substring( 12 , 17 ).toFloat(); // string na číslo float - AC Output voltage
  values.AC_O_Hz = prijate_data.substring( 18 , 22 ).toFloat(); // string na číslo float - AC Output frequency
  values.AC_O_VA = prijate_data.substring( 23 , 27 ).toInt();     // string na číslo int - AC Output apparent power
  values.AC_O_W = prijate_data.substring( 28 , 32 ).toInt();     // string na číslo int - AC Output active power
  values.AC_O_per = prijate_data.substring( 33 , 36 ).toInt();     // string na číslo int - AC Output Load percent
  values.BUS_V = prijate_data.substring( 37 , 40 ).toInt();     // string na číslo int - AC Output Bus Voltage
  values.BAT_V = prijate_data.substring( 41 , 46 ).toFloat(); // string na číslo float - Battery voltage
  values.BAT_I_A = prijate_data.substring( 47 , 50 ).toInt();     // string na číslo int - Battery charging current
  values.BAT_per = prijate_data.substring( 51 , 54 ).toInt();     // string na číslo int - Battery capacity
  values.INV_TMP = prijate_data.substring( 55 , 59 ).toInt();     // string na číslo int - Heatsink temperature
  values.PV_I_A = prijate_data.substring( 60 , 64 ).toInt();     // string na číslo int - PV Input current for battery
  values.PV_I_V = prijate_data.substring( 65 , 70 ).toFloat(); // string na číslo float - PV Input voltage 1
  values.BAT_O_V = prijate_data.substring( 71 , 76 ).toFloat(); // string na číslo float - Battery voltage from SCC
  values.BAT_O_A = prijate_data.substring( 77 , 82 ).toFloat(); // string na číslo float - Battery discharge current
  return values;
}
//------------------------------------------------------------------
String get_QMOD() {
  String value;
  send_QMOD();
  delay( 10 );
  String prijate_data = Axpert_receive();
  value = prijate_data.substring( 1 , 2 );
  return value;
}
//------------------------------------------------------------------
void send_QPIGS() { // odeslani dat do Axpertu
  Axpert.write( QPIGS , sizeof( QPIGS ) ); // odeslání požadavku QPIGS
  Serial.println( "QPIGS odeslane" );
  Axpert.flush();
}
//------------------------------------------------------------------
void send_QMOD() { // odeslani dat do Axpertu
  Axpert.write( QMOD , sizeof( QMOD ) ); // odeslání požadavku QPIGS
  Serial.println( "QMOD odeslane" );
  Axpert.flush();
}
Jinak převodník RS232 mám na jiných pinech z důvodu jiného převodníku na ethernet....
3,6kWp ::pv:: | 2x MUST PV18-3024 VHM, 3kW/24V | 16kWh *batt*
Matess
Příspěvky: 1734
Registrován: pon zář 09, 2013 5:16 pm
Lokalita: Šumperk
Bydliště: Šumperk

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Matess »

ta mega na aliexpressu stojí docela drobný... fakt má smysl to řešit?
Soban
Příspěvky: 3842
Registrován: pon úno 07, 2022 10:11 pm
Lokalita: Zlaté Hory / Olomouc
Systémové napětí: 24V
Výkon panelů [Wp]: 3600
Kapacita baterie [kWh]: 16
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Zlaté Hory

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Soban »

No když to UNO mám.....

Tak jsou dvě možnosti nacpu to tam i s nějakým WWW a nebo ne.

Když ne no tak ho nechám pouze jako RS232 to LAN a v internetu mám jeden server a v lan druhý a tam už si napíši nějaký SW pro zobrazení hodnot.

Prostě mě zarazilo že není pro FVE žádný SW, vše je buď za peníze a ještě odesílá data bůhví kam....
3,6kWp ::pv:: | 2x MUST PV18-3024 VHM, 3kW/24V | 16kWh *batt*
PetrDubi
Příspěvky: 1534
Registrován: úte říj 12, 2021 10:43 am
Lokalita: Blízko Ústí nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 10790
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od PetrDubi »

UNO má holt na nějaký větší věci málo paměti no..
JInak pro ten ESP existuje i projekt ESP-link, kdy se do ESP nahraje hotový program, přes web se nastaví parametry, připojí se k nějakému zařízení a do počítače si nainstaluješ prográmek, který se spojí s ESP-linkem a vytvoří ti virtuální port, přes který se připojíš ke vzdálenému zařízení, jako kdyby jsi ho měl připojené přímo do počítače.
A četl jsem i něco o možnosti připojit ten ESP-link do Home Assistant pomocí integrace RFlink, ale to nevím jestli funguje takhle napřímo.

A jinak v ESPhome je i možnost připojit UNO nebo jiné Arduino port expander (do arduina se nahraje připravený program, potom se připojí přes I2C k ESP a ESP může používat vstupy a výstupy na Arduinu - pokud je potřeba víc vstupů/výstupů nebo vstupy které zvládají i 5V a ne jenom 3,3V u digitálních a 1V u analogu).
mobilní elektrárna 3x Uni-solar PVL-68 a Victron 75/15 MPPT
doma 3280 Wp JV, 3810 Wp JZ, 3690 Wp SZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
Soban
Příspěvky: 3842
Registrován: pon úno 07, 2022 10:11 pm
Lokalita: Zlaté Hory / Olomouc
Systémové napětí: 24V
Výkon panelů [Wp]: 3600
Kapacita baterie [kWh]: 16
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Zlaté Hory

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Soban »

Taky tu mám jedno malé ESP taky uvažuji že ho tam možná vrazím místo toho UNA, měl jsem tam SW pro měření teploty, možná to bude lepší jak to UNO, ale mám tu nejmenší verzi (pouze 2 piny pro I/O a TX/RX), ale to by nemělo vadit spojení přes wifi a RS232 se připojí na ten seriový port.

Jinak ten ESP napájím z 5V akorát teď nevím zda tam na destičce není stabilizátor na 3V budu to muset skouknout.
3,6kWp ::pv:: | 2x MUST PV18-3024 VHM, 3kW/24V | 16kWh *batt*
kodl69
Příspěvky: 7627
Registrován: sob črc 19, 2014 8:56 pm
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od kodl69 »

není tam 3V stabilizátor, ale je to 3V procesr, pozor na to.
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
PetrDubi
Příspěvky: 1534
Registrován: úte říj 12, 2021 10:43 am
Lokalita: Blízko Ústí nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 10790
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od PetrDubi »

Viděl jsem už i tenhle pidi ESP modul se stabilizátorem, ale standartně ho nemá.
Ten převodník na RS232 by ale měl být napájený z 3,3V aby nepouštěl do ESP 5V a neodpálilo to vstup.
mobilní elektrárna 3x Uni-solar PVL-68 a Victron 75/15 MPPT
doma 3280 Wp JV, 3810 Wp JZ, 3690 Wp SZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
Soban
Příspěvky: 3842
Registrován: pon úno 07, 2022 10:11 pm
Lokalita: Zlaté Hory / Olomouc
Systémové napětí: 24V
Výkon panelů [Wp]: 3600
Kapacita baterie [kWh]: 16
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Zlaté Hory

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Soban »

Jo vyhrabal jsem ho a ten malinkej modul je fakt na 3V nemá tam stabilizátor.....
3,6kWp ::pv:: | 2x MUST PV18-3024 VHM, 3kW/24V | 16kWh *batt*
PetrDubi
Příspěvky: 1534
Registrován: úte říj 12, 2021 10:43 am
Lokalita: Blízko Ústí nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 10790
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od PetrDubi »

Pokud není problém s rozměry nebo s o něco vyšší spotřebou, tak používám raději Wemos D1 nebo Nodemcu. Mám z Hadexu i ESP, které má rozměry i konektory jako UNO, to je na náhradu UNO ideální a má i DC měnič a napájení přes kulatý "jack". Takže připojíš třeba 12V adaptér a na desce máš stabilních 5V a 3,3V.
mobilní elektrárna 3x Uni-solar PVL-68 a Victron 75/15 MPPT
doma 3280 Wp JV, 3810 Wp JZ, 3690 Wp SZ, Easun SMW 8k (rebrandovaný MAX 8 kW), aku 13kWh 16s LiFePO4
proasnet
Příspěvky: 376
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od proasnet »

Zdravím Vás, ten projekt pro UNO byl úplný začátek projektu, kterému se už nevěnuji.
Podstatně dál je verze pro Mega s displejem Nextion, kterou můžu doporučit.
Jak víte, existuje spoustu podobných projektů, a knihoven, které jsem v rámci volného času prohlížel, ale pokud byly pro např. Raspberry Pi, byly to verze placené v několika desítkách eur, spoustu knihoven na internetu je nefunkčních, nebo dělají problémy při kompilaci, a jen velmi málo projektů dokáže měniče i nastavovat, většinou jen čtou.
Jiné projekty pro ESP jsou na Wifi, to jsem přesně nechtěl, moje zásada tohoto projektu byla kabelová.
Proto jsem si udělal vlastní projekt, který mi v poslední verzi funguje svým životem skoro bez chyb už několik týdnů.
Zdroják pro IDE na Axpertino Mega jsem nezveřejňoval, jen kompilované soubory, mám k tomu svoje důvody.

PS: Kdo se pustí do stavby projektu s Arduino Mega (Axpertino GW 0.62), berte prosím na vědomí, že bez 5" NX8048K050 displeje Nextion vám to nebude fungovat. V menu se totiž nastavuje i konekt na MQTT a program sleduje aktuální stránku a podle toho generuje dotazy.
Ten displej je zde
https://nextion.tech/enhanced-series-introduction/
Projekt má i webové rozhraní "zatím" v základní verzi, má funkci kterou jsem u jiných projektů neviděl a to zadání dotazu pro měnič ( např. QPIGS aj.) s automatickým vygenerováním CRC a zobrazení odpovědi měniče.
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
10055
Příspěvky: 223
Registrován: ned lis 21, 2021 8:29 am
Bydliště: Zubří

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od 10055 »

to chápu stavíš to přece hlavně pro sebe a případně dál.
kterou verzi bych mohl použít pro Megu s tím aby data přenášela do mqtt na Homeassistenta.
Nastvení by bylo taky super, ale to věřím že se děje jednou za čas a tak to mohu natukat na tom displeji měniče
měnič Easun 8kW, Baterie Lifepo 16S280A 15kW x 2 = 30kW, 7200kWp Amerisolar 450 8S2P J/Z + 3900kWp Leapton650 V,
Jinak jsem Robert - nick používám už dlouho a jsem na něj zvyklý
proasnet
Příspěvky: 376
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od proasnet »

10055 píše:to chápu stavíš to přece hlavně pro sebe a případně dál.
kterou verzi bych mohl použít pro Megu s tím aby data přenášela do mqtt na Homeassistenta.
Nastvení by bylo taky super, ale to věřím že se děje jednou za čas a tak to mohu natukat na tom displeji měniče

Hele tady jsem ti to přepsal pro Megu ve zdrojáku, na Serial1 je měnič. Dal jsem ti tam webové rozhraní, zkompiloval ale neotestoval, tak jestli chceš tak to otestuj a případně dej vědět, jestli to funguje nebo ne. Nebo to můžeš opravit.
Přihlašovací údaje do webu jsou stejné jako pro plnou verzi (viz výše v příspěvku)

Přepiš si přihlašovací údaje do MQTT a jmého a heslo do MQTT....
AxpertinoGW_lite_V0.3.rar
Program Lite v0.3
(5.01 KiB) Staženo 214 x
Naposledy upravil(a) proasnet dne pát bře 25, 2022 1:19 pm, celkem upraveno 1 x.
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
10055
Příspěvky: 223
Registrován: ned lis 21, 2021 8:29 am
Bydliště: Zubří

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od 10055 »

jé díky :yes:

večer až budou děti a žena spát :comp:
měnič Easun 8kW, Baterie Lifepo 16S280A 15kW x 2 = 30kW, 7200kWp Amerisolar 450 8S2P J/Z + 3900kWp Leapton650 V,
Jinak jsem Robert - nick používám už dlouho a jsem na něj zvyklý
proasnet
Příspěvky: 376
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od proasnet »

dopsal jsem do příspěvku : Přepiš si přihlašovací údaje do MQTT a jmého a heslo do MQTT....
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
proasnet
Příspěvky: 376
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od proasnet »

10055 píše:jé díky :yes:

večer až budou děti a žena spát :comp:
Nezapomeň si doplnit knihovny do Arduino IDE.
1. Webduino
2. ArduinoHA

Pro jistotu jsou tu a nainstaluješ si je jako ZIP knihovnu ( ve správci knihoven v Arduino IDE )
Webduino.zip
webduino
(41.17 KiB) Staženo 230 x
arduino-home-assistant-main.zip
ArduinoHA
(54.43 KiB) Staženo 205 x
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
Soban
Příspěvky: 3842
Registrován: pon úno 07, 2022 10:11 pm
Lokalita: Zlaté Hory / Olomouc
Systémové napětí: 24V
Výkon panelů [Wp]: 3600
Kapacita baterie [kWh]: 16
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Zlaté Hory

Re: Arduino Mega Gateway pro Home Assistant

Příspěvek od Soban »

Díky za osvětu, právě že jsem taky žádný použitelný sw nenašel. Tak to uno bude pouze jako RS232 to LAN a na jiném stroji si napíši sw a pokud se tam vleze i jednoduché www pro zobrazování uvidíme.
3,6kWp ::pv:: | 2x MUST PV18-3024 VHM, 3kW/24V | 16kWh *batt*

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek