ich bin dabei die Solix Quasi Nulleinspeisung von Simon zu implementieren.
Dabei hat er mir erst einen Fehler geworfen, dass NONE nicht zulässig ist.
Die einzige Stelle an der NONE vorkam ist diese:
- alias: >-
Nur, wenn nicht innerhalb der letzten 3 Minuten getriggert wurde (hierfür
muss der Aktionsblock erreicht worden sein)
condition: template
value_template: >-
{{ state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered") == None or ( as_timestamp(now()) -
as_timestamp(state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered")) |int(0) ) > 180 }}
den Code habe ich wie folgt geändert:
value_template: >-
{{ state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered") == ( as_timestamp(now()) -
as_timestamp(state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered")) |int(0) ) > 180 }}
alias: Nur, wenn nicht innerhalb der letzten 3 Minuten getriggert wurde (hierfür muss der Aktionsblock erreicht worden sein)
jetzt bekomme ich folgenden Fehler:
das Word None kommt aber in der ganzen automations.yaml gar nicht vor.
Hier die Automation:
- id: '174349XX'
alias: Anker Nulleinspeisung V2 (also so halbwegs)
description: ''
triggers:
- trigger: state
entity_id:
- sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt
conditions:
- condition: and
conditions:
- condition: state
entity_id: switch.mar_de_api_nutzung
state: 'on'
- condition: state
entity_id: binary_sensor.system_mamohomespeicher_systemadministration
state: 'on'
- condition: not
conditions:
- condition: state
entity_id: sensor.solarbank_e1600_betriebszustand
state: charge_priority
alias: Ist nicht im Ladeprioritätszustand
alias: Betriebszustandsprüfung
- condition: template
value_template: >-
{{ state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered") == ( as_timestamp(now()) -
as_timestamp(state_attr("automation.anker_nulleinspeisung_v2_also_so_halbwegs",
"last_triggered")) |int(0) ) > 180 }}
alias: Nur, wenn nicht innerhalb der letzten 3 Minuten getriggert wurde (hierfür muss der Aktionsblock erreicht worden sein)
- condition: or
conditions:
- condition: template
value_template: >-
{{(float(states('number.solarbank_e1600_einspeisevorgabe')) *
1.25 ) <=
states('sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt') |
float}}
alias: Min-Wert ist um mind. 25% größer als Solarbank
- condition: template
value_template: >-
{{ float(states('number.solarbank_e1600_einspeisevorgabe')) >=
(states('sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt') | float
* 1.24 )}}
alias: Min-Wert ist um mind. 25% kleiner als Solarbank
- alias: Max ist gesetzt und es würde mehr benötigt werden
condition: not
conditions:
- condition: numeric_state
entity_id: sensor.solarbank_e1600_einspeisevorgabe
above: 799
below: 801
alias: 800W gesetzt
- condition: template
value_template: >-
{{(float(states('number.solarbank_e1600_einspeisevorgabe'))
* 1.25 ) <=
states('sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt') |
float}}
alias: Min-Wert ist um mind. 25% größer als Solarbank
- alias: Min ist gesetzt und es würde weniger benötigt werden
condition: not
conditions:
- alias: 100W gesetzt
condition: numeric_state
entity_id: sensor.solarbank_e1600_einspeisevorgabe
above: 99
below: 101
- condition: template
value_template: >-
{{ float(states('number.solarbank_e1600_einspeisevorgabe'))
>= (states('sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt')
| float * 1.24 )}}
alias: Min-Wert ist um mind. 25% kleiner als Solarbank
- alias: Anker & Bedarfs-Werte vergleichen (oder)
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt
above: 99
value_template: ' {{( (float(states(''sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt''))
* 2) + float(states(''sensor.haus_leistungsbedarf_gesamt_mittelwert_5min_watt'')))
/ 3}}'
- condition: numeric_state
entity_id: sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt
value_template: ' {{( (float(states(''sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt''))
* 2) + float(states(''sensor.haus_leistungsbedarf_gesamt_mittelwert_5min_watt'')))
/ 3}}'
below: 801
sequence:
- metadata: {}
data:
value: '{{( (float(states(''sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt''))
* 2) + float(states(''sensor.haus_leistungsbedarf_gesamt_mittelwert_5min_watt''))
) / 3}}'
target:
entity_id: number.solarbank_e1600_einspeisevorgabe
alias: Vermittelten Wert aus Min (doppelt gewichtet) & Durchschnitt einstellen
action: number.set_value
- action: notify.whatsapp_martin
metadata: {}
data:
message: Einspeisevorgabe geändert
- conditions:
- condition: numeric_state
entity_id: sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt
value_template: ' {{( (float(states(''sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt''))
* 2) + float(states(''sensor.haus_leistungsbedarf_gesamt_mittelwert_5min_watt'')))
/ 3}}'
above: 800
- condition: not
conditions:
- condition: numeric_state
entity_id: sensor.solarbank_e1600_einspeisevorgabe
above: 799
below: 801
sequence:
- metadata: {}
data:
value: '800'
target:
entity_id: number.solarbank_e1600_einspeisevorgabe
action: number.set_value
alias: Set Max 800W if not Set
- conditions:
- condition: numeric_state
entity_id: sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt
value_template: ' {{( (float(states(''sensor.haus_leistungsbedarf_gesamt_minimalwert_5min_watt''))
* 2) + float(states(''sensor.haus_leistungsbedarf_gesamt_mittelwert_5min_watt'')))
/ 3}}'
below: 100
- condition: not
conditions:
- condition: numeric_state
entity_id: sensor.solarbank_e1600_einspeisevorgabe
above: 99
below: 101
sequence:
- metadata: {}
data:
value: '100'
target:
entity_id: number.solarbank_e1600_einspeisevorgabe
action: number.set_value
alias: Set Min 100W if not Set
mode: single
Hast einer eine IDee woran es liegen kann und wi muss ich diese Posuitionsangabe lesen:
@ data[2][‘conditions’][4]