8000 GitHub - ABovsh/eveus: Home Assistant HACS integration with Eveus PRO chargers
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ABovsh/eveus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eveus EV Charger Integration for Home Assistant

hacs_badge Version Stability

This custom integration provides comprehensive monitoring and control of Eveus EV chargers in Home Assistant, featuring advanced state tracking, dynamic update intervals, smart current control, energy monitoring, and improved SOC tracking.

Table of Contents

New in Version 2.1.0

⚡ Performance Optimizations

  • Immediate SOC updates when input numbers change - no more waiting for refresh cycles
  • Optimized SOC calculations with intelligent caching for faster response times
  • Reduced memory usage through optimized data structures and smarter caching
  • Smoother sensor updates with improved data processing pipelines
  • Enhanced network efficiency using persistent connections and keep-alive
  • Lower CPU usage through cached lookups and consolidated operations

🔄 Network & Connectivity

  • Improved connection persistence - fewer "device unavailable" errors
  • Smart retry logic with exponential backoff - automatic recovery from network issues
  • Enhanced connection monitoring - detailed visibility of charger connectivity
  • Keep-alive connections maintain stable communication longer
  • Optimized error handling for better recovery from network issues

🛠️ Code Quality & Reliability

  • Consolidated duplicate code for more efficient operation
  • Standardized entity management ensuring consistent behavior
  • Better error messages making troubleshooting easier
  • Fixed timezone handling for accurate time displays
  • Streamlined sensor creation reduces code complexity

đź”§ From Version 2.0.0

  • Dynamic Update Frequency: 30-second updates when charging, 60-second updates when idle
  • Enhanced State Management: Immediate and reliable switch state updates
  • Improved Device Info: Accurate firmware version display and better identification
  • Modular Architecture: Better maintainability and reliability
  • Zero Breaking Changes: Full backward compatibility maintained

Prerequisites

Required Helper Entities

Before installing the integration, you must create these helper entities in Home Assistant:

  1. Go to Settings → Devices & Services → Helpers
  2. Click the "+ CREATE HELPER" button
  3. Choose "Number"
  4. Create each of these helpers with the exact input_number names:
input_number:
  ev_battery_capacity:
    name: "EV Battery Capacity"
    min: 10
    max: 160
    step: 1
    unit_of_measurement: "kWh"
    mode: slider      # Optional but recommended
    icon: mdi:car-battery
    # This is the total usable capacity of your EV's battery (e.g., 80 kWh for Tesla Model 3 LR)
    # Used to calculate accurate SOC percentages and remaining charging time
    # Should match the value in your EV's manual or settings

  ev_initial_soc:
    name: "Initial EV State of Charge"
    min: 0
    max: 100
    step: 1
    unit_of_measurement: "%"
    mode: slider      # Optional but recommended
    icon: mdi:battery-charging-40
    # This should be set to your EV's current SOC displayed on the dashboard before starting to charge
    # Must be updated at the beginning of each charging session for accurate calculations
    # This acts as your starting point for SOC tracking

  ev_soc_correction:
    name: "Charging Efficiency Loss"
    min: 0
    max: 10
    step: 0.1
    initial: 7.5     # Default efficiency loss
    unit_of_measurement: "%"
    mode: slider      # Optional but recommended
    icon: mdi:chart-bell-curve
    # Accounts for energy lost during charging due to heat, cable resistance, etc.
    # Typical values are 5-10% (7.5% is a good starting point)
    # Adjust this value based on comparing the integration's SOC with your EV's actual SOC

  ev_target_soc:
    name: "Target SOC"
    min: 80
    max: 100
    step: 10
    initial: 80      # Default target
    unit_of_measurement: "%"
    mode: slider      # Optional but recommended
    icon: mdi:battery-charging-high
    # Set the desired SOC you want to reach for this charging session
    # Used to calculate "Time to Target SOC" and can be used for automation triggers
    # Many users set this to 80-90% for daily charging to preserve battery health

Important: The integration will verify these helpers exist during setup and display an error if any are missing or incorrectly configured.

Features

🔌 Basic Monitoring

  • Real-time voltage, current, and power monitoring with improved accuracy
  • Session and total energy tracking with persistent storage
  • Temperature monitoring (box and plug) with enhanced precision
  • Ground connection safety monitoring
  • Battery voltage monitoring
  • Energy counters with cost tracking (in UAH)
  • Enhanced session time formatting with days, hours, and minutes
  • Smart data caching to minimize device queries

