GithubHelp home page GithubHelp logo

flashg1 / teslasolarcharger Goto Github PK

View Code? Open in Web Editor NEW
12.0 4.0 5.0 122 KB

Home Assistant smart charger Blueprint to charge Tesla car using surplus solar electricity.

License: MIT License

electric-vehicles energy-management solar-energy tesla blueprint home-assistant home-automation enphase

teslasolarcharger's Introduction

Tesla Solar Charger

Home Assistant smart charger Blueprint to charge Tesla car using surplus solar electricity.

###############################################################################

Disclaimer:

Even though this automation has been created with care, the author cannot be responsible for any damage caused by this automation. Use at your own risk.

###############################################################################

Note:

- Credit goes to Alphaemef for the original solar charger Blueprint.

###############################################################################

Screenshot_20230702-094232_Home Assistant

Screenshot_20230630-135925_Home Assistant

Installation

  • Set up "Grid Power Net" sensor in Home Assistant (HA) config, eg.

/config/configuration.yaml

template:

    # For Enphase, grid_power_net is an integer in watts. Positive value means importing power from grid. Negative value means exporting power to grid.
    - sensor:
        name: Grid Power Net
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {{ states('sensor.envoy_[YourEnvoyId]_current_power_consumption')|int - states('sensor.envoy_[YourEnvoyId]_current_power_production')|int }}
  • Copy the Blueprint file to, \HOMEASSISTANT\config\blueprints\automation\flashg\Tesla_solar_charger_automation.yaml

  • Restart HA.

  • Create 2 helper booleans, eg. Settings > Devices & Services > Helpers > Create Helper > Toggle

  1. Telsa Model3 charge from grid
  2. Tesla Model3 stop charging
  • Config the Blueprint automation specifying charger voltage, maximum current and helper booleans created above, ie. Settings > Automations & Scenes > Blueprints > Tesla solar charger automation

My setup

Features

  • Charge from excess solar adjusting Tesla car charging current according to feedback loop value "Grid Power Net". The "Grid Power Net" sensor expresses negative power in Watts when exporting to grid, and positive power when consuming from grid.
  • Support multi-day solar charging using sunrise trigger to start and sunset trigger to stop.
  • Compatible with off-peak night time charging.

How to use

  • Set your charging limit in app or car.
  • Connect charger to car. Normal charging at constant current should begin immediately if schedule charging is disabled. After a little while, the script will take over and manage the charging current during daylight hours. Please see work-arounds below if automation cannot be triggered.
  • There are 2 options on how to charge the car (see below).
  • The script will stop if charger is turned off manually or automatically by car when reaching charge limit.
  • To abort charging, turn on "Tesla Model3 stop charging". The script will take about a minute to terminate if using default values.

2 options on how to charge the car:

Option 1

To charge from excess solar, just plug in the charger. The initial charge current is 6A. After about 1 minute it will adjust the current according to amount of excess power exported to grid.

Option 2

To charge from grid, set your desired charging current and turn on "Telsa Model3 charge from grid".

Notes

Automation cannot be triggered

The Tesla triggers and conditions are slow to update unless car is polled often. Polling too often can drain the car battery. So might have to wait a minute or two for the conditions to refresh and the triggers to work. Please see below for possible work-arounds.

Work-arounds:

  1. Run the automation manually by selecting the automation and then select "Run Actions".
  2. Turn polling off, then on.
  3. Press the "Force data update" button before and after plugging in the charger.

GUI display examples

Dashboard Tesla power card

https://github.com/reptilex/tesla-style-solar-power-card

type: custom:tesla-style-solar-power-card
name: Power Usage
show_w_not_kw: 1

# 3 flows between bubbles
grid_to_house_entity: sensor.grid_power_import
generation_to_grid_entity: sensor.grid_power_export
generation_to_house_entity: sensor.solar_power_consumption

# optional appliances with consumption and extra values
appliance1_consumption_entity: sensor.charger_power
appliance1_extra_entity: sensor.battery

# optional 3 main bubble icons for clickable entities
grid_entity: sensor.grid_power_net
house_entity: sensor.envoy_[YourEnvoyId]_current_power_consumption
generation_entity: sensor.solar_power_production

