Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Tue

Medlemmer
  • Innlegg

    1
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Tue

  1. Jolo skrev (På 25.11.2021 den 22.38):

     

    Jeg tok det som en anledning til å utforske mulighetene i template. Dette er hva jeg kom frem til. Fikk ikke tid til å teste å lage sensor av dem, men all logikk du trenger bør være her. Lim den inn i template under Developer tool.

     

    {% set today_price = states.sensor.nordpool_kwh_krsand_nok_3_09_025.attributes.today %}
    {% set tomorrow_price = states.sensor.nordpool_kwh_krsand_nok_3_09_025.attributes.tomorrow %}
    
    Dagens priser:
    {{ today_price }}
    
    Morgendagens priser:
    {{ tomorrow_price }}
    
    {% set current_hour =  now().hour -%}
    Gjeldene time: {{ current_hour }}
    
    Pris nå: {{ today_price[current_hour]}}
    
    Videre priser i dag: {{ today_price[current_hour:]}}
    
    {% set future_price = today_price[current_hour:] + tomorrow_price -%} 
    Fremtidige priser: {{ future_price}}
    
    Snitt av fremtidige priser: {{ future_price | average | round(3) }}
    Min av fremtidige priser: {{ future_price | min | round(3) }}
    Max av fremtidige priser: {{ future_price | max | round(3) }}
    
    {% set inteval_start_tomorrow = 0 -%}
    {% set interval_start_hour =  22 -%}
    
    {% set interval_end_tomorrow = 1 -%}
    {% set interval_end_hour = 7 -%}
    
    {% set low_interval_length = 3 -%}
    
    {% set all_price = today_price + tomorrow_price -%}
    {% set interval_price = all_price[interval_start_hour + 24 * inteval_start_tomorrow : interval_end_hour + 24 * interval_end_tomorrow] -%}
    {% set last_considered_interval_index = (interval_price | length) - low_interval_length + 1 -%}
    
    Intervall priser: {{ interval_price }}
    Snitt av intervall priser: {{ interval_price | average | round(3) }}
    Min av intervall priser: {{ interval_price | min | round(3) }}
    Max av intervall priser: {{ interval_price | max | round(3) }}
    
    {% set ns = namespace(current_best_average=1000, current_best_index=-1) -%}  
    {% for price in interval_price[:last_considered_interval_index] -%}
      {% set current_average =  interval_price[loop.index0:loop.index0+low_interval_length] | average -%}
      {% if current_average < ns.current_best_average -%}
        {%-set ns.current_best_average = current_average -%}
        {% set ns.current_best_index = loop.index0 -%}
      {% endif -%}
    {% endfor -%}
    
    {%- set start_index = ns.current_best_index %}
    {%- set best_interval_price = interval_price[start_index:start_index+low_interval_length] %}
    Beste invervall priser: {{ best_interval_price }}
    
    {% set best_interval_start_hour =  24 * inteval_start_tomorrow + interval_start_hour + start_index -%}
    
    Beste {{ low_interval_length }} timers intervall starter kl {{ best_interval_start_hour % 24 }} i {% if best_interval_start_hour < 24 %}dag {% else %}morgen {% endif %}og snitt-prisen er {{ best_interval_price| average | round(3) }}

     

    Tusinde tak for dette, det er lige det jeg har ledt efter, jeg er helt ny i yalm. Kan du give mig et hint i hvorledes jeg i et script kan bruge dette. Jeg ønsker af når elbil lader bliver sat i så skal den finde gennemsnit pris over de 3-9 billigste timer fra NU til i morgen kl 7. jeg tænker noget sodu code som dette:

     

    ford_battery_size: 89 kWh

    ford_battery_charge_speed: 10 kWh

    end_charge_level: 100 %

     

    if sensor.mustang_gt_easee_status from: disconnected and device_tracker.fordpass_tracker = type: is_home then conditions

     

    missing_charge: ford_battery_size/100 * (end_charge_level - sensor.ford_hv_battery_percent)

     

    charge to end_charge_level #100%:

    Hours_needed = ((Ford_battery_size/100 * (end_charge_level - sensor.ford_hv_battery_percent)) / ford_battery_charge_speed) + 1 | round(0)

     

    {% set low_interval_length = Hours_needed -%}

     

    If best_interval_price * missing_charge bellow XX kr make charge scheme, else test again with new end_charge_level = end_charge_level – 5% until it fits

     

    sequence:

      - service: easee.set_basic_charge_plan

        data:

          charger_id: XXXXXXX

          start_datetime: 2022-03-14T09:49

          stop_datetime: 2022-03-14T09:50

          repeat: false

    mode: single

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.