Die API muss beim beim APSystems EZ1 zunächst freigeschaltet werden

API Freischaltung APSystems EZ1

Benötigte Hardware:

Green Smart Home Hub: Vorinstalliert mit Home Assistant – Anschließen und loslegen
 

Version 1 (bitte Version 2 nutzen)

  • Funktioniert 🙂

Bekannte Bugs:

  • Bei einem Verbrauch unter 30W bleibt der EZ1 auf dem letzten eingestellten Wert

nulleinspeisung_ez1_v1 (Die Sensoren und Entitys müssen entsprechend angepasst werden)

Version 2

  • Einspeiseleistung zwischen 30W und 800W
				
					alias: Nulleinspeisung EZ1 V2
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.shellyplusplugs_80646fd629f4_switch_0_power
condition: []
action:
  - service: number.set_value
    target:
      entity_id: number.apsystems_apsystems_ez1_max_output_power
    data:
      value: >-
        {{ [30, [states('sensor.shellyplusplugs_80646fd629f4_switch_0_power') |
        float, 800] | min] | max }}
mode: single

				
			

Anker Solix Solarbank E1600 (ungetestet)

				
					alias: Anker Solix Solarbank E1600
description: "Attempts to keep power consumption at 0 watts with two independent inverters"
trigger:
  - platform: state
    entity_id:
      - sensor.stromzahler_leistung_w
condition: []
action:
  - repeat:
      while:
        - condition: template
          value_template: >
            {% set stromverbrauch = states('sensor.stromzahler_leistung_w') | float %}
            {{ stromverbrauch != 0 }}
      sequence:
        - service: number.set_value
          target:
            entity_id: number.solarbank_e1600_system_einspeisevorgabe
          data:
            value: >
              {% set stromverbrauch = states('sensor.stromzahler_leistung_w') | float %}
              {% set current_value = states('number.solarbank_e1600_system_einspeisevorgabe') | float %}
              {% if stromverbrauch > 0 %}
                {{ [current_value + stromverbrauch / 2, 800] | min }}
              {% else %}
                {{ [current_value + stromverbrauch, 0] | max }}
              {% endif %}
        - service: number.set_value
          target:
            entity_id: number.apsystems_apsystems_ez1_m_max_output_power
          data:
            value: >
              {% set stromverbrauch = states('sensor.stromzahler_leistung_w') | float %}
              {% set current_value = states('number.apsystems_apsystems_ez1_m_max_output_power') | float %}
              {% if stromverbrauch > 0 %}
                {{ [current_value + stromverbrauch / 2, 800] | min }}
              {% else %}
                {{ [current_value + stromverbrauch, 0] | max }}
              {% endif %}
        - delay: "00:00:10"
mode: single
				
			

Anleitung (folgt)

Nulleinspeisung Hoymiles

				
					alias: Nulleinspeisung HMS400
description: >-
  Stellt die Leistung des Wechselrichters basierend auf dem Shelly Plug Power
  Sensor ein.
trigger:
  - platform: state
    entity_id: sensor.shellyplusplugs_80646fd629f4_switch_0_power
condition: []
action:
  - service: number.set_value
    target:
      entity_id: number.wechselrichter_leistungsbegrenzung
    data:
      value: >-
        {% set power =
        states('sensor.shellyplusplugs_80646fd629f4_switch_0_power') | float %}
        {% set max_power = 400 %} {% if power > max_power %}
          100
        {% else %}
          {{ (power / max_power * 100) | round(2) }}
        {% endif %}
mode: single

				
			
Hoymiles WIFI Anbindung für Home Assistant
 
Alle Entitäten:
DTU AC-Tagesenergie
sensor.dtu_ac_tagesenergie
DTU AP-SSID
sensor.dtu_ap_ssid
DTU DTU
Binary_sensor.dtu_dtu
DTU HW-Version
sensor.dtu_hw_version
DTU IP Adresse
sensor.dtu_ip_adresse
DTU MAC-Adresse
sensor.dtu_mac_adresse
DTU Neustart
button.dtu_neustart
DTU Signalstärke
sensor.dtu_signalstarke
DTU SW-Version
sensor.dtu_sw_version
DTU WLAN-SSID
sensor.dtu_wlan_ssid
DTU Zählermodell
sensor.dtu_zahlermodell
Wechselrichter AC-Leistung
sensor.wechselrichter_ac_leistung
Wechselrichter Ausschalten
button.wechselrichter_ausschalten
Wechselrichter Einschalten
button.wechselrichter_einschalten
Wechselrichter HW-Version
sensor.wechselrichter_hw_version
Wechselrichter Leistungsbegrenzung
number.wechselrichter_leistungsbegrenzung
Wechselrichter Leistungsfaktor
sensor.wechselrichter_leistungsfaktor
Wechselrichter Netzfrequenz
sensor.wechselrichter_netzfrequenz
Wechselrichter Netzspannung
sensor.wechselrichter_netzspannung
Wechselrichter Port 1 DC-Gesamtenergie
sensor.wechselrichter_port_1_dc_gesamtenergie
Wechselrichter Port 1 DC-Leistung
sensor.wechselrichter_port_1_dc_leistung
Wechselrichter Port 1 DC-Tagesenergie
sensor.wechselrichter_port_1_dc_tagesenergie
Wechselrichter Port 1 Gleichspannung
sensor.wechselrichter_port_1_gleichspannung
Wechselrichter Port 1 Gleichstrom
sensor.wechselrichter_port_1_gleichstrom
Wechselrichter SW-Version
sensor.wechselrichter_sw_version
Wechselrichter Temperatur
sensor.wechselrichter_temperatur

