Besoin d'aide sur ESPHOME code esp8266

Bonjour tous, après avoir vu plein de tutos j’ai réussi à apprivoiser esphome, mais là je bloque sur un code que j’ai tourné dans tout les sens et rien y fait, je m’explique, j’essai de récupérer les données de mon onduleur via un esp8266 D1 mini pro, j’ai récupéré et modifié 2 fichiers pour l’adapter à mon esp don voici le premier code

esphome:
  name: raw_serial_voltronic
  platform: ESP8266
  board: d1_mini_pro
  includes:
    - raw_serial_voltronic_custom_sensor.h
    
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "ebW0GfR+CLF0dEfvwg="

ota:
  password: "86af116c248"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Essspot"
    password: "x1kt"

captive_portal:

sensor:
  - platform: custom
    id: VOLTRONIC_id
    lambda: |-
     auto VOLTRONIC = new VOLTRONICCustomSensor();
     App.register_component(VOLTRONIC);
     return {VOLTRONIC->VOLTRONIC_raw_string};
     
    sensors:  
    - name: "VOLTRONIC_raw_string"

quand je le valide c’est ok puis j’ai un deuxième code qui va avec celui du dessus dont voici:

#include "esphome.h"


#define RXD0 3
#define TXD0 1


class VOLTRONICCustomSensor : public PollingComponent, public Sensor 
{
 public:
	Sensor *VOLTRONIC_raw_string = new Sensor();
	
	
	unsigned long lastMillis=0;
    long previousMillis = 0;
    long interval = 5000;
    double temp;
	
	VOLTRONICCustomSensor() : PollingComponent(3000) {}
	
	void setup() override 
    {
     //Serial2.begin(2400, SERIAL_8N1, RXD2, TXD2);
	 Serial1.begin(2400, SERIAL_8N1, RXD0 03, TXD0 01);
    }


 void removeNonAscii(char line[],char modifiedline[])
 {
     int i=-1;
     int j=-1;
     while(line[++i]!='\0'){
        if(!(line[i]>=0&&line[i]<=127))continue;
        else modifiedline[++j]=line[i];
     }
     modifiedline[++j]='\0';
 }

	
	void update() override 
    {
		String CMD = "\x51\x50\x49\x47\x53\xB7\xA9\x0D"; // QPIGS + CRC + CR  (EVO1, EVO2)
		//String CMD = "\x51\x50\x49\x47\x53\x0D"; // QPIGS + CR (MPPSOLAR)
        //String CMD = "\x51\x50\x49\x47\x53\x0D\x0A";
        unsigned long currentMillis = millis();
		int n;
		if (currentMillis - previousMillis > interval) 
	    {  	
		   previousMillis = currentMillis;    
		   String raw_string;
		   Serial1.print(CMD); 
		   raw_string = Serial1.readStringUntil('\r');
		   n = raw_string.length();
		   
		   char raw_array[n + 1];
		   char modifiedline[n + 1];
		   strcpy(raw_array, raw_string.c_str());
		   strcpy(modifiedline, raw_string.c_str());
		   removeNonAscii(raw_array,modifiedline);
		   ESP_LOGD("customTest", "%s" , modifiedline);
	    }		
  }	
};

et lorsque je veux l’installer il me donne cette erreur :

Compiling .pioenvs/raw_serial_voltronic/src/main.cpp.o
In file included from src/main.cpp:26:
src/raw_serial_voltronic_custom_sensor.h: In member function 'virtual void VOLTRONICCustomSensor::setup()':
src/raw_serial_voltronic_custom_sensor.h:24:40: error: expected ')' before numeric constant
   24 |   Serial1.begin(2400, SERIAL_8N1, RXD0 03, TXD0 01);
      |                ~                       ^~
src/raw_serial_voltronic_custom_sensor.h:24:49: error: expected ')' before numeric constant
   24 |   Serial1.begin(2400, SERIAL_8N1, RXD0 03, TXD0 01);
      |                ~                                ^~
src/raw_serial_voltronic_custom_sensor.h:4:14: error: invalid conversion from 'int' to 'SerialMode' [-fpermissive]
    4 | #define RXD0 3
      |              ^
      |              |
      |              int
src/raw_serial_voltronic_custom_sensor.h:24:35: note: in expansion of macro 'RXD0'
   24 |   Serial1.begin(2400, SERIAL_8N1, RXD0 03, TXD0 01);
      |                                   ^~~~
In file included from /data/cache/platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:288,
                 from .piolibdeps/raw_serial_voltronic/ESPAsyncWebServer-esphome/src/ESPAsyncWebServer.h:24,
                 from src/esphome/components/web_server_base/web_server_base.h:10,
                 from src/esphome/components/captive_portal/captive_portal.h:10,
                 from src/esphome.h:16,
                 from src/main.cpp:3:
/data/cache/platformio/packages/framework-arduinoespressif8266/cores/esp8266/HardwareSerial.h:87:68: note:   initializing argument 3 of 'void HardwareSerial::begin(long unsigned int, SerialConfig, SerialMode, uint8_t)'
   87 |     void begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin)
      |                                                         ~~~~~~~~~~~^~~~
