Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la invertor

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la invertor

Unread postby Levy » 07 Feb 2024 00:23

Atention!
This material is strictly experimental!
The author DOES NOT ASSUME any responsibility for any damage you may cause!
If you do and use what is presented on this channel, you will do so at your own risk!

Atentie!
Acest material este strict experimental!
Autorul NU Își ASUMA nicio responsabilitate pentru orice daune pe care le-ați putea provoca!
Dacă faci și folosești ceea ce este prezentat pe acest canal, o vei face pe propriul tău risc!


Am reusit sa citesc datele din Home Assistant cu ajutorul unui ESP32. :drink2:

Conectarea dintre ESP32 si Home Assistant este prin reteaua Wifi, neavand nevoie de legatura fizica dintre microcontroler si serverul de Home Assistant. :agree:
Probabil va intrebati ce naiba as putea face cu datele citite intr-un ESP32 din moment ce le am in Home Assistant.
In primul rand se pot afisa mai multe date in timp real pe un display de dimensiuni mai mari unde sa aveti afisate datele mai importante din invertor.
In al doilea rand va puteti crea propriile dispozitive cu ajutorul carora la o anumita productie a sistemului solar sa va puteti confectiona prorpiile relee inteligente care sa cupleze sau decupleze in functie de ce valori ale productiei solare stabiliti dumneavoastra.
Dar citirea datelor din Home Assistant nu este doar despre datele dintr-un invertor. Practic puteti citi starea oricarui senzor pe care-l aveti integrat in Home Assistant si face o anumita automatizare cu acesta. Posibilitatile devin nelimitate, totul depinzand de fantezia sau necesitatile celui care se joaca cu aceasta jucarie.

Dar sa revenim la subiectul pe care l-am abordat.
Citirea datelor din Home Assistant.

Pentru inceput aveti nevoie de cateva date chiar din Home Assistant:
- In primul rand IP-ul serverului de Home Assistant.
- Dupa care aveti nevoie de numele entitatii din Home Assistant pe care vreti s-o puteti citi din exterior.
- Mai aveti nevoie si de un token, care sa va autorizeze dreptul sa cititi date din exterior din serverul de Home Assistant.
Despre felul in care se face acel token, veti vedea in videoclipul pe care-l atasez la sfarsitul acestui material.

Cel mai simplu cod cu ajutorul caruia puteti citi date din Home Asssistant cu un ESP32 este acesta:



Am facut un scurt video cu explicatii mai amanuntite despre felul in care am citit datele din serverul de Home Assistant.


Pentru afisare am conectat un display ST7735 de 1.8 inch.
Conectarea displayului de ESP32 s-a facut astfel:

Code: Select all

#define TFT_CS    5
#define TFT_RST   4
#define TFT_DC    2


Codul pe care l-am incarcat in microcontroler pentru afisarea datelor citite din Home Assistant pe display este urmatorul:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 07 Feb 2024 11:42

Displayul pe care l-am folosit este identic cu acesta.

Image

Nu l-am cumparat din acest magazin. Magazinul de la care l-am cumparat vad ca nu mai are in oferta acest display.

Image

Conectarea electrica a displayului de ESP32 l-am facut astfel:

Code: Select all

 Display   -   ESP32
 
      LED  -  3.3V
      SCK  -  D18
      SDA  -  D23
     A0    -  D2
    RESET  -  D4
       CS  -  D5
      GND  -  GND
      VCC  - 3.3V
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
allsattnt
Standard User
Posts: 237
Joined: 07 Dec 2014 19:15

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby allsattnt » 10 Mar 2024 15:50

Salutare.
As vrea sa fac un server local pentru un invertor care mi-a picat in mana si la care stiu ca si comunicatie rx,tx .
Nu ma multumeste aplicatia pentru ca trimite datele la 5 min.
Mai am unul ce merge cu solarassistant,dar acesta inca nu am reusit sa-l fac a merge cu aplicatia asta.
Pe un esp32 pot face asta?
Vreau datele in timp real.

Inverterul este Sumry MPS-VX 4.5KW.
E prima data cand traiesc,asa ca e omeneste sa mai si gresesc!
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 11 Mar 2024 16:29

Si la Huawei am datele la 5 minute.
Insa am adaugat un SDongle la invertor si astfel pot citi datele din invertor si din smartmeter si la 10 secunde.

Nu am idee ce solutie este pentru invertorul pe care-l folosesti.
Ai incercat sa integrezi invertorul tau in Home Assistant sa vezi ce posibilitati ai acolo?

Cu ESP32 citesc datele din Home Assistant, care la randul lui citeste via SDongle din invertor.
Acel mic dispozitiv facut cu ESP32 functioneaza de atunci si nu am avut probleme cu el.
Am de gand sa fac un Dashboard electric (poate mai adaug si altele) pe un display de 7 inch, dar din pacate putinul timp liber pe care-l am nu-mi permite sa fac chiar tot ce visez. :haha:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 29 Jun 2024 20:30

Pentru ca au trecut mai mult de 5 luni de la acest test de citire a datelor din serverul de Home Assistant, timp in care instalatia improvizata, cu firele infipte in breadboard, a functionat impecabil, am zis ca a sosit momentul sa-l fac putin mai serios.
Dupa cateva ore de teste, astazi am avut primele rezultate.

Image

Dupa cum se vede in video, am folosit un ESP32-8048S070C.
Este un ESP32-S3, cu un display superb cu un unghi larg de vizionare si culori placute, totul insotit de un touchscreen capacitiv.
Bineinteles fiind la primele teste nici nu am incercat sa vad daca pot folosi acest touchscreen in proiectul meu, probabil doar daca va avansa in continuare.