đźš— Advanced EV Features

  • Accurate State of Charge monitoring (kWh and percentage)
  • Dynamic time-to-target calculation with efficiency correction
  • Comprehensive session time tracking
  • Smart SOC estimation based on charging patterns
  • Real-time efficiency adjustments during charging
  • Accurate remaining time calculations based on current conditions

🛡️ Reliability Features

  • Dynamic update intervals based on charging state
  • Smart retry logic with exponential backoff
  • Efficient state caching and restoration
  • Enhanced error handling and recovery
  • Comprehensive connection monitoring
  • Automatic recovery from network issues
  • Detailed diagnostic reporting

🎮 Control Features

  • Dynamic charging current control (8-16A or 8-32A based on model)
  • Reliable start/stop charging control
  • One charge mode support
  • Counter reset functionality
  • Current adjustment with safety limits
  • Improved command reliability
  • Immediate state feedback

📊 Diagnostic Features

  • Connection quality metrics
  • Detailed error tracking and reporting
  • Temperature monitoring with improved accuracy
  • Ground connection monitoring
  • Enhanced status reporting
  • Comprehensive error logging
  • System performance monitoring

Installation

Method 1: HACS (Recommended)

Step-by-Step Instructions for Adding to HACS

  1. Access HACS

    • Open your Home Assistant dashboard
    • On the sidebar menu, find and click on "HACS"
    • This will open the HACS main page
  2. Add Custom Repository

    • In the top-right corner of the HACS page, click on the three vertical dots (â‹®) menu
    • From the dropdown menu, select "Custom repositories"
    • A dialog box will appear asking for repository information
    • Fill in the following information:
      • In the "Repository" field, paste this URL: https://github.com/ABovsh/eveus
      • In the "Category" dropdown menu, select "Integration"
    • Click the "ADD" button
  3. Install the Integration

    • After adding the repository, go back to the HACS main page
    • Click on the "Integrations" section
    • In the search box at the top, type "Eveus"
    • The Eveus EV Charger integration should appear in the results
    • Click on the "Eveus EV Charger" card
    • On the integration detail page, click the "DOWNLOAD" button in the bottom-right corner
    • A confirmation dialog will appear - click "DOWNLOAD" again
    • Wait for the download to complete (this should only take a few seconds)
  4. Restart Home Assistant

    • After successful installation, you need to restart Home Assistant
    • Go to your Home Assistant main menu (sidebar)
    • Click on "Configuration"
    • Click on "Server Controls"
    • Under the "Server management" section, click the "RESTART" button
    • Wait for Home Assistant to restart completely (this may take several minutes)

Method 2: Manual Installation

  1. Download the repository
  2. Copy the custom_components/eveus directory to your Home Assistant's custom_components folder
  3. Restart Home Assistant

Configuration

Initial Setup

  1. Create all required helper entities as described in Prerequisites
  2. Go to Configuration → Integrations
  3. Click "+ Add Integration"
  4. Search for "Eveus"
  5. Enter the following details:
    • IP Address
    • Username
    • Password
    • Charger Model (16A or 32A)

Available Entities

Basic Sensors

Entity Name Description Unit
sensor.eveus_ev_charger_voltage Voltage Current voltage measurement V
sensor.eveus_ev_charger_current Current Actual charging current A
sensor.eveus_ev_charger_power Power Current charging power W
sensor.eveus_ev_charger_current_set Current Set Configured charging current limit A
sensor.eveus_ev_charger_session_energy Session Energy Energy used in current session kWh
sensor.eveus_ev_charger_session_time Session Time Duration of current charging session -
sensor.eveus_ev_charger_total_energy Total Energy Total lifetime energy delivered kWh
sensor.eveus_ev_charger_counter_a_energy Counter A Energy Primary energy counter kWh
sensor.eveus_ev_charger_counter_b_energy Counter B Energy Secondary energy counter kWh
sensor.eveus_ev_charger_counter_a_cost Counter A Cost Primary counter cost â‚´
sensor.eveus_ev_charger_counter_b_cost Counter B Cost Secondary counter cost â‚´

SOC Sensors

Entity Name Description Unit
sensor.eveus_ev_charger_soc_energy SOC Energy Current battery charge kWh
sensor.eveus_ev_charger_soc_percent SOC Percent Current battery charge %
sensor.eveus_ev_charger_time_to_target_soc Time to Target SOC Estimated charging time remaining -

Diagnostic Sensors

Entity Name Description
sensor.eveus_ev_charger_state State Current charger state (Standby, Connected, Charging, etc.)
sensor.eveus_ev_charger_substate Substate Detailed status (Limited by User, Energy Limit, etc.)
sensor.eveus_ev_charger_ground Ground Ground connection status
sensor.eveus_ev_charger_connection_quality Connection Quality Network connection reliability percentage
sensor.eveus_ev_charger_system_time System Time Charger's internal time
sensor.eveus_ev_charger_battery_voltage Battery Voltage Charger's backup battery voltage

Temperature Sensors

Entity Name Description Unit
sensor.eveus_ev_charger_box_temperature Box Temperature Internal temperature °C
sensor.eveus_ev_charger_plug_temperature Plug Temperature Plug temperature °C

Control Entities

Entity Name Description
number.eveus_ev_charger_charging_current Charging Current Set charging current limit (8-16A or 8-32A based 6D40 on model)
switch.eveus_ev_charger_stop_charging Stop Charging Start/stop charging (inverted: off=charging, on=stopped)
switch.eveus_ev_charger_one_charge One Charge Enable single charge session mode
switch.eveus_ev_charger_reset_counter_a Reset Counter A Clear primary energy counter

Rate Control Entities

Entity Name Description
sensor.eveus_ev_charger_primary_rate_cost Primary Rate Cost Base electricity rate
sensor.eveus_ev_charger_active_rate_cost Active Rate Cost Currently active rate with name
sensor.eveus_ev_charger_rate_2_cost Rate 2 Cost Secondary time-based rate
sensor.eveus_ev_charger_rate_3_cost Rate 3 Cost Tertiary time-based rate
sensor.eveus_ev_charger_rate_2_status Rate 2 Status Schedule 2 enabled/disabled state
sensor.eveus_ev_charger_rate_3_status Rate 3 Status Schedule 3 enabled/disabled state

Usage Tips

1. Before Starting a Charging Session

  • Set the correct EV battery capacity
  • Set the current state of charge (initial_soc) - changes are now reflected immediately!
  • Adjust the efficiency correction if needed
  • Set your desired target SOC

2. During Charging

  • Monitor charging progress with improved SOC sensors
  • Check the new time-to-target estimation
  • Monitor connection stability with the connection quality sensor
  • Adjust current if needed using the slider
  • Any changes to input numbers (initial SOC, target SOC, etc.) are reflected immediately

3. After Charging

  • Reset Counter A before starting a new session
  • Record efficiency for future reference
  • Check total energy usage in session history
  • Review connection quality metrics

UI Configuration

Basic Entities Card

Basic Entities Card

This card provides a comprehensive view of all charging information and controls in a clean, organized layout:

type: entities
entities:
  - entity: sensor.eveus_ev_charger_soc_percent
    name: SOC (%)
    icon: mdi:battery-charging-80
  - entity: sensor.eveus_ev_charger_soc_energy
    name: SOC (kWh)
    icon: mdi:battery
  - entity: sensor.eveus_ev_charger_time_to_target_soc
    name: Time to Target
    icon: mdi:clock-time-four
  - type: divider
  - entity: sensor.eveus_ev_charger_state
    name: Charger State
    icon: mdi:car-electric
  - entity: sensor.eveus_ev_charger_substate
    name: Substate
    icon: mdi:car-cog
  - type: divider
  - entity: sensor.eveus_ev_charger_power
    name: Power (W)
    icon: mdi:flash
  - entity: sensor.eveus_ev_charger_counter_a_energy
    name: Session Energy (kWh)
    icon: mdi:counter
  - type: divider
  - entity: number.eveus_ev_charger_charging_current
    name: Current (A)
    icon: mdi:current-ac
  - entity: input_number.ev_initial_soc
    name: Initial SOC (%)
    icon: mdi:calendar-clock
  - entity: input_number.ev_target_soc
    name: Target SOC (%)
    icon: mdi:target
  - entity: input_number.ev_soc_correction
    name: SOC Correction (%)
    icon: mdi:chart-bell-curve
  - entity: input_number.ev_battery_capacity
    name: Battery Capacity (kWh)
    icon: mdi:car-battery
  - type: divider
  - entity: switch.eveus_ev_charger_one_charge
    name: One Charge Mode
    icon: mdi:power-plug
  - entity: switch.eveus_ev_charger_stop_charging
    name: Stop Charging
    icon: mdi:stop-circle
  - entity: switch.eveus_ev_charger_reset_counter_a
    name: Reset Energy Counter
    icon: mdi:reload
show_header_toggle: false

Interactive Control Panel

Interactive Control Panel

For a more interactive and visually appealing control experience, you can use this advanced control panel with sliders and buttons:

Features:

  • Interactive sliders for precise control of charging current and initial SOC
  • One-touch buttons for common actions like resetting counters or stopping charging
  • Visual feedback with animations and color changes
  • Confirmation dialogs for critical actions to prevent accidents
  • Haptic feedback for touch devices (phones/tablets)

Installation:

  1. Install Required Cards:

    • Go to HACS
    • Search for and install "Slider Button Card" and "Button Card"
    • Restart Home Assistant
  2. Add the YAML Configuration:

    • Go to your dashboard
    • Click the three dots in the top right → Edit Dashboard
    • Click the + button to add a new card
    • Select "Manual" card
    • Paste this code:
type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: custom:slider-button-card
        entity: number.eveus_ev_charger_charging_current
        name: Current
        compact: true
        slider:
          direction: left-right
          background: gradient
          use_state_color: true
          show_track: true
          min: 8
          max: 16
          step: 1
        icon:
          show: true
          icon: mdi:flash
          tap_action:
            action: more-info
            haptic: light
        show_name: true
        show_state: true
        unit: " A"
        show_attribute: false
        action_button:
          show: false
        styles:
          slider:
            height: 35px
            width: 95%
            background: rgba(var(--rgb-primary-text-color), 0.1)
          card:
            padding: 4px
            height: 55px
            border-radius: var(--ha-card-border-radius, 12px)
            box-shadow: var(--ha-card-box-shadow, none)
          name:
            font-size: 12px
            font-weight: bold
            padding-top: 4px
            color: var(--primary-text-color)
          state:
            font-size: 16px
            font-weight: bold
            color: var(--primary-text-color)
      - type: custom:slider-button-card
        entity: input_number.ev_initial_soc
        name: Init SOC
        compact: true
        slider:
          direction: left-right
          background: gradient
          use_state_color: true
          show_track: true
          min: 0
          max: 100
          step: 1
        icon:
          show: true
          icon: mdi:battery
          tap_action:
            action: more-info
            haptic: light
        show_name: true
        show_state: true
        unit: "%"
        show_attribute: false
        action_button:
          show: false
        styles:
          slider:
            height: 35px
            width: 95%
            background: rgba(var(--rgb-primary-text-color), 0.1)
          card:
            padding: 4px
            height: 55px
            border-radius: var(--ha-card-border-radius, 12px)
            box-shadow: var(--ha-card-box-shadow, none)
          name:
            font-size: 12px
            font-weight: bold
            padding-top: 4px
            color: var(--primary-text-color)
          state:
            font-size: 16px
            font-weight: bold
            color: var(--primary-text-color)
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: switch.eveus_ev_charger_reset_counter_a
        name: Reset Counter
        icon: mdi:restart
        size: 30%
        color_type: card
        color: var(--info-color, "#3949AB")
        tap_action:
          action: toggle
          confirmation:
            text: Reset the energy counter?
            exemptions: []
          haptic: success
        hold_action:
          action: more-info
          haptic: light
        styles:
          card:
            - border-radius: var(--ha-card-border-radius, 12px)
            - height: 45px
            - padding: 4px
            - margin: 2px
            - box-shadow: var(--ha-card-box-shadow, none)
            - transition: all 0.2s ease-in-out
          name:
            - font-size: 12px
            - font-weight: bold
            - padding-top: 2px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
          icon:
            - width: 20px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
        state:
          - value: "off"
            styles:
              card:
                - background-color: var(--card-background-color)
                - border: 1px solid var(--divider-color)
                - transform: scale(1)
          - value: "on"
            styles:
              card:
                - opacity: 0.9
                - background-color: var(--info-color)
                - transform: scale(0.95)
              name:
                - color: var(--primary-background-color)
              icon:
                - color: var(--primary-background-color)
      - type: custom:button-card
        entity: switch.eveus_ev_charger_one_charge
        name: OneCharge
        icon: mdi:ev-station
        size: 35%
        color_type: card
        color: var(--success-color, "#2E7D32")
        tap_action:
          action: toggle
          haptic: success
        hold_action:
          action: more-info
          haptic: light
        styles:
          card:
            - border-radius: var(--ha-card-border-radius, 12px)
            - height: 45px
            - padding: 4px
            - margin: 2px
            - box-shadow: var(--ha-card-box-shadow, none)
            - transition: all 0.2s ease-in-out
          name:
            - font-size: 12px
            - font-weight: bold
            - padding-top: 2px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
          icon:
            - width: 22px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
        state:
          - value: "off"
            styles:
              card:
                - background-color: var(--card-background-color)
                - border: 1px solid var(--divider-color)
                - transform: scale(1)
          - value: "on"
            styles:
              card:
                - background-color: var(--success-color)
                - animation: pulse 2s infinite
                - transform: scale(0.95)
              name:
                - color: var(--primary-background-color)
              icon:
                - color: var(--primary-background-color)
      - type: custom:button-card
        entity: switch.eveus_ev_charger_stop_charging
        name: Stop Charging
        icon: mdi:stop-circle
        size: 35%
        color_type: card
        color: var(--error-color, "#C62828")
        tap_action:
          action: toggle
          confirmation:
            text: Stop charging session?
            exemptions: []
          haptic: warning
        hold_action:
          action: more-info
          haptic: light
        styles:
          card:
            - border-radius: var(--ha-card-border-radius, 12px)
            - height: 45px
            - padding: 4px
            - margin: 2px
            - box-shadow: var(--ha-card-box-shadow, none)
            - transition: all 0.2s ease-in-out
          name:
            - font-size: 12px
            - font-weight: bold
            - padding-top: 2px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
          icon:
            - width: 22px
            - color: var(--primary-text-color)
            - transition: color 0.2s ease-in-out
        state:
          - value: "off"
            styles:
              card:
                - background-color: var(--card-background-color)
                - border: 1px solid var(--divider-color)
                - transform: scale(1)
          - value: "on"
            styles:
              card:
                - background-color: var(--error-color)
                - animation: pulse 1s infinite
                - transform: scale(0.95)
              name:
                - color: var(--primary-background-color)
              icon:
                - color: var(--primary-background-color)