*** [.pioenvs/raw_serial_voltronic/src/main.cpp.o] Error 1
========================= [FAILED] Took 15.39 seconds =========================

apparemment cela vient du rx et tx j’ai beau enlever dans le serial le 03 et le 01 toujours le même problème si je masque la ligne serial1.begin il arrive à l’installer mais bon je pense que si cette ligne existe il va en avoir besoin.
Merci d’avance pour votre aide

Bonjour @Pipiche_p
J’imagine que si tu fais tout ça c’est que ton onduleur n’est pas capable de remonter via USB & Network UPS Tools les données directement dans HA ?

Bob

oui tout à fait un onduleur qui cout un bras et il ne remonte rien sauf sur une appli mais bof et il n’y a pas tout d’ailleurs beaucoup d’onduleur son comme ça il utilise un pc connecté en permanence en usb et utilise un logiciel comme watchpower et c’est en voyant cette vidéo que j’ai voulu faire pareil

oui et bien le créateurs e-2-nomy vas vous envoie chier moi aussi je me trouve bloque avec son tuto incompréhensible

Super ce premier message sur le forum… :unamused:
Tu veux faire honte à la communauté BZHacf ?

a tu trouve des reponces dans tes recherche

ok sais tous ce que tu trouve as dire pour m’aide ?

Ni bonjour ni bonsoir ou autre formule minimum de politesse dans aucun de tes 3 premiers posts…
Tu crois que c’est un self service ici ?

La communauté est bienveillante et beaucoup donnent de leur temps pour en aider d’autres, un minimum de politesse ne fait pas de mal non ?

Alors excuse moi de me braquer quelque peu sur ces premiers messages, surtout quand on voit le contenu " vous envoie chier…"

et bien tu as un sacrée façon de te présente au autre toi aussi donc je doits allé dire bonjour a tous le monde les un après les autre je cherche simplement des info pour récupère les info de mon onduleur je ne pensais pas qu’il fallait montre patte blanche de plus sur un forum ou on peut trouve de l’aide alors oui je faise mes cours dans ton self service ca commence bien

1 « J'aime »

Super ce premier message sur le forum… :unamused:
Tu veux faire honte à la communauté BZHacf ?

Je n’ai pas besoin de me présenter car je ne suis pas nouveau ici et pour autant je reste toujours poli

Tu veux faire honte à la communauté BZHacf ?
et ca sais bien toi qui la écrie tu pense que sais bien pour accueille les nouveau

1 « J'aime »

pour un modérateur de site tu part mal dans les conversation avec les autre ci tu engage une conservation avec des propos pareil t’étonne pas que l’on n’ais envie de ce présente a toi « Tu veux faire honte à la communauté BZHacf ? »

1 « J'aime »

Comme dirait le dicton, c’est l’hôpital qui se fout de la charité.

Mais bon, à ta décharge , j’imagine que c’est le mauvais temps qui te rends si hargneux et qui te prive d’un minimum de savoir vivre ?

Bonne soirée quand même et j’espère que tu tomberas sur un autre membre plus sympa que moi et qui t’apportera réponses :grin:

@Krull56

Félicitations pour la promotion :grin:

2 « J'aime »

non sais que j’aime pas les con qui donne des leçon ce faire accueille par un con qui te dit pas bonjour et en plus t’écrie ceci ’ Tu veux faire honte à la communauté BZHacf ? » la tu cherche juste a retourne le problème pour un modérateur tu fais de la merde

1 « J'aime »

Merci @Tochy , mais je n’ ai pas encore passé ce cap :wink:

bonjour Tochy
merci promotion qui commencé mal avec krull56
je suis a la recherche d’info pour récupère les mesure de mon onduleur pas facile car très peut de sujet dessus

modbus:
  send_wait_time: 200ms
  id: mod_bus_1
  role: client
  disable_crc: True
  
modbus_controller:
  - id: anenji
    ## the Modbus device addr
    address: 0x1
    modbus_id: mod_bus_1
    command_throttle: 200ms
    setup_priority: -10
    update_interval: 10s 

sensor:
  - name: "EE - Consommation"
    unit_of_measurement: "kW"
    state_class: measurement
    device_class: "power"
    state: '{{ (states("sensor.solaredge_ac_power") |float - states("sensor.solaredge_m1_ac_power") | float) / 1000 }}'

Eh bien…
Autant que possible, nous essayons d’avoir un forum apaisé, poli, respectueux.
Donc, ce genre de phrases n’est pas souhaitable ici.

Dans la vie courante, quand on arrive dans un endroit et que l’on s’adresse à des personnes, dire bonjour, ça fait partie de la politesse.
L’idée est d’avoir la même chose ici. Ce n’est pas parce que c’est du virtuel que l’on doit changer les bonnes habitudes.

Et pour essayer de répondre à la question,

on croit comprendre que tu rencontres la même difficulté que le créateur du post. Malheureusement, je n’ai pas la réponse.

Désolé. Et bonsoir.

2 « J'aime »