Skip to content

Charger disconnects at midnight #34

Description

@grinder1337

What is wrong

Hi there,
I was very happy to find your integration, and after a little work I've managed that it works with solar surplus. But unfortunately it had lost connection at midnight - log says local key or protocol wrong.
Local key hasn't changed, protocol also not.
I have to delete and create it again for working, pasting the actual local key doesn't work.

Charger is an 3 phase 11kw wallbox

Charger model

dé EV Charger

Integration version

Version 2.22.0

Diagnostics

{
  "home_assistant": {
    "arch": "x86_64",
    "dev": false,
    "docker": true,
    "hassio": false,
    "installation_type": "Home Assistant Container",
    "os_name": "Linux",
    "os_version": "6.5.0-44-generic",
    "python_version": "3.14.5",
    "timezone": "Europe/Berlin",
    "version": "2026.6.4",
    "virtualenv": false,
    "container_arch": "amd64",
    "run_as_root": true
  },
  "custom_components": {
    "s7plc": {
      "documentation": "https://github.com/xtimmy86x/ha-s7plc",
      "version": "6.1.0",
      "requirements": [
        "pys7==2.8.2"
      ]
    },
    "get_euda_data": {
      "documentation": "https://github.com/WulfgarW/ha_get_euda_data/blob/main/README.md",
      "version": "0.0.20",
      "requirements": [
        "homeassistant>=2025.6.1"
      ]
    },
    "hass_agent": {
      "documentation": "https://github.com/v1k70rk4/HASS.Agent.NET10-Integration",
      "version": "10.6.0",
      "requirements": []
    },
    "tapo_control": {
      "documentation": "https://github.com/JurajNyiri/HomeAssistant-Tapo-Control",
      "version": "7.1.25",
      "requirements": [
        "pytapo==3.4.18",
        "python-kasa[speedups]==0.10.2"
      ]
    },
    "my_pv": {
      "documentation": "https://github.com/my-PV/home-assistant-integration",
      "version": "0.0.1rc6",
      "requirements": [
        "my-pv==0.0.8"
      ]
    },
    "adb_sensor": {
      "documentation": "https://example.com",
      "version": "1.0.0",
      "requirements": []
    },
    "blueprint_studio": {
      "documentation": "https://github.com/ha-china/blueprint-studio",
      "version": "2.5.5",
      "requirements": [
        "paramiko>=3.0.0"
      ]
    },
    "media_player_template": {
      "documentation": "https://github.com/Sennevds/media_player.template",
      "version": "1.0.2",
      "requirements": []
    },
    "fritzbox_callmonitor_raw": {
      "documentation": "https://github.com/Sanji78/fritzbox_callmonitor_raw",
      "version": "1.0.1",
      "requirements": []
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/use/",
      "version": "2.0.5",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "tuya_ev_charger": {
      "documentation": "https://github.com/lachand/EV_charger",
      "version": "2.22.0",
      "requirements": [
        "tinytuya>=1.20.0"
      ]
    },
    "tomtut_pool_dosing_vigipool": {
      "documentation": "https://github.com/TomTuTHub/tomtut-pool-dosing-vigipool",
      "version": "2.4.6",
      "requirements": [
        "paho-mqtt>=1.6.1"
      ]
    },
    "fritzbox_anrufe": {
      "documentation": "https://github.com/Meine-smarte-Welt/fritzbox_anrufe",
      "version": "1.0.5",
      "requirements": [
        "fritzconnection[qr]==1.15.1"
      ]
    },
    "config_editor": {
      "documentation": "https://github.com/junkfix/config-editor-card",
      "version": "5.0.0",
      "requirements": []
    },
    "landroid_cloud": {
      "documentation": "https://github.com/MTrab/landroid_cloud",
      "version": "7.1.3",
      "requirements": [
        "pyworxcloud==6.4.2"
      ]
    },
    "xtend_tuya": {
      "documentation": "https://github.com/azerty9971/xtend_tuya",
      "version": "4.5.1",
      "requirements": []
    },
    "alphaess_modbus": {
      "documentation": "https://github.com/senalse/ha-alphaess-modbus",
      "version": "1.14.0",
      "requirements": [
        "pymodbus>=3.7.4"
      ]
    }
  },
  "integration_manifest": {
    "domain": "tuya_ev_charger",
    "name": "Tuya EV Charger Local",
    "codeowners": [
      "lachand"
    ],
    "config_flow": true,
    "dhcp": [
      {
        "registered_devices": true
      }
    ],
    "documentation": "https://github.com/lachand/EV_charger",
    "integration_type": "device",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/lachand/EV_charger/issues",
    "loggers": [
      "tinytuya"
    ],
    "quality_scale": "silver",
    "requirements": [
      "tinytuya>=1.20.0"
    ],
    "version": "2.22.0",
    "is_built_in": false,
    "overwrites_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 4.943390376865864e-05
    },
    "01KZV04CKNZQ6J2HJZ06JBQ41W": {
      "config_entry_setup": 2.007154816063121
    }
  },
  "data": {
    "entry": {
      "entry_id": "01M005DM8RVH1RY8EAHRGJP0FT",
      "title": "Tuya EV Charger",
      "data": {
        "host": "**REDACTED**",
        "device_id": "**REDACTED**",
        "local_key": "**REDACTED**",
        "protocol_version": "3.4",
        "charger_profile": "depow_v2"
      },
      "options": {
        "surplus_battery_soc_high_threshold_pct": 95,
        "surplus_battery_soc_low_threshold_pct": 60,
        "surplus_start_threshold_w": 1600,
        "surplus_stop_threshold_w": 1200,
        "surplus_max_battery_discharge_for_ev_w": 10000,
        "surplus_battery_soc_threshold_pct": 95,
        "surplus_mode_enabled": true,
        "scan_interval": 30,
        "charger_profile": "depow_v2",
        "charger_profile_json": "",
        "continuous_current": true,
        "max_charge_current_a": 0,
        "min_charge_current_a": 0,
        "max_house_power_w": 0,
        "max_inverter_power_w": 0,
        "external_charge_allowed_sensor_inverted": false,
        "total_load_sensor_entity_id": "sensor.alphaess_inverter_current_house_load",
        "vehicles": "",
        "off_peak_windows": "",
        "departure_time": "",
        "departure_energy_kwh": 0,
        "off_peak_price": 0.0,
        "peak_price": 0.0,
        "surplus_sensor_inverted": false,
        "surplus_curtailment_sensor_inverted": false,
        "surplus_sensor_entity_id": "sensor.alphaess_inverter_grid_power",
        "surplus_battery_net_discharge_sensor_inverted": false,
        "surplus_allow_battery_discharge_for_ev": true,
        "surplus_battery_soc_sensor_entity_id": "sensor.alphaess_inverter_battery_state_of_charge",
        "surplus_battery_net_discharge_sensor_entity_id": "sensor.alphaess_inverter_battery_power",
        "surplus_curtailment_sensor_entity_id": "",
        "surplus_forecast_sensor_entity_id": "",
        "external_charge_allowed_sensor_entity_id": ""
      }
    },
    "integration": {
      "version": "2.22.0"
    },
    "client": {
      "dp_profile": "depow_v2"
    },
    "connection": {
      "polls_ok": 340,
      "polls_failed": 0,
      "success_rate_pct": 100.0,
      "consecutive_failures": 0,
      "last_success_at": "2026-08-14T18:41:02+02:00",
      "last_failure_at": null,
      "last_fault": null,
      "host": "**REDACTED**",
      "relocations": 0,
      "key_refreshes": 0,
      "last_discovery": null,
      "poll_interval_s": 10,
      "connection_released": false
    },
    "coordinator_data": {
      "voltage_l1": 212.0,
      "current_l1": 15.4,
      "power_l1": 0.0,
      "phases": {
        "L1": {
          "voltage": 212.0,
          "current": 15.4,
          "power": 0.0,
          "raw_power": 3.2
        },
        "L2": {
          "voltage": 212.0,
          "current": 15.3,
          "power": 0.0,
          "raw_power": 3.2
        },
        "L3": {
          "voltage": 212.0,
          "current": 15.3,
          "power": 0.0,
          "raw_power": 3.2
        }
      },
      "total_power": 0.0,
      "session_energy_kwh": 1.9,
      "session_duration_s": 801,
      "last_session_energy_kwh": null,
      "last_session_duration_s": null,
      "temperature": 28.0,
      "work_state": null,
      "work_state_debug": "UNKNOWN",
      "status": null,
      "plug_in_action": null,
      "do_charge": null,
      "current_target": null,
      "max_current_cfg": null,
      "nfc_enabled": null,
      "downcounter": null,
      "selftest": null,
      "alarm": null,
      "adjust_current_options": null,
      "product_variant": null,
      "charger_info": {},
      "schedule_enabled": false,
      "schedule_start": null,
      "schedule_end": null
    },
    "raw_dps": {
      "101": 300,
      "102": "{\"L1\":[2120,154,32],\"L2\":[2120,153,32],\"L3\":[2120,153,32],\"t\":280,\"p\":97,\"d\":8090,\"e\":19}",
      "106": "{\"r\":\"Type B, AC 30mA + DC 6mA\",\"fv\":\"1.0.0\",\"cp\":\"6.2\",\"t\":\"1470\",\"e\":\"15935\"}",
      "107": "[6, 8, 10, 13, 16]",
      "109": "WORKING",
      "150": 16,
      "151": "{\"m\":0,\"dt\":0,\"ss\":\"09:00\",\"se\":\"20:00\"}",
      "152": 16,
      "155": false,
      "156": false
    },
    "configured_surplus_sensors": {
      "surplus_sensor_entity_id": {
        "entity_id": "sensor.alphaess_inverter_grid_power",
        "state": "3851.0",
        "unit_of_measurement": "W",
        "device_class": "power",
        "state_class": "measurement"
      },
      "surplus_battery_soc_sensor_entity_id": {
        "entity_id": "sensor.alphaess_inverter_battery_state_of_charge",
        "state": "91.2",
        "unit_of_measurement": "%",
        "device_class": "battery",
        "state_class": "measurement"
      },
      "surplus_battery_net_discharge_sensor_entity_id": {
        "entity_id": "sensor.alphaess_inverter_battery_power",
        "state": "7472.0",
        "unit_of_measurement": "W",
        "device_class": "power",
        "state_class": "measurement"
      }
    }
  },
  "issues": []
}

