Problème de communication Onduleur vers HA! Un souci de communication (rtx>trx?)

Bien le bonjour à tous! A chaque jour son problème XD!
Donc, après avoir ré installer complètement HA sur un raspi 4 et avoir perdu mes sauvegardes, j’ai un autre souci!

En possession d’un onduleur hybride WKS, j’avais fais l’installation avec câble rj45/rs232/esp32 vers HA. tout fonctionnait très bien et beaucoup de mes programmations s’appuyaient sur les sensors du WKS.
Là, je dois avoir un souci dans mon programme! J’ai bien tout mes sensors sur HA, mais ils sont indisponible!

Donc dans l’ordre de ce que j’ai:
-Un fichier yaml flashé et passé sur un esp 32 (wifi et tout ça, ça marche) qui intègre:

  esphome:
  name: wks1
  platform: ESP32
  board: esp32dev

  includes:
   - wks1_avec_esp32.h
   

wifi:
  ssid: "secret bidule"
  password: "code du secret bidule"


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Wks1 Fallback Hotspot"
    password: "autre code secret bidule"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
switch:
  - platform: restart
    name: "esp32_restart"

time:
  platform: sntp
  id: my_time

sensor:

  - platform: custom
    id: WKS1_id
    lambda: |-
     auto WKS1 = new WKS1CustomSensor();
     App.register_component(WKS1);
     return {WKS1->WKS1, WKS1->WKS1_Grid_Voltage, WKS1->WKS1_Grid_frequence, WKS1->WKS1_AC_output_voltage, WKS1->WKS1_AC_output_frequency, WKS1->WKS1_output_apparent_power, WKS1->WKS1_output_active_power, WKS1->WKS1_output_load_percent, WKS1->WKS1_BUS_voltage, WKS1->WKS1_Battery_voltage, WKS1->WKS1_battery_charge_current, WKS1->WKS1_battery_capacity, WKS1->WKS1_Inverter_heat_sink_temperature, WKS1->WKS1_PV_current, WKS1->WKS1_PV_voltage, WKS1->WKS1_Battery_voltage_from_SCC, WKS1->WKS1_battery_discharge_current, WKS1->WKS1_device_status, WKS1->WKS1_battery_voltage_offset, WKS1->WKS1_eeprom_version, WKS1->WKS1_PV_charging_power, WKS1->WKS1_device_status_2};
     

    sensors:
    
    - name: "WKS1_Grid_Voltage"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
    
    - name: "WKS1_Grid_frequence"
      unit_of_measurement: "Hz"
      accuracy_decimals: 1
      icon: mdi:frequency
    
    - name: "WKS1_AC_output_voltage"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
    
    - name: "WKS1_AC_output_frequency"
      unit_of_measurement: "Hz"
      accuracy_decimals: 1
      icon: mdi:frequency
      
    - name: "WKS1_output_apparent_power"
      unit_of_measurement: "VA"
      accuracy_decimals: 1
      icon: mdi:power
      
    - name: "WKS1_output_active_power"
      unit_of_measurement: "W"
      accuracy_decimals: 1
      icon: mdi:power
      id: WKS1_puissance
      
    - name: "WKS1_output_load_percent"
      unit_of_measurement: "%"
      accuracy_decimals: 1
      icon: mdi:percent
      
    - name: "WKS1_BUS_voltage"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
      
    - name: "WKS1_Battery_voltage"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
    
    - name: "WKS1_battery_charge_current"
      unit_of_measurement: "A"
      accuracy_decimals: 1
      icon: mdi:power-socket
    
    - name: "WKS1_battery_capacity"
      unit_of_measurement: "%"
      accuracy_decimals: 1
      icon: mdi:percent
    
    - name: "WKS1_Inverter_heat_sink_temperature"
      unit_of_measurement: "C"
      accuracy_decimals: 1
      icon: mdi:thermometer
      
    - name: "WKS1_PV_current"
      unit_of_measurement: "A"
      accuracy_decimals: 1
      icon: mdi:power-socket
      
    - name: "WKS1_PV_voltage"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
      
    - name: "WKS1_Battery_voltage_from_SCC"
      unit_of_measurement: "A"
      accuracy_decimals: 1
      icon: mdi:power-socket
      
    - name: "WKS1_battery_discharge_current"
      unit_of_measurement: "A"
      accuracy_decimals: 1
      icon: mdi:power-socket
      
    - name: "WKS1_device_status"
      unit_of_measurement: ""
      accuracy_decimals: 0
      icon: mdi:power-socket
      
    - name: "WKS1_battery_voltage_offset"
      unit_of_measurement: "V"
      accuracy_decimals: 1
      icon: mdi:power
      
    - name: "WKS1_eeprom_version"
      unit_of_measurement: ""
      accuracy_decimals: 1
      icon: mdi:power
      
    - name: "WKS1_PV_charging_power"
      unit_of_measurement: "W"
      accuracy_decimals: 1
      icon: mdi:power
      id: WKS1_pv_charging_power
      
      
    - name: "WKS1_device_status_2"
      unit_of_measurement: ""
      accuracy_decimals: 0
      icon: mdi:power
 
  - platform: total_daily_energy
    name: WKS1_production_solaire_jour
    power_id: WKS1_pv_charging_power
    unit_of_measurement: 'KWH'
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
    icon: mdi:counter
    
  - platform: total_daily_energy
    name: WKS1_consommation_jour
    power_id: WKS1_puissance
    unit_of_measurement: 'KWH'
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
    icon: mdi:counter

-Un fichier .h (ici wks1_avec_esp32.h) dans le dossier esphome

#include "esphome.h"


#define RXD2 03
#define TXD2 01


class WKS1CustomSensor : public PollingComponent, public Sensor 
{
 public:

  Sensor *WKS1 = new Sensor();
  Sensor *WKS1_Grid_Voltage = new Sensor();
  Sensor *WKS1_Grid_frequence = new Sensor();
  Sensor *WKS1_AC_output_voltage = new Sensor();
  Sensor *WKS1_AC_output_frequency = new Sensor();
  Sensor *WKS1_output_apparent_power = new Sensor();
  Sensor *WKS1_output_active_power = new Sensor();
  Sensor *WKS1_output_load_percent = new Sensor();
  Sensor *WKS1_BUS_voltage = new Sensor();
  Sensor *WKS1_Battery_voltage = new Sensor();
  Sensor *WKS1_battery_charge_current = new Sensor();
  Sensor *WKS1_battery_capacity = new Sensor();
  Sensor *WKS1_Inverter_heat_sink_temperature = new Sensor();
  Sensor *WKS1_PV_current = new Sensor();
  Sensor *WKS1_PV_voltage = new Sensor();
  Sensor *WKS1_Battery_voltage_from_SCC = new Sensor();
  Sensor *WKS1_battery_discharge_current = new Sensor();
  Sensor *WKS1_device_status = new Sensor();
  Sensor *WKS1_battery_voltage_offset = new Sensor();
  Sensor *WKS1_eeprom_version = new Sensor();
  Sensor *WKS1_PV_charging_power = new Sensor();
  Sensor *WKS1_device_status_2 = new Sensor();
  
		
  unsigned long lastMillis=0;
  long previousMillis = 0;
  long interval = 5000;


  WKS1CustomSensor() : PollingComponent(3000) {}

 void setup() override 
  {
     //Serial2.begin(2400, SERIAL_8N1, RXD2, TXD2);
          
  }

 void update() override
  {
    
		String QPIGS = "\x51\x50\x49\x47\x53\xB7\xA9\x0D"; // (command for get data like voltage, frequency, power, etc ... from inverter)
   
      	unsigned long currentMillis = millis();
	
	if (currentMillis - previousMillis > interval) 
	{  
		
		
		previousMillis = currentMillis;    
		String inData;
		Serial2.print(QPIGS); 
		
		if (Serial2.find("(")) {
		    
            WKS1->publish_state(Serial2.parseFloat());
			WKS1_Grid_Voltage->publish_state(Serial2.parseFloat());
            WKS1_Grid_frequence->publish_state(Serial2.parseFloat());
            WKS1_AC_output_voltage->publish_state(Serial2.parseFloat());
            WKS1_AC_output_frequency->publish_state(Serial2.parseFloat());
            WKS1_output_apparent_power->publish_state(Serial2.parseInt());
			WKS1_output_active_power->publish_state(Serial2.parseInt());
			WKS1_output_load_percent->publish_state(Serial2.parseInt());
			WKS1_BUS_voltage->publish_state(Serial2.parseFloat());
			WKS1_Battery_voltage->publish_state(Serial2.parseFloat());
            WKS1_battery_charge_current->publish_state(Serial2.parseFloat());
			WKS1_battery_capacity->publish_state(Serial2.parseInt());
			WKS1_Inverter_heat_sink_temperature->publish_state(Serial2.parseInt());
			WKS1_PV_current->publish_state(Serial2.parseFloat());
			WKS1_PV_voltage->publish_state(Serial2.parseFloat());
			WKS1_Battery_voltage_from_SCC->publish_state(Serial2.parseFloat());
			WKS1_battery_discharge_current->publish_state(Serial2.parseFloat());
			WKS1_device_status->publish_state(Serial2.parseFloat());
			WKS1_battery_voltage_offset->publish_state(Serial2.parseFloat());
			WKS1_eeprom_version->publish_state(Serial2.parseFloat());
			WKS1_PV_charging_power->publish_state(Serial2.parseFloat());
			WKS1_device_status_2->publish_state(Serial2.parseFloat());
   
		}
	}
   
  }
};

Un indice peut être: La diode verte (trx) du rs232 ne clignote pas, la jaune (rtx) oui!

Voilà, si quelqu’un à quelques minute (windows) à m’accorder, je vous remercie d’avance!

Interessant, débutant avec HA ou placer le fichier .h dans quel dossier, faut-il utiliser file editor ? Et comment charger le fichier yaml d’un new device créé dans esphome

je suis au même stade que toi et le créateur du fichier ne répond a personne depuis je suis a la recherche d’info as tu avenacé dans tes recherche

Bonjour,
un peu de politesse, quand tu arrives dans une discutions. Trois sujets et aucun Bonjour, fais-y attention les prochaines fois. Merci

2 « J'aime »