thomluther / anker-solix-api

Python library for Anker Solix API
MIT License
36 stars 10 forks source link

E1600 there is only a silder and value option via automation for setting the 0 to 600W limit #99

Closed Wingcom1 closed 1 month ago

Wingcom1 commented 1 month ago

Is it possible to set the limit from 0 to 800W via a variable or another sensor dynamically in case of an automation. The number.solarbank_e1600_system... takes no values except from silder or manuell value. May be thats not an issue only a missing feature.

thomluther commented 1 month ago

Hi, Not sure what you do, in my automation it works via a service, however the limit is as shown in the slider. Values outside of the range are not excepted via service either, since the entity is defined with this range only. Here is an example snippet: See number.set_value for number.sb_e1600_system_einspeisevorgabe

          - if:
              - condition: template
                value_template: "{{new_preset > actual_preset}}"
                alias: Testen dass neue Vorgabe größer als aktive Vorgabe
            then:
              - if:
                  - condition: state
                    entity_id: input_boolean.solarbank_erhohung_freigabe
                    state: "on"
                then:
                  - alias: Vorgabe erhöhen
                    service: number.set_value
                    data:
                      value: |
                        {{new_preset}}
                    target:
                      entity_id: number.sb_e1600_system_einspeisevorgabe
                    enabled: true
                  - alias: Logbuch Eintrag machen
                    service: logbook.log
                    data:
                      message: >
                        {{new_preset}} W bei {{consumption_median}} W
                        Hausverbrauch und {{grid}} W Netz
                      name: "Erhöhung Solarbank Vorgabe ({{mode}}):"
                      entity_id: switch.sb_e1600_erlaube_leistungsabgabe
                else:
                  - service: input_boolean.turn_on
                    target:
                      entity_id: input_boolean.solarbank_erhohung_freigabe
                    data: {}
              - alias: Vorgabetimer starten um Änderungen zu limitieren
                service: timer.start
                target:
                  entity_id: timer.solarbank_vorgabe
                data:
                  duration: "{{int(delay_minutes*60)}}"
Wingcom1 commented 1 month ago

Hello,thank you for your reply.The only difference between your service routine seems to be the entity_id:yours is number.sb....  my is number.solarbank....The automation triggers, sensor.einspeisegrenze = 150 Load is allowed but no response to number... happens.service: number.set_valuedata:  value: |    {{ states('sensor.einspeisegrenze')|float }}target:  entity_id: number.solarbank_e1600_system_einspeisevorgabe GreetingsFrankAm 15.05.2024 23:02 schrieb Thomas Luther @.***>: Hi, Not sure what you do, in my automation it works via a service. Here is an example snippet: See number.set_value for number.sb_e1600_system_einspeisevorgabe

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

thomluther commented 1 month ago

Try it with int instead of float and give it a default if. The number entity expects integer and wont do anything if not a valid integer within the defined entity range

Wingcom1 commented 1 month ago

Hi,thank you, integer was the solution!Best regardsFrankAm 16.05.2024 09:01 schrieb Thomas Luther @.***>: Try it with int instead of float and give it a default if. The number entity expects integer and wont do anything if not a valid integer within the defined entity range

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Wingcom1 commented 1 month ago

Super Hilfe! Vielen Dabnk