Dashboard Tesla solar charger control

type: entities
entities:
  - entity: automation.[YourTeslaName]_solar_charger_automation
  - type: attribute
    entity: automation.[YourTeslaName]_solar_charger_automation
    attribute: current
    name: Running instance count
  - type: attribute
    entity: automation.[YourTeslaName]_solar_charger_automation
    attribute: last_triggered
    name: Last triggered
  - entity: input_boolean.[YourTeslaName]_charge_from_grid
  - entity: input_boolean.[YourTeslaName]_stop_charging
  - entity: button.wake_up
  - entity: button.force_data_update
  - entity: device_tracker.location_tracker
  - entity: binary_sensor.charger
  - entity: binary_sensor.charging
  - entity: number.charging_amps
  - entity: sensor.range
  - entity: sensor.battery
  - entity: number.charge_limit
  - entity: sensor.time_charge_complete
  - entity: lock.charge_port_latch

teslasolarcharger's People

Contributors

flashg1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

teslasolarcharger's Issues

Script doesn't stick to the amp limit

This morning somehow the script stopped adapting the amps.
In the log below you can see that the script changed the amps at 10:15, did a couple of refreshes afterwards but nothing past that until I restarted the automation at 11:46.

Wattson Force data update  gewijzigd in 10 oktober 2023 om 10:14 getriggerd door automatisering Tesla Solar Charger  triggered
10:14:57 - 2 uur geleden

Wattson Charging amps  gewijzigd in 8 getriggerd door automatisering Tesla Solar Charger  triggered
10:15:34 - 2 uur geleden

Wattson Force data update  gewijzigd in 10 oktober 2023 om 10:15 getriggerd door automatisering Tesla Solar Charger  triggered
10:15:34 - 2 uur geleden

Wattson Force data update  gewijzigd in 10 oktober 2023 om 10:16 getriggerd door automatisering Tesla Solar Charger  triggered
10:16:10 - 2 uur geleden

Wattson Force data update  gewijzigd in 10 oktober 2023 om 10:16 getriggerd door automatisering Tesla Solar Charger  triggered
10:16:46 - 2 uur geleden

Wattson Force data update  gewijzigd in 10 oktober 2023 om 10:17 getriggerd door automatisering Tesla Solar Charger  triggered
10:17:21 - 2 uur geleden

Scherm­afbeelding 2023-10-10 om 12 30 04

