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…
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…