Note: You may need to adjust the charging current slider's min and max values based on your charger model (8-16A for 16A models or 8-32A for 32A models).

Tip: For the best experience, place this control panel on your mobile dashboard for easy access when near your vehicle.

Notifications

You can set up automations to receive notifications about your EV charging status. These will alert you when charging starts, completes, or when the current changes.

Notifications Example

Setting Up Notifications

  1. Go to Settings > Automations & Scenes
  2. Click "+ Create Automation"
  3. Choose "Create new automation" and select "Start with an empty automation"
  4. Set up the following automations:

1. Session Start Notification

This automation notifies you when your EV begins charging:

  1. Download the YAML from 301_EV_Charging_Started.yaml
  2. Open the file in a text editor and copy all the content
  3. In Home Assistant, after creating an empty automation:
    • Click the three dots in the top right corner
    • Select "Edit in YAML"
    • Delete any default content
    • Paste the YAML content from the downloaded file
    • Replace notify.notify or similar with your notification service (e.g., notify.mobile_app_your_phone)
    • Click "Save"

2. Current Change Notification

This automation notifies you when the charging current changes:

  1. Download the YAML from 302_EV_Charging_CurrentChanged.yaml
  2. Create a new empty automation as described above
  3. Edit in YAML mode and paste the content from the downloaded file
  4. Replace the notification service with your preferred notification method
  5. Click "Save"

3. Session Complete Notification

This automation notifies you when charging is complete:

  1. Download the YAML from 303_EV_Charging_Completed.yaml
  2. Create a new empty automation as described above
  3. Edit in YAML mode and paste the content from the downloaded file
  4. Replace the notification service with your preferred notification method
  5. Click "Save"

Tip: If you're using Telegram, set your notification service to notify.telegram or your specific Telegram notification service name in each automation.

Troubleshooting

If you encounter issues:

  1. Check all helper entities are properly configured
  2. Monitor the connection_quality sensor for network issues
  3. Verify network connectivity to the charger
  4. Check the logs for detailed error messages
  5. Restart the integration if needed

Advanced Debugging

If you're experiencing issues with the SOC calculations or other sensors, follow these debugging steps:

1. Enable Enhanced Logging

Add the following to your configuration.yaml file:

logger:
  default: info
  logs:
    custom_components.eveus.ev_sensors: debug
    custom_components.eveus.utils: debug
    custom_components.eveus.sensor: debug
    custom_components.eveus: warning

Restart Home Assistant and check the logs for detailed information about sensor calculations.

2. Use the Diagnostic Template

Copy and paste this template into Developer Tools > Template to get a comprehensive diagnostic report:

{# Debug template for Eveus SOC Sensors #}
{% set debug_data = {
    'inputs': {
        'initial_soc': states('input_number.ev_initial_soc'),
        'battery_capacity': states('input_number.ev_battery_capacity'),
        'soc_correction': states('input_number.ev_soc_correction'),
        'target_soc': states('input_number.ev_target_soc')
    },
    'sensors': {
        'iem1': states('sensor.eveus_ev_charger_counter_a_energy'),
        'soc_energy': states('sensor.eveus_ev_charger_soc_energy'),
        'soc_percent': states('sensor.eveus_ev_charger_soc_percent'),
        'time_to_target': states('sensor.eveus_ev_charger_time_to_target_soc'),
        'power': states('sensor.eveus_ev_charger_power')
    }
} %}

{# Calculation Preparation #}
{% set initial_soc       = debug_data.inputs.initial_soc|float(0) %}
{% set battery_capacity  = debug_data.inputs.battery_capacity|float(0) %}
{% set soc_correction    = debug_data.inputs.soc_correction|float(0) %}
{% set energy_charged    = debug_data.sensors.iem1|float(0) %}

{# Validity Check #}
{% set input_valid = (
    initial_soc != 0 and
    battery_capacity != 0 and
    energy_charged != 'unknown' and
    energy_charged != 'unavailable'
) %}

{# Calculations #}
{% if input_valid %}
  {% set initial_kwh = (initial_soc / 100) * battery_capacity %}
  {% set efficiency  = (1 - soc_correction / 100) %}
  {% set charged_kwh = energy_charged * efficiency %}
  {% set total_kwh   = initial_kwh + charged_kwh %}

  {% set soc_energy  = total_kwh|round(2) %}
  {% set soc_percent = ((total_kwh / battery_capacity) * 100)|round(0) %}
{% else %}
  {% set soc_energy  = 'Cannot calculate - missing inputs' %}
  {% set soc_percent = 'Cannot calculate - missing inputs' %}
{% endif %}

### Eveus SOC Sensor Debug Report ###

## Required Input Entities ##
{% for name, value in debug_data.inputs.items() %}
- input_number.ev_{{ name }}: {{ value }}
{% endfor %}

## Sensor Values ##
{% for name, value in debug_data.sensors.items() %}
- {{ name }}: {{ value }}
{% endfor %}

## Entity Existence Check ##
{% set check_entities = [
  'input_number.ev_initial_soc',
  'input_number.ev_battery_capacity',
  'input_number.ev_soc_correction',
  'input_number.ev_target_soc',
  'sensor.eveus_ev_charger_counter_a_energy',
  'sensor.eveus_ev_charger_power'
] %}
{% for entity_id in check_entities %}
- {{ entity_id }}: {{ states(entity_id) != 'unknown' and states(entity_id) != 'unavailable' }}
{% endfor %}

## Expected Values ##
- Expected SOC Energy: {{ soc_energy }}
- Expected SOC Percent: {{ soc_percent }}

## Calculation Details ##
{% if input_valid %}
Initial SOC: {{ initial_soc }}%
Battery Capacity: {{ battery_capacity }} kWh
Efficiency Correction: {{ soc_correction }}%
Energy Charged: {{ energy_charged }} kWh
Initial Energy: {{ initial_kwh }} kWh
Efficiency Factor: {{ efficiency }}
Charged Energy (with efficiency): {{ charged_kwh }} kWh
Total Energy: {{ total_kwh }} kWh
{% else %}
Cannot perform calculations due to missing inputs.
{% endif %}

Common Issues and Solutions

Issue Possible Solution
SOC sensors show "unknown" Verify all required helper entities are created with exact names
"Missing input entity" error Check that all input_number entities exist and have valid values
SOC calculations don't update immediately This issue has been fixed - SOC updates happen instantly when you change input values
Automation errors Update entity names in automations to match integration's naming pattern (eveus_ev_charger_*)
Connection failures Verify network connectivity, check IP address, username, and password
Incorrect SOC calculations Set initial SOC to match your EV's current charge level
Wrong time display Integration now handles timezone correctly including DST; restart HA if issues persist

Reset Procedure

If you encounter persistent issues:

  1. Remove the integration
  2. Restart Home Assistant
  3. Delete any remaining eveus entities (if any)
  4. Add the integration again
  5. Recreate any missing input_number entities

Support

For bugs and feature requests, please open an issue on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Home Assistant HACS integration with Eveus PRO chargers

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

0