Anleitung (folgt)

6 Replies to “Nulleinspeisung APSystems / Hoymiles”

  1. Super Idee, wäre das ganze auch für einen Tasmota- Lesekopf möglich. Dann würde ich das gerne kaufen

  2. Thomas Peta 9 Monaten ago

    EZ1
    Ich habe Interesse

  3. Da die Anleitung hier doch noch einige Lücken enthällt hier mal was ich gemacht habe, um den EZ1 manuell zu steuern:

    1. Zwei Helfer anlegen:
    – (Einstellungen -> Geräte & Dienste -> Helfer)
    – 1x Nummer:
    – Name: APsystems EZ1 MaxPower
    – Min: 30
    – Max: 800
    – Maßeinheit: W
    – 1x Schalter
    – Name: APsystems EZ1 OnOff

    2. In die configuration.yaml einfügen:
    – (ggf. In den AddOns “File Editor” installieren.)
    – Dort Einfügen:
    rest_command:
    apsystems_ez1_setmaxpower:
    url: “http://192.168.178.70:8050/setMaxPower?p={{ states(‘input_number.apsystems_ez1_maxpower’)|int }}”
    apsystems_ez1_setonoff:
    url: “http://192.168.178.70:8050/setOnOff?status={{ iif(is_state(‘input_boolean.apsystems_ez1_onoff’, ‘on’), 1, 0) }}”

    3. Die Werte per Automation absenden:
    – (Einstellungen -> Automatisierungen & Szenen)
    – Wenn:
    – 2x “Entität” > “Zustand” und dort je einen der Helfer auswählen.
    – Und jeweils auf die 3 Punkte rechts und “ID bearbeiten” und je benennen.
    – Dann mache:
    – Baustein > Auswählen
    – Option 1/2:
    – Bedingung: Andere > ID > MaxPower / OnOff
    – Aktion: RESTful Command: apsystems_ez1_setmaxpower / apsystems_ez1_setonoff

  4. (Hier nochmal, da beim anderen die führenden Tabulatoren entfernt wurden, hoffentlich geht es mit Leerzeichen:)
    Da die Anleitung hier doch noch einige Lücken enthält hier mal was ich gemacht habe, um den EZ1 manuell zu steuern:

    1. Zwei Helfer anlegen:
    – (Einstellungen -> Geräte & Dienste -> Helfer)
    – 1x Nummer:
    – Name: APsystems EZ1 MaxPower
    – Min: 30
    – Max: 800
    – Maßeinheit: W
    – 1x Schalter
    – Name: APsystems EZ1 OnOff

    2. In die configuration.yaml einfügen:
    – (ggf. In den AddOns “File Editor” installieren.)
    – Dort Einfügen:
    rest_command:
    apsystems_ez1_setmaxpower:
    url: “http://192.168.178.70:8050/setMaxPower?p={{ states(‘input_number.apsystems_ez1_maxpower’)|int }}”
    apsystems_ez1_setonoff:
    url: “http://192.168.178.70:8050/setOnOff?status={{ iif(is_state(‘input_boolean.apsystems_ez1_onoff’, ‘on’), 1, 0) }}”

    3. Die Werte per Automation absenden:
    – (Einstellungen -> Automatisierungen & Szenen)
    – Wenn:
    – 2x “Entität” > “Zustand” und dort je einen der Helfer auswählen.
    – Und jeweils auf die 3 Punkte rechts und “ID bearbeiten” und je benennen.
    – Dann mache:
    – Baustein > Auswählen
    – Option 1/2:
    – Bedingung: Andere > ID > MaxPower / OnOff
    – Aktion: RESTful Command: apsystems_ez1_setmaxpower / apsystems_ez1_setonoff

    1. Meinst Du das könntest Du ggfs irgendwie auch für nicht IT-ler erklären?

  5. Hallo,
    der APsystems EZ1m soll anscheinend kaputt gehen, wenn zuviele Schreibvorgange in den Speicher vorgenommen werden.
    …, das die Werte zur Begrenzung des Wechselrichters in den Flash Speicher geschrieben wurden. Dieser verfügt nur über eine gewisse Anzahl an Schreibzyklen….
    Ist das wirklich so? gibts da evtl. eine neue Firmware?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

This field is required.

This field is required.