Momentan ce vedeti in acel scurt videoclip este rezultatul dupa prima zi de munca pe acest proiect, care inca poate fi mult imbunatatit.
Momentan pe display afisez datele din sistemul meu fotovoltaic, date pe care le am icolectat din invertor si smartmeter cu serverul de Home Assistant.

Am afisat pe display urmatorii senzori:
- Inverter Active power
- Power meter Active power
- Consum Casă ( acesta nu este o entitate existenta in Huawei Solar, este o entitate pe care am facut-o din niste calcule simple, vezi aici.)
- Inverter Daily yield
- Power meter Tensiune
- Inverter Internal temperature

Probabil voi adauga schimbarea culorilor in rosu in momentul in care energia este luata din retea, si eventual adaugarea de sageti care in functie valoarea datelor citite sa indice directia in care "curge" curentul electric.

Image

Odata cu continuarea proiectului si finisarea lui, voi pune la dispozitie codul sursa pentru a putea fi reprodus de fiecare pasionat.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 03 Jul 2024 17:04

Pentru ca este o vreme ploioasa si nu pot lucra nimic prin curte, am continuat proiectul cu afisarea datelor pe un display.

In prima faza am adaugat schimbarea culorilor de fundal in rosu in momentul in care scade productia si consumul se face si din (sau doar din) retea. In momentul in care nu se consuma nimic din retea fundalul la cercuri devine verde, cum era si pana acum.
Am adaugat niste sageti care sa indice directia de "curgere" a curentului electric, astfel vedem daca se injecteaza sau daca se consuma din retea.
Viteza sagetilor este direct proportionata cu cantitatea de curent electric care circula in directia sagetii. Aceasta viteza se adapteaza dinamic cu curentul trecut prin circuitul sagetii. In momentul in care pe un circuit nu mai circula curentul electric dispare complet sageata de pe acel circuit.

Astazi am adaugat si un ceas, care scoate ora exacta din retea, si o afiseaza pe display.
Ideal ar fi ca in momentul in care sistemul fotovoltaic intra in standby (se poate citi si aceasta valoare!) sa dispara totul de pe display si sa apara un ceas mare. Dar acesta inca nu este realizat, poate in viitorul apropiat.

Iata si doua videoclipuri scurte cu avansul de pana acum:

Image

In primul video productia este putin mai mare decat consumul casei, astfel incat se injecteaza si in retea.

Image

In al doilea video plafonul de nori acopera aproape complet soarele, astfel incat panourile nu produc nici cat sa asigure consumul casei.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 12 Jul 2024 16:11

Intre timp am mai reusit sa corectez unele bug-uri pe care le-am creat la adaugarea celui de al doilea panel, iar intre afisari am introdus efectele de FadeIn si FadeOut, care de fapt duc luminozitatea display-ului la zero si a doua rutina de la zero ridica la starea prestabilita, astfel tranzitia dintre cele doua ecrane afisate nu este atat de brusca ca si pana acum. Inca se poate lucra la aceasta parte a codului.

Momentan acesta este stadiul in care a ajuns acest prioect:



La pornire pe display apar informatii despre starea conexiunii wifi, ip-ul de care s-a conectat. Iar la pierderea legaturii cu reteaua se va afisa si acest fapt pe ecran.
Proiectul este in derulare... :drink:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
Levy
Gold User
Posts: 1569
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: Poate ESP32 să citească date din Home Assistant? Citire „Putere Activă Invertor” din Home Assistant conectat la inve

Unread postby Levy » 14 Jul 2024 09:04

In sfarsit codul a ajuns sa fie stabil, si am impresia ca am corectat toate problemele aparute.

ATENTIE!

Declinare a răspunderii!


ACEST MATERIAL ESTE STRICT EXPERIMENTAL SI TREBUIE TRATAT CA ATARE!
AUTORUL NU RASPUNDE DE EVENTUALELE PAGUBE PE CARE DUMNEAVOASTRA LE PRODUCETI!
DACA REPRODUCETI ACEST DISPOZITIV O FACETI PE PROPRIE RASPUNDERE!


Acest dispozitiv extrage datele existente din serverul Home Assistant si le afiseaza pe un display exterior serverului.
Singura legatura dintre acest dispozitiv si server se face via reteaua wifi de care sunt conectate ambele dispozitive.
In acest video se extrag datele mai importante ale unui sistem fotovoltaic si se afiseaza pe un display, cu mici animatii care indica sensul curentului, viteza sagetilor fiind direct proportionala cu puterea care curge pe ramura respectiva.

Hardware:
Am folosit acest microcontroler: https://www.aliexpress.com/item/1005004952726089.html

Software:
In codul pe care vi-l pun la dispozitie aveti notate versiunile de librarii pe care le-am folosit. Este foarte important sa folositi acele versiuni de librarii!
Versiunea stabila al codului il puteti gasi pe pagina mea de pastebin: https://pastebin.com/u/LeventeDaradici
Link direct catre codul folosit aveti aici
sau puteti vedea codul direct in aceasta fereastra:



Un video cu cateva explicatii simple despre evolutie si functionare.



Daca incercati sa reproduceti acest material pe acest display, foarte mare atentie la versiunile de librarii folosite!
Am comentat in cod versiunile pe care le-am folosit eu.


Videoclipul o sa aiba mai multe limbi la subtitrare, bineinteles ca toate vor fi facute cu softuri specializate de traducere a subtitrarilor.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 1 guest