Einstieg in Pyscript ? -Es passiert nichts?

Hi,

ich will etwas komplexer regeln was mit dem Strom passiert. Daher möchte ich mal in pyscript einsteigen.

Zuerst hat mein Script sobald man es gespeichert hat Fehlermeldungen geschmissen. Das betrachte ich mal als gutes Zeichen dass ja versucht wird etwas auszuführen.

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.pyscript.file.stromueberschuss.heizstab_ausschalten
...

Exception in <file.stromueberschuss.heizstab_ausschalten @state_trigger()> line 1: sensor.zaehler_zaehler_actualpower <= 800 and switch.Heizstab1_833W == 'on' ^ TypeError: '<=' not supported between instances of 'StateVal' and 'int'

Den Fehler habe ich “behoben” … Und nun passiert scheinbar gar nichts mehr.
ich habe zum Testzeitpunkt gut 300W Leistung übrig, und habe daher den Schwellwert zum Test mal auf 200W gesetzt. Meine Erwartung wäre: entweder geht der “switch.Heizstab1_833W” auf “on” plus Logeintrag, oder ich bekomme nur einen Logeintrag wenn ich vorher den Heizstab manuell aktiviert habe und zu wenig Überschuss habe…

Seit das Script vom HA ohne Fehler akzeptiert wurde bekomme ich keine Reaktion oder Logeinträge davon:

@state_trigger("float(state.get('sensor.zaehler_zaehler_actualpower')) < -200")
def heizstab_einschalten(**kwargs):
    if state.get("switch.Heizstab1_833W") != "on":
        log.info("Stromverschwendung über 800W, Heizstab wird eingeschaltet")
        task.call_service("switch/turn_on", entity_id="switch.Heizstab1_833W")

@state_trigger("float(state.get('sensor.zaehler_zaehler_actualpower')) >= -200 and state.get('switch.Heizstab1_833W') == 'on'")
def heizstab_ausschalten(**kwargs):
    log.info("Stromverschwendung unter 800W, Heizstab wird ausgeschaltet")
    task.call_service("switch.turn_off", entity_id="switch.Heizstab1_833W")
    

Könnte bitte Mal jemand über das Script schauen ? (Strom ist übrig wenn der Zähler vom Versorger einen negativen Betrag ausweist…)

PS: Wenn das funktioniert möchte ich versuchen ein besserer Python Laie zu werden…

Nachtrag das kommt im Debug Modus heraus:

2024-06-20 17:47:28.841 DEBUG (MainThread) [custom_components.pyscript] No new packages to install
2024-06-20 17:47:28.843 DEBUG (MainThread) [custom_components.pyscript.eval] file.stromueberschuss: calling info("Pyscript gestartet", {})
2024-06-20 17:47:28.843 INFO (MainThread) [custom_components.pyscript.file.stromueberschuss] Pyscript gestartet
2024-06-20 17:47:28.843 INFO (MainThread) [custom_components.pyscript.global_ctx] Loaded /config/pyscript/stromueberschuss.py
2024-06-20 17:47:28.844 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_einschalten is active
2024-06-20 17:47:28.844 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_ausschalten is active
2024-06-20 17:47:28.845 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_einschalten: watching vars {'state.get', 'float'}
2024-06-20 17:47:28.845 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_einschalten waiting for state change or event
2024-06-20 17:47:28.845 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_ausschalten: watching vars {'state.get', 'float'}
2024-06-20 17:47:28.845 DEBUG (MainThread) [custom_components.pyscript.trigger] trigger file.stromueberschuss.heizstab_ausschalten waiting for state change or event

…wenn ich wüsste was ich falsche mache bei den Variablen … ?

Moin,
habe noch nicht damit gearbeitet aber ich würde sagen der Fehler ist beim call_service.

das soll bestimmt switch.turn_on sein.

LG
Tobi

Das mach Sinn. Danke. Aber es müssten ja auch Logeinträge kommen… Ich denke doch im Core-Log ?

Beispiel wo auch nix passiert:
log.info(f"Trigger heizstab_einschalten ausgelöst:…")

Ich vermute das Problem mehr in meiner Abfragelogik.

Da mich Energieverschwendung schmerzt. hab ich das Problem jetzt erst Mal grob und ziemlich schlampig per Automation gelöst…

Aber das Thema will ich mittelfristig trotzdem nochmals genauer angeben z.B. auf diesem Weg ! Würde mich freuen wenn sich Mal jemand meldet der erfolgreich pyscript nutzt…