After restarting the automation I now noticed that the car is charging at 13A while the limit in de script is set to 12A (due to the issue mentioned in #4.

Scherm­afbeelding 2023-10-10 om 12 25 30
Scherm­afbeelding 2023-10-10 om 12 25 45

In 2 weeks I'm getting my MCU1 replaced by the newer MCU2. After that we can rule out the fact that the issue lies there.

Starts charging in the morning and stops adapting the amps immediately

Lately the script starts every morning as planned. Sets the charging amps at 5 but as it’s winter there’s no sun. The script doesn’t change the amps and quits, but leaves the car charging at 5A.
Is there a way to fix this?

Triggered by the sunrise with offset at 23 november 2023 om 08:40:23

Confirm Wattson Location tracker is Thuis testen

Confirm Wattson Charger is Ingeplugd testen

Service "Knop: Druk" aanroepen op "Wattson Wake up"

(button.wattson_wake_up) turned 2023-11-23T07:40:23.786591+00:00
11 seconden later

Vertraging gebaseerd op een sjabloon
40 seconden later

Service "Knop: Druk" aanroepen op "Wattson Force data update"

(button.wattson_force_data_update) turned 2023-11-23T07:41:14.351179+00:00

Vertraging gebaseerd op een sjabloon
5 seconden later

Service "Scène: Aanmaken" aanroepen op ""

Vertraging gebaseerd op een sjabloon
5 seconden later

Actie terwijl 1 voorwaarde overeenkomt herhalen

unknown

(number.wattson_charging_amps) turned 6
5 seconden later

(switch.wattson_charger) turned on
11 seconden later

(button.wattson_force_data_update) turned 2023-11-23T07:41:41.420881+00:00
36 seconden later

unknown

(scene.tesla_solar_charger_script_scene) turned 2023-11-23T07:42:17.335513+00:00
(number.wattson_charging_amps) turned 5
5 seconden later

(button.wattson_force_data_update) turned 2023-11-23T07:42:22.657680+00:00

Finished at 23 november 2023 om 08:42:28 (runtime: 124.36 seconds)

Script crashed

Hi,

Today I noticed that the car was charging at a higher rate than what I was producing in solar.
Normally, when the automation crashes, I'm getting a notification via another automation which also will try to restart the script.
However this time it didn't..

Any idea's on this?

Logger: homeassistant.components.automation.tesla_solar_charger
Source: helpers/script.py:468
Integration: Automatisering ([documentation](https://www.home-assistant.io/integrations/automation), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+automation%22))
First occurred: 10:49:55 (4 occurrences)
Last logged: 10:49:55

Tesla Solar Charger: Repeat at step 7: Choose at step 3: choice 4: Repeat at step 1: Error executing script. Unexpected error for call_service at pos 1:
Tesla Solar Charger: Repeat at step 7: Choose at step 3: choice 4: Error executing script. Unexpected error for repeat at pos 1:
Tesla Solar Charger: Repeat at step 7: Error executing script. Unexpected error for choose at pos 3:
Tesla Solar Charger: Error executing script. Unexpected error for repeat at pos 7:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2012, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2049, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/number/__init__.py", line 105, in async_set_value
    await entity.async_set_native_value(native_value)
  File "/config/custom_components/tesla_custom/number.py", line 82, in async_set_native_value
    await self._car.set_charging_amps(value)
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 897, in set_charging_amps
    data = await self._send_command(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 775, in _send_command
    raise ex
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 760, in _send_command
    data = await self._controller.api(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 1313, in api
    raise ex
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 1307, in api
    response = await self.__post_with_retries(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 88, in async_wrapped
    return await fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 47, in __call__
    do = self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/__init__.py", line 314, in iter
    return fut.result()
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 50, in __call__
    result = await fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 1342, in __post_with_retries
    return await self.__connection.post(command, method=method, data=data, url=url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/connection.py", line 165, in post
    return await self.__open(url, method=method, headers=self.head, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/connection.py", line 216, in __open
    raise TeslaException(resp.status_code)
teslajsonpy.exceptions.TeslaException

About an hour later I had 12 errors that the car wasn't available, 20min after the first error the script stopped working and was restarted by my other automation.. I don't know that both issues have anything to do with each other.

When the vehicle seems to be unavailable, could it be possible to implement a failsafe for this (autorestart after 1min and 5min by example)?

Logger: homeassistant.components.automation.tesla_solar_charger
Source: helpers/script.py:468
Integration: Automatisering ([documentation](https://www.home-assistant.io/integrations/automation), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+automation%22))
First occurred: 12:00:06 (12 occurrences)
Last logged: 12:20:18

Tesla Solar Charger: Repeat at step 7: Choose at step 3: choice 4: Error executing script. Unexpected error for repeat at pos 1: vehicle_unavailable
Tesla Solar Charger: Repeat at step 7: Error executing script. Unexpected error for choose at pos 3: vehicle_unavailable
Tesla Solar Charger: Error executing script. Unexpected error for repeat at pos 7: vehicle_unavailable
Tesla Solar Charger: Repeat at step 7: Choose at step 3: choice 5: Repeat at step 1: Error executing script. Unexpected error for call_service at pos 1: vehicle_unavailable
Tesla Solar Charger: Repeat at step 7: Choose at step 3: choice 5: Error executing script. Unexpected error for repeat at pos 1: vehicle_unavailable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2012, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2049, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/number/__init__.py", line 105, in async_set_value
    await entity.async_set_native_value(native_value)
  File "/config/custom_components/tesla_custom/number.py", line 82, in async_set_native_value
    await self._car.set_charging_amps(value)
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 897, in set_charging_amps
    data = await self._send_command(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 775, in _send_command
    raise ex
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/car.py", line 760, in _send_command
    data = await self._controller.api(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 1319, in api
    response = await self.__post_with_retries(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 88, in async_wrapped
    return await fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 47, in __call__
    do = self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/__init__.py", line 325, in iter
    raise retry_exc.reraise()
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tenacity/__init__.py", line 158, in reraise
    raise self.last_attempt.result()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.11/site-packages/tenacity/_asyncio.py", line 50, in __call__
    result = await fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 1342, in __post_with_retries
    return await self.__connection.post(command, method=method, data=data, url=url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/connection.py", line 165, in post
    return await self.__open(url, method=method, headers=self.head, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/teslajsonpy/connection.py", line 215, in __open
    raise TeslaException(resp.status_code, "vehicle_unavailable")
teslajsonpy.exceptions.TeslaException: vehicle_unavailable

Home Battery - Function?

I want to thank you for this blueprint, really appreciated.
This is not really an issue, just a question regarding the home battery. I looked at the yaml but was unsure of what use does the automation make of the home battery charge/discharge power and current SoC.

I have these values feeded into the automation, and would be great do make some use of it. For example, at late afternoon I would prefer that the solar surplus was feeded into the home battery instead of the car. The same would be true for early morning.

Is this the purpose of adding this data to the automation?
Thanks!

"unknown" in tracking

Hi

First of all - thanks for your Tesla charger automation :)

It's working perfect for my new Tesla model 3 highland, and Tesla wall charger gen 3
, but I have an issue - that I do now know if its an error, or just by design. :)

If I look at the tracking details, from the automation - I get "unknown" sometimes... Is that an error?

unknown

My Automation is set up using Teslametry

My automation is set up like this:
https://pastebin.com/mGaRCqju

My Tesla_solar_charger_automation.yaml looks like this:
https://pastebin.com/kgBrvysA

The only thing that I have changed is

  1. Tesla location - because my location is not working, I have made a change so its charging when its "not_home"
  2. Car wake up is lowered to: 20
  3. Wait grid power net update: 5 (I am using Simelezer +)
    4 Skew_default: is set to -1

Stopped because outside valid range

Here we are again :)

The automation was running perfectly, however one way or the other the car decided to lower it's maximum amps from 13 to 12. No idea why he did it (I'm new to Tesla).
Anyway, this caused the automation to stop as it was outside the valid range (13 in settings).
Could this be implemented that when the car's maximum range changes, the automation adapts instead of stopping?

Stopped because an error was encountered at 14 september 2023 om 13:58:21 (runtime: 3502.08 seconds)

Value 13.0 for number.wattson_charging_amps is outside valid range 0 - 12

TeslaException - Suddenly stopped working this afternoon

Except for some minor hiccups which can be fixed with other automations, this blueprint has been working perfect for about 8 months now! Thanks for that!

However today the script stopped working, when I restarted it quits after some time with an error (see image below)
Scherm­afbeelding 2024-06-14 om 13 18 37

I fear it's on the Tesla-side of things but any idea's on how to fix this are always welcome!
I can pull data from the car without any issues but I can't send anything. Changing the amps manually is returning an unknown error.

Thanks!

Charger Voltage variable and its description is not the correct for its purpose

Hi @flashg1,

thank you for this blueprint, it had saved me a lot of time and motivated me to better understand HA automation!

In my case I am using it with Tesla Model S and Tesla Wall Connector gen 3 in the EU.

Issue:
Charger Voltage variable and its description is misleading.
Initially I have set it to 400V and found out that automation always overshoot and started to oscillate.
Screenshot 2024-05-26 at 22-36-43 History – Home Assistant

In the same time, this was the FVE output:
Screenshot 2024-05-26 at 22-38-02 History – Home Assistant

Based on the Tesla in the EU we have 400V Wye grid.

Based on the this post Tesla in the EU uses 230V built in/onboard car charger and even in case when Tesla Wall Connector is used, 230V is used to charge the car. On the other side the car is able to stack/combine the energy from phase1, phase2 and phase3 aka (L1, L2, L3). Moreover to balance the load between phases the same current is always used on each of three phases.

The long story short, even in case when 3 phases are available, the difference in power when charging current is increase by 1 amp is (3(230*1))=690W*
When only one phase is available the difference is 230*1=230W

Workaround:
After I have changed the value of Charger Voltage to 690V (230*3) the automation works fine:
Screenshot 2024-05-26 at 22-35-14 History – Home Assistant

This was the output from the FVE in the same time:
Screenshot 2024-05-26 at 22-58-57 History – Home Assistant

Proposal:

  1. Maybe it will be better if there is another input field:

Number of lines

Desc:
Number of lines provided by the EVSE aka Wallbox for the onboard charger?.
Eg: In the EU the Tesla Wall Connector and UMC gen 1 can utilize 3 phases, UMC gen2 utilizes single phase, only.

Then, the value that represent the minimal step should be computed as Charger Voltage * Number of lines

  1. Change the description of Charger Voltage, to smth like:
    The Line to N voltage.

Dynamic pricing charging

Hi there, and thanks for creating this awesome blueprint.

Lately I've switched to a dynamic contract, and would love to add the possibility to charge the car when the price is at a certain point.
I'm thinking about adding it to your blueprint, and setting a PR. But I'm not sure if this messes to much with your original intent of this blueprint.

Let me know if your open to this change, or if I can better fork this into my own blueprint.

Automation won't run?

New at this but I have followed everything but the automation doesn't seem to be running? Even if I manually try "Run Actions", it just says "Last Triggered - Never"

I see this in the error log.

Logger: homeassistant.helpers.template
Source: helpers/template.py:240
First occurred: 10:49:05 AM (8 occurrences)
Last logged: 11:34:39 AM

Template variable error: list object has no element 0 when rendering '{{ expand(car_chargelimit_ent)[0].last_changed | as_timestamp }}'

Logger: homeassistant.components.automation.tesla_solar_charger_automation
Source: components/automation/init.py:269
Integration: Automation (documentation, issues)
First occurred: 10:49:05 AM (8 occurrences)
Last logged: 11:34:39 AM

Error rendering variables: UndefinedError: list object has no element 0

Not sure where to start looking...?

Thanks

Automation stopped without clear reason

This morning I noticed that the script didn't change the amps anymore. I checked and it did stop working indeed. However I've been looking around and it had no clear reason why it did.
Maybe it's a good idea to send a notification to the user's phone when the car stops charging unexpectedly?

Trace Timeline:

Triggered by the sunrise with offset at 26 september 2023 om 08:03:46

Confirm Wattson Location tracker is Thuis testen

Confirm Wattson Charger is Ingeplugd testen

Service "Knop: Druk" aanroepen op "Wattson Wake up"

(button.wattson_wake_up) turned 2023-09-26T06:03:46.276675+00:00

Vertraging gebaseerd op een sjabloon
40 seconden later

Service "Knop: Druk" aanroepen op "Wattson Force data update"

(button.wattson_force_data_update) turned 2023-09-26T06:04:26.443529+00:00

Vertraging gebaseerd op een sjabloon
5 seconden later

Service "Scène: Aanmaken" aanroepen op ""

Vertraging gebaseerd op een sjabloon
5 seconden later

Actie terwijl 1 voorwaarde overeenkomt herhalen

unknown

(number.wattson_charging_amps) turned 6
5 seconden later

(switch.wattson_charger) turned on
11 seconden later

(button.wattson_force_data_update) turned 2023-09-26T06:04:53.602238+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 5
1 seconde later

(number.wattson_charging_amps) turned 4
1 seconde later

(number.wattson_charging_amps) turned 3
(number.wattson_charging_amps) turned 2
(number.wattson_charging_amps) turned 1
1 seconde later

(number.wattson_charging_amps) turned 0
(button.wattson_force_data_update) turned 2023-09-26T06:05:36.503737+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:06:12.295027+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:06:49.125367+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:07:25.486413+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:08:01.778210+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:08:39.115131+00:00
38 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:09:16.712338+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:09:52.735257+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:10:29.327125+00:00
38 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:11:07.781811+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:11:43.955024+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:12:19.930122+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:12:55.428880+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:13:31.789315+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:14:07.237174+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:14:43.798678+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:15:19.638622+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:15:55.718315+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:16:31.170071+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:17:06.646079+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:17:42.731966+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:18:18.202724+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:18:54.698225+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:19:30.210403+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:20:06.339210+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:20:41.842449+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:21:17.838173+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:21:53.383934+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:22:29.718079+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:23:05.093765+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:23:41.050225+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:24:16.603795+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:24:52.786510+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:25:28.229645+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:26:04.867980+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:26:40.333450+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:27:15.771974+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:27:51.254865+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:28:26.747752+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:29:02.203464+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:29:38.754774+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:30:14.204723+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:30:50.775961+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:31:26.248563+00:00
1 minuut later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:32:12.523492+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:32:48.267342+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:33:24.799470+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:34:00.440624+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:34:36.773422+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:35:12.350304+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:35:47.775237+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:36:23.825676+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:36:59.313764+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:37:35.810334+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:38:11.243843+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:38:46.717162+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:39:22.137121+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:39:57.652191+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:40:33.126446+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:41:08.662586+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:41:44.830672+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:42:20.398163+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:42:56.860319+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:43:32.446909+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 1
(button.wattson_force_data_update) turned 2023-09-26T06:44:09.785489+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 2
(button.wattson_force_data_update) turned 2023-09-26T06:44:46.144400+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:45:21.975032+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:45:57.719903+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T06:46:34.758886+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:47:10.136730+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:47:46.040414+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:48:21.614410+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:48:57.206942+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:49:32.698152+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:50:08.806673+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:50:44.487209+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:51:20.886488+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:51:56.339846+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 2
(button.wattson_force_data_update) turned 2023-09-26T06:52:32.621353+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:53:07.911101+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T06:53:44.699915+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:54:20.156397+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T06:54:57.953877+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T06:55:34.178341+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:56:10.027663+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 2
(button.wattson_force_data_update) turned 2023-09-26T06:56:46.293276+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:57:22.165955+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:57:57.628829+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:58:33.830777+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:59:09.373155+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T06:59:45.851398+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:00:21.427844+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 1
(button.wattson_force_data_update) turned 2023-09-26T07:00:57.742900+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:01:33.166630+00:00
38 seconden later

unknown

(number.wattson_charging_amps) turned 0
(button.wattson_force_data_update) turned 2023-09-26T07:02:12.532838+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:02:48.950899+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:03:24.748281+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:04:00.906530+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:04:36.477252+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 1
(button.wattson_force_data_update) turned 2023-09-26T07:05:13.729789+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 2
(button.wattson_force_data_update) turned 2023-09-26T07:05:50.168461+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:06:26.847043+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:07:02.145810+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:07:37.562848+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 2
(button.wattson_force_data_update) turned 2023-09-26T07:08:13.925658+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:08:50.062616+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:09:26.266500+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 4
(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:10:03.477480+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:10:38.815682+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:11:14.882802+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T07:11:51.119666+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:12:26.556585+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:13:02.118220+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:13:37.679579+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:14:13.775278+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:14:49.886253+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:15:25.323145+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:16:01.946004+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 6
(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:16:39.251554+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:17:15.170355+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:17:50.652808+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:18:26.990291+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:19:02.431023+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:19:39.613339+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:20:15.616362+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:20:51.986115+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:21:28.064161+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:22:04.613965+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:22:41.162699+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:23:16.957155+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:23:52.964958+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:24:29.585350+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:25:05.576256+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:25:41.984073+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:26:18.096222+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T07:26:54.788319+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:27:30.094970+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:28:06.004129+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:28:41.486821+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:29:17.044309+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:29:52.498890+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:30:28.966223+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 5
(number.wattson_charging_amps) turned 6
Show 2 more items
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:31:41.695603+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:32:17.696556+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:32:53.977222+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:33:30.024015+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:34:05.943734+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 4
(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:34:42.925999+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:35:18.322732+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T07:35:54.795689+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:36:30.929837+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T07:37:07.783086+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:37:43.329755+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:38:20.075853+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:38:55.497852+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:39:32.851586+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 4
(button.wattson_force_data_update) turned 2023-09-26T07:40:09.012993+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:40:44.990357+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:41:20.981849+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:41:57.037407+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:42:33.141698+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:43:09.071850+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:43:45.108297+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 8
(number.wattson_charging_amps) turned 9
(button.wattson_force_data_update) turned 2023-09-26T07:44:22.104087+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 8
(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:44:58.567276+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 8
(button.wattson_force_data_update) turned 2023-09-26T07:45:35.663324+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:46:10.996194+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 9
(button.wattson_force_data_update) turned 2023-09-26T07:46:48.604232+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:47:24.034441+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 8
(button.wattson_force_data_update) turned 2023-09-26T07:48:00.590180+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:48:36.072026+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:49:12.589614+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 6
(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:49:49.044782+00:00
36 seconden later

unknown

(number.wattson_charging_amps) turned 4
(number.wattson_charging_amps) turned 3
(button.wattson_force_data_update) turned 2023-09-26T07:50:26.472123+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 4
(number.wattson_charging_amps) turned 5
(button.wattson_force_data_update) turned 2023-09-26T07:51:03.263576+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:51:40.026113+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:52:15.498607+00:00
37 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:52:52.049740+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:53:27.538904+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 6
(button.wattson_force_data_update) turned 2023-09-26T07:54:04.696485+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:54:40.250085+00:00
37 seconden later

unknown

(number.wattson_charging_amps) turned 7
(button.wattson_force_data_update) turned 2023-09-26T07:55:17.815683+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 8
(button.wattson_force_data_update) turned 2023-09-26T07:55:53.864611+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:56:30.101616+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:57:05.569347+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-26T07:57:42.056310+00:00
35 seconden later

unknown

(number.wattson_charging_amps) turned 9
(button.wattson_force_data_update) turned 2023-09-26T07:58:18.076839+00:00

Stopped because an error was encountered at 26 september 2023 om 09:58:18 (runtime: 6871.90 seconds)


Scherm­afbeelding 2023-09-26 om 10 46 49

Force update no longer working?

Anyone else having this issue as of yesterday?

The automation doesn't seem to run as the force update no longer works.

Reading around I can see others having similar issues. Something changed in the Tesla API for this?

Energy usage between end of charging via solar and end of automation due to sunset

Hi,

Today was a flawless day! So thanks again for this script!
However yesterday and today I noticed that while I wasn't charging (0 amps) there was still about 400w of unexplainable usage that I normally never have.

So before I start measuring that specific plug I'd like to ask that there's some kind of idle usage between the end of the solar charge and the end of the automation 30min before sunset?

Screenshots below:

Here you can see that I'm consuming 843w. At this point the tesla was charging at 0 amps, so not charging.
IMG_0740

This was after the script ended. I went back to my normal idle use of around 400-450w (you can also see it clearly in the graph between midnight and 6 in the morning.
IMG_0742

It's obviously not that much of energy that's been wasted but if it can be avoided it's always better :)

Feature Request: Limit charging from grid based on realtime grid usage

During the winter months it's sadly sometimes needed to charge your car from the grid.
As I'm having peak tariff I have to do this at night.
However, in Belgium, we're also fined on our peak quarterly usage. This morning, the car was charging, I was still asleep and my wife used the oven, therefore our peak usage for this month raised a lot. (The highest 15min of the month will count)

To avoid this it might be useful to implement the opposite of the script for the case when it's charging from the grid.

Example:

When charging from grid, you can set a grid limit (ex 4000W). So the car can charge at it's maximum current, but when another device starts using electricity which causes the grid usage to exceed the limit, it lowers the car's current for the time that this occurs.

I think this would be a very useful addition to this project!

0A equal about 690W usage Tesla Gen 3 Wall charger

Hi,

Love this code/project.

But one issue I face is when not enough excess solar power the car use about 690-720W at 0A, guess it how much it is to keep car alive :-)

Could it be possible when it hits 0A to turn of charger switch?

Script not working when plugging in after sunset

Hi,

Another day, another question ;)

Today I've been charging using the script which worked flawlessly.
However this afternoon I left and I didn't come home before sunset.
When I plugged in the car, it started charging as expected, however the script didn't stop the charging.
I had to manually restart the automation for it to start working again.

Maybe there's a possibility to add an extra trigger on plugging in the charger that will check the sun's status so it'll be able to work as intended?

Qeustion about script

Hi, thanks a lot for the script, I've downloaded it this morning and it seems to work pretty well !

I had a quick look at the code, and I have a question regarding the way the charging amps value is modified. Why is that done in a loop (i.e. gradually), in 1A increment, rather than in one shot ? Is there any benefit in doing this ?

I wonder because this means more commands sent through the Tesla API, doesn't it ?

Possibly I've misread the script, I'm not familiar with YAML yet, so forgive me if the question is stupid ;)

Thanks again for sharing your effort.

Possibility to combine with other solar production driven automations

Hi!

First of all thanks for this! I'm getting delivery of my Model S today so everything is ready to charge the car efficiently now!

However I'm having a question related to this.

Currently I'm running a similar (but way more simple) automation that turns on/off my pool's heat pump based on excess solar energy.

However, as these 2 automations will be running at the same time from may to september they will interfere with each-other.

At this point the automation does the following:
When I'm having an excess of 1kW for 30s, the heatpump turns on.
When I'm having a shortage of 200W for 1m, the heatpump turns off.

However, when the Tesla will be charging dynamically, there won't be any extra energy for the heatpump.

Any ideas?

Thanks in advance!

Script doesn't change the amps

Hi,

I just configured everything and connected the car.
The car immediately started charging at 12A. After waiting for a couple of minutes nothing changed.

The script is activated by the automation as it should (I think).

Triggered by the state of binary_sensor.wattson_charger at 13 september 2023 om 11:09:13

Confirm Wattson Location tracker is Thuis testen

Confirm Wattson Charger is Ingeplugd testen

Service "Knop: Druk" aanroepen op "Wattson Wake up"

(button.wattson_wake_up) turned 2023-09-13T09:09:13.950344+00:00

Vertraging gebaseerd op een sjabloon
40 seconden later

Service "Knop: Druk" aanroepen op "Wattson Force data update"

(button.wattson_force_data_update) turned 2023-09-13T09:09:54.029179+00:00

Vertraging gebaseerd op een sjabloon
5 seconden later

Service "Scène: Aanmaken" aanroepen op ""

Vertraging gebaseerd op een sjabloon
5 seconden later

Actie terwijl 1 voorwaarde overeenkomt herhalen

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:10:04.546330+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:10:40.049743+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:11:16.354329+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:11:51.849939+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:12:27.380232+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:13:02.855959+00:00
35 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:13:38.360221+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:14:13.879555+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:14:49.594341+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:15:25.544255+00:00
36 seconden later

unknown

(button.wattson_force_data_update) turned 2023-09-13T09:16:01.054012+00:00

Still running
Tesla Solar Charger  getriggerd door status van Wattson Charger
11:09:13 - 8 minuten geleden

Wattson Wake up  gewijzigd in 13 september 2023 om 11:09 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:09:13 - 8 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:09 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:09:54 - 8 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:10 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:10:04 - 7 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:10 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:10:40 - 7 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:11 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:11:16 - 6 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:11 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:11:51 - 6 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:12 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:12:27 - 5 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:13 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:13:02 - 4 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:13 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:13:38 - 4 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:14 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:14:13 - 3 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:14 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:14:49 - 3 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:15 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:15:25 - 2 minuten geleden

Wattson Force data update  gewijzigd in 13 september 2023 om 11:16 getriggerd door automatisering Tesla Solar Charger  getriggerd door status van Wattson Charger
11:16:01 - 2 minuten geleden

Any idea's on how to make this work?

Error: TypeError: '>' not supported between instances of 'int' and 'str'

Hi,

I was looking for an automation like this and I saw you created this last week. Awesome and thanks a lot!
I don't have a battery, so I used the backup sensor which is not a number, but I get the following error and the script stops:
Error: TypeError: '>' not supported between instances of 'int' and 'str'

What's the best way to get around the battery if you don't have one?

EDIT: I'm not sure if it has to do with the battery. I used a sensor with value 0 and I have the same error.
Here is a screenshot of the trace where it goes wrong and stops the script. I have a similar error 2 steps earlier, but it doesn't crash the automation. I hope you can help me out so I can start charging using the sun :D https://i.imgur.com/t9xmbQT.png

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.