Victron Mppt 75/15 + D1 Mini

DarkXMen

New member
Hey Leute,
mache zwar inzwischen viel mit HomeAssistant aber jetzt komme ich nicht so weiter

Habe einen Victron Mppt 75/15 und einen D1 Mini und versuche dies in HA zu integrieren

der D1 Mini ist schon geflasht und auch schon online aber sendet keine Daten

Das hier ist die Datei die ich drauf gespielt habe

YAML:
substitutions:
  external_components_source: github://KinDR007/VictronMPPT-ESPHOME@main
  lower_devicename: "victron"
  devicename: "SmartSolar_75_15"
  config_version: "v2024.06.21"
  wifi_fast_connect: "false"
  accuracy: "2"
esphome:
  name: "${lower_devicename}"
  min_version: 2024.6.0
esp8266:
  board: d1_mini
external_components:
  - source: ${external_components_source}
    refresh: 0s
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: none
  fast_connect: $wifi_fast_connect
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${devicename} Hotspot"
    password: !secret wifi_password
captive_portal:
ota:
  platform: esphome
logger:
  baud_rate: 0
  # level: VERY_VERBOSE
  esp8266_store_log_strings_in_flash: false
# If you use Home Assistant please remove this `mqtt` section and uncomment the `api` component!
# The native API has many advantages over MQTT: https://esphome.io/components/api.html#advantages-over-mqtt
# api:
web_server:
  port: 80
time:
  - platform: sntp
uart:
  id: uart_bus
  tx_pin: D8  # Not connected! The communication is read-only
  rx_pin: D7  # Connect this this GPIO and GND to the MPPT charger
  baud_rate: 19200
  stop_bits: 1
  data_bits: 8
  parity: NONE
  rx_buffer_size: 256
victron:
  id: victron0
  uart_id: uart_bus
  throttle: 10s
sensor:
  - platform: victron
    victron_id: victron0
    panel_voltage:
      name: "Panel voltage"
      id: pv
    battery_voltage:
      name: "Battery voltage"
      id: bv
    battery_current:
      name: "Battery current"
      id: bc
    load_current:
      name: "Load current"
      id: load_current
    max_power_yesterday:
      name: "Max power yesterday"
      id: max_power_yesterday
    max_power_today:
      name: "Max power today"
      id: max_power_today
      accuracy_decimals: ${accuracy}
    yield_total:
      name: "Yield total"
      id: yield_total
      filters:
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
      unit_of_measurement: kWh
      accuracy_decimals: ${accuracy}
    yield_yesterday:
      name: "Yield yesterday"
      id: yield_yesterday
      filters:
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
      unit_of_measurement: kWh
      accuracy_decimals: ${accuracy}
    yield_today:
      name: "Yield today"
      id: yt
      filters:
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
      unit_of_measurement: kWh
      accuracy_decimals: ${accuracy}
    panel_power:
      name: "Panel power"
      id: panel_power
    day_number:
      name: "Day sequence number"
      id: day_number
      icon: "mdi:calendar-today"
    charging_mode_id:
      name: "Charger mode id"
    error_code:
      name: "Error code"
    tracking_mode_id:
      name: "Tracker mode id"
  - platform: wifi_signal
    name: "${devicename} WiFi Signal Sensor"
    id: rssi_sensor
    update_interval: 15s
  - platform: template
    name: "Wifi Quality"
    unit_of_measurement: "%"
    accuracy_decimals: 0
    icon: "mdi:wifi"
    update_interval: 15s
    lambda: |-
        int quality;
        const int rssi = id(rssi_sensor).state;
        if (rssi <= -100) {
          quality = 0;
        } else if (rssi >= -50) {
          quality = 100;
        } else {
          quality = 2 * (rssi + 100);
        }
        return quality;
  - platform: uptime
    name: "${devicename} Uptime"
    id: uptime_s
    update_interval: 5s
  - platform: template  # for 1 cell of battery
    name: "Bat S1 "     # 7S pack
    lambda: |-
      if ((((id(bv).state) / 7) > 4.22) && (((id(bv).state) / 7) < 3.2)) {
        return NAN;
      }
      return ((id(bv).state) / 7);
    update_interval: 10s
    icon: "mdi:battery"
    unit_of_measurement: V
    device_class: "voltage"
    accuracy_decimals: ${accuracy}
  - platform: template           # Battery working percent
    name: "Bat working percent"  # cycle batt between 3,7v - 4.17v
    lambda: |-
      if (((((((((id(bv).state) / 7 )) - 3.700) / (4.170 - 3.700)) * 100)) >= 115) && ((((((((id(bv).state) / 7 )) - 3.700) / (4.170 - 3.700)) * 100)) <= -25)) {
        return NAN;
      }
      return ((((((id(bv).state) / 7 )) - 3.700) / (4.170 - 3.700)  ) * 100);
    update_interval: 15s
    icon: "mdi:battery"
    unit_of_measurement: "%"
    device_class: "voltage"
    accuracy_decimals: ${accuracy}
  - platform: template   # FVE percent
    name: "FVE percent"  # 500Wp max power of my FVE grid
    lambda: |-
        if (((((id(panel_power).state) / 500) * 100) >= 120) && ((((id(panel_power).state) / 500) * 100) < 0)) {
          return NAN;
        }
        return (((id(panel_power).state) / 500) * 100);
    icon: "mdi:gauge"
    unit_of_measurement: "%"
    device_class: "power"
    accuracy_decimals: ${accuracy}
    update_interval: 15s
  - platform: template   # median generated day energy
    name: "Day median generated "  # 500Wp max power of my FVE grid
    lambda: |-
        return (id(yield_total).state) / (id(day_number).state);
    update_interval: 15s
    icon: "mdi:gauge"
    unit_of_measurement: "kWh"
    device_class: "power"
    accuracy_decimals: 3
text_sensor:
  - platform: victron
    victron_id: victron0
    charging_mode:
      name: "Charging Mode"
    error:
      name: "Error"
    tracking_mode:
      name: "Tracking Mode"
    firmware_version:
      name: "Firmware Version"
    device_type:
      name: "Device Type"
  - platform: template
    name: "${devicename} Config Version"
    icon: mdi:information-outline
    lambda: |-
      return {"${config_version}"};
  - platform: version
    name: "${devicename} Esphome Version"
    icon: mdi:information-outline
  - platform: wifi_info
    ip_address:
      name: "${devicename} IP Address"
      icon: mdi:ip
    ssid:
      name: "${devicename} Connected SSID"
      icon: mdi:wifi
    bssid:
      name: "${devicename} Connected BSSID"
    mac_address:
      name: "${devicename} Mac Wifi Address"
  - platform: template
    name: "${devicename} Uptime (formatted)"
    lambda: |-
      uint32_t dur = id(uptime_s).state;
      int dys = 0;
      int hrs = 0;
      int mnts = 0;
      if (dur > 86399) {
        dys = trunc(dur / 86400);
        dur = dur - (dys * 86400);
      }
      if (dur > 3599) {
        hrs = trunc(dur / 3600);
        dur = dur - (hrs * 3600);
      }
      if (dur > 59) {
        mnts = trunc(dur / 60);
        dur = dur - (mnts * 60);
      }
      char buffer[17];
      sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
      return {buffer};
    icon: mdi:clock-start
    update_interval: 5s
switch:
  - platform: restart
    icon: mdi:reload-alert
    name: "${devicename} Restart"



Wenn ich den D1 Mini besuche ist er online und zeigts rechts im Log immer folgendes an

Habe den die 2 Adern auf D7 und G angeschloßen und der D1 mini wird über usb netzteil versorgt

19:27:28[D][sensor:104]'SmartSolar_75_15 Uptime': Sending state 660.93402 s with 0 decimals of accuracy
19:27:28[D][sensor:104]'FVE percent': Sending state nan % with 2 decimals of accuracy
19:27:28[W][victron:093]Last transmission too long ago
19:27:28[D][sensor:104]'Bat working percent': Sending state nan % with 2 decimals of accuracy
19:27:29[W][victron:093]Last transmission too long ago
19:27:30[D][text_sensor:069]'SmartSolar_75_15 Uptime (formatted)': Sending state '0d 00h 11m 00s'
19:27:30[D][sensor:104]'Bat S1 ': Sending state nan V with 2 decimals of accuracy
19:27:30[D][sensor:104]'Wifi Quality': Sending state 74.00000 % with 0 decimals of accuracy
19:27:33[D][sensor:104]'SmartSolar_75_15 Uptime': Sending state 665.93701 s with 0 decimals of accuracy
19:27:33[W][victron:093]Last transmission too long ago
19:27:34[W][victron:093]Last transmission too long ago
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.956
Beiträge
67.608
Mitglieder
7.333
Neuestes Mitglied
joma227
Zurück
Oben