Output of python -m tinytuya scan

TinyTuya (Tuya device scanner) [1.20.0]

Scanning on UDP ports 6666 and 6667 and 7000 for devices for 18 seconds...

New Broadcast from App at 192.168.10.60 - {'from': 'app', 'ip': '192.168.10.60'}
Unknown v3.5 Device   Product ID = yz9wjr7rtdhj7x5z  [Valid Broadcast]:
    Address = 192.168.10.80   Device ID = bfa840493c679a9917xhqi (len:22)  Local Key =   Version = 3.5  Type = default, MAC =
    No Stats for 192.168.10.80: DEVICE KEY required to poll for status
Unknown v3.4 Device   Product ID = witok7vhhjohtr02  [Valid Broadcast]:
    Address = 192.168.10.33   Device ID = bff6f8387a657fa5c5te0o (len:22)  Local Key =   Version = 3.4  Type = default, MAC =
    No Stats for 192.168.10.33: DEVICE KEY required to poll for status
Unknown v3.5 Device   Product ID = yz9wjr7rtdhj7x5z  [Valid Broadcast]:
    Address = 192.168.10.81   Device ID = bfa190e1b22058e0606w5r (len:22)  Local Key =   Version = 3.5  Type = default, MAC =
    No Stats for 192.168.10.81: DEVICE KEY required to poll for status
Scan completed in 18.0752 seconds

Scan Complete!  Found 3 devices.
Broadcasted: 3
Versions: 3.4: 1, 3.5: 2
Unknown Devices: 3

DP dump while charging

Profile assistant report:

{
  "entry_id": "01M005DM8RVH1RY8EAHRGJP0FT",
  "entry_title": "Tuya EV Charger",
  "suggested_profile": "generic_v1",
  "applied_profile": null,
  "report": {
    "suggested_profile": "generic_v1",
    "detected_dp_ids": [
      "101",
      "102",
      "106",
      "107",
      "109",
      "150",
      "151",
      "152",
      "155",
      "156"
    ],
    "candidates": {
      "metrics": [
        "102"
      ],
      "charger_info": [],
      "do_charge": [
        "101",
        "150",
        "152",
        "155",
        "156"
      ],
      "current_target": [
        "150",
        "152"
      ],
      "work_state_debug": [
        "109"
      ]
    },
    "sample_values": {
      "101": 300,
      "102": "{\"L1\":[2130,154,32],\"L2\":[2130,153,32],\"L3\":[2130,153,32],\"t\":280,\"p\":98,\"d\":11380,\"e\":28}",
      "106": "{\"r\":\"Type B, AC 30mA + DC 6mA\",\"fv\":\"1.0.0\",\"cp\":\"6.2\",\"t\":\"1470\",\"e\":\"15935\"}",
      "107": "[6, 8, 10, 13, 16]",
      "109": "WORKING",
      "150": 16,
      "151": "{\"m\":0,\"dt\":0,\"ss\":\"09:00\",\"se\":\"20:00\"}",
      "152": 16,
      "155": false,
      "156": false
    }
  }
}

Before submitting

  • Home Assistant is on the same subnet as the charger (UDP broadcasts do not cross VLANs)
  • I redacted the key line from the tinytuya scan output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions