![]() |
|
acs712 en complement du routeur... - Version imprimable +- F1ATB forum (https://f1atb.fr/forum_f1atb) +-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html) +--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html) +---- Forum : Evolutions faites, à faire, dont vous rêvez... (https://f1atb.fr/forum_f1atb/forum-10.html) +---- Sujet : acs712 en complement du routeur... (/thread-1945.html) |
acs712 en complement du routeur... - deuns - 31-10-2025 si ca peut interesser .... soit pour faire du delestage ou tout simplement suivre les consos de qqs appareil j ai assemblé un petit code pour esphome il y a 4 entrées adc pour le moment sur les 6 possible mais vous pourrez ajuster le nombre... faudrait que j importe aussi en plus de la tention le cosphy depuis l esp du routeur ca suivra plus tard le code fonctione et est integrable a la carte energie ha par contre sous cette forme il y aura certainement des problemes de tabulation. je vais demander a andré si je peu et comment deposer le fichier yaml ####################code acs712########################## esphome: name: enfin friendly_name: enfin esp32: board: esp32dev framework: type: arduino # === LOGGING === logger: # === OTA & API === api: encryption: key: "3jEhUZsfSYUWix+PoQeJPsJxEqQFeFeqTWEiY8FR87U=" ota: - platform: esphome password: "7ae9573fbc8fbd858728ae6764ec0fd9" # === WIFI === wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: "Enfin Fallback Hotspot" password: "xRQ53X4dpqnR" # === MQTT : récupère la tension secteur du routeur === mqtt: broker: 192.168.1.50 # <-- à remplacer par l'adresse de ton broker username: !secret mqtt_user password: !secret mqtt_password # === TEMPS === time: - platform: sntp id: sntp_time # === LIBRAIRIE ACS712 === external_components: - source: type: git url: https://github.com/marianomd/acs712-esphome components: [acs712] # === CAPTEURS === sensor: # === TENSION REÇUE VIA MQTT === - platform: mqtt_subscribe name: "Tension Secteur Routeur" id: line_voltage_remote topic: routeur_rms/routeur_rms_tension_m unit_of_measurement: "V" accuracy_decimals: 1 device_class: voltage state_class: measurement entity_category: diagnostic icon: mdi:flash filters: - clamp: min_value: 100 max_value: 260 # === Offsets pour calibrage === - platform: template id: acs_cumulus_offset internal: true - platform: template id: acs_frigo_offset internal: true - platform: template id: acs_plant_offset internal: true - platform: template id: acs_lavevaisselle_offset internal: true # === CUMULUS === - platform: acs712 id: acs_cumulus pin: 35 adc_bits: 4095 voltage: 5 mv_per_amp: 100 line_voltage: 230 noisemV: 21 current_sensor: name: "Cumulus Courant" id: current_cumulus unit_of_measurement: "A" device_class: current state_class: measurement power_sensor: name: "Cumulus Puissance" id: power_cumulus unit_of_measurement: "W" device_class: power state_class: measurement filters: - lambda: |- if (id(line_voltage_remote).has_state()) { return x * id(line_voltage_remote).state / 230.0; } else { return x; } - platform: total_daily_energy name: "Énergie Cumulus Journalière" id: energy_cumulus_day power_id: power_cumulus unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 3 filters: - multiply: 0.001 - platform: integration name: "Énergie Cumulus Totale" sensor: power_cumulus time_unit: h unit_of_measurement: "kWh" device_class: energy state_class: total_increasing integration_method: trapezoid # === FRIGO === - platform: acs712 id: acs_frigo pin: 36 adc_bits: 4095 voltage: 5 mv_per_amp: 100 line_voltage: 230 noisemV: 21 current_sensor: name: "Frigo Courant" id: current_frigo unit_of_measurement: "A" device_class: current state_class: measurement power_sensor: name: "Frigo Puissance" id: power_frigo unit_of_measurement: "W" device_class: power state_class: measurement filters: - lambda: |- if (id(line_voltage_remote).has_state()) { return x * id(line_voltage_remote).state / 230.0; } else { return x; } - platform: total_daily_energy name: "Énergie Frigo Journalière" id: energy_frigo_day power_id: power_frigo unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 3 filters: - multiply: 0.001 - platform: integration name: "Énergie Frigo Totale" sensor: power_frigo time_unit: h unit_of_measurement: "kWh" device_class: energy state_class: total_increasing integration_method: trapezoid # === PLANT === - platform: acs712 id: acs_plant pin: 34 adc_bits: 4095 voltage: 5 mv_per_amp: 100 line_voltage: 230 noisemV: 21 current_sensor: name: "Plant Courant" id: current_plant unit_of_measurement: "A" device_class: current state_class: measurement power_sensor: name: "Plant Puissance" id: power_plant unit_of_measurement: "W" device_class: power state_class: measurement filters: - lambda: |- if (id(line_voltage_remote).has_state()) { return x * id(line_voltage_remote).state / 230.0; } else { return x; } - platform: total_daily_energy name: "Énergie Plant Journalière" id: energy_plant_day power_id: power_plant unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 3 filters: - multiply: 0.001 - platform: integration name: "Énergie Plant Totale" sensor: power_plant time_unit: h unit_of_measurement: "kWh" device_class: energy state_class: total_increasing integration_method: trapezoid # === LAVE-VAISSELLE === - platform: acs712 id: acs_lavevaisselle pin: 39 adc_bits: 4095 voltage: 5 mv_per_amp: 100 line_voltage: 230 noisemV: 21 current_sensor: name: "Lave-Vaisselle Courant" id: current_lavevaisselle unit_of_measurement: "A" device_class: current state_class: measurement power_sensor: name: "Lave-Vaisselle Puissance" id: power_lavevaisselle unit_of_measurement: "W" device_class: power state_class: measurement filters: - lambda: |- if (id(line_voltage_remote).has_state()) { return x * id(line_voltage_remote).state / 230.0; } else { return x; } - platform: total_daily_energy name: "Énergie Lave-Vaisselle Journalière" id: energy_lavevaisselle_day power_id: power_lavevaisselle unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 3 filters: - multiply: 0.001 - platform: integration name: "Énergie Lave-Vaisselle Totale" sensor: power_lavevaisselle time_unit: h unit_of_measurement: "kWh" device_class: energy state_class: total_increasing integration_method: trapezoid # === TOTAL GLOBAL === - platform: template name: "Énergie Totale" id: energy_total unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 3 update_interval: 10s lambda: |- return ( id(energy_cumulus_day).state + id(energy_frigo_day).state + id(energy_plant_day).state + id(energy_lavevaisselle_day).state ); # === CALIBRAGE AUTOMATIQUE === interval: - interval: 5min then: - lambda: |- id(acs_cumulus_offset).publish_state(id(current_cumulus).state); id(acs_frigo_offset).publish_state(id(current_frigo).state); id(acs_plant_offset).publish_state(id(current_plant).state); id(acs_lavevaisselle_offset).publish_state(id(current_lavevaisselle).state); ESP_LOGI("calibration", "Calibration automatique mise à jour."); # === PORTAIL CAPTIF === captive_portal: |