Python script in HA

Hallo Forum,

vorweg ein dickes Lob an Simon, ich finde deine Videos und auch das Forum echt klasse. Auch als Laie kann man genau nachvollziehen, was man wie machen muss.

Nun zu meinem Thema.

Ich habe ein RasPi4 und HA installiert, es läuft alles und ich komme seither klar, wenn ich mir ein Projekt vornehme.
Aber bei meinem neuesten Projekt komme ich jetzt nicht mehr weiter.
Ich möchte Hoymiles Zero Export verwirklichen.

Ich habe das Script in der WIN Eingabeaufforderung so weit zum Laufen bekommen, aber den PC immer laufen zu lassen ist halt schwierig.
Meine Überlegung ist, ob die das ganze nicht in HA implementieren kann und es dort vielleicht sogar nur aktiv ist, wenn der WR online ist.

Hat wer eine Idee oder einen Ansatz?

Herzlich Willkommen hier im Forum.

Evtl. wäre das hier was für dich

Ich habe es aber nie selber getestet.

Hmm,
ich hoffe nicht, dass die die einzige Möglichkeit ist.

Ich habe leider zu wenig Ahnung davon. Aber mir kommt es komisch vor, dass du das über Windows laufen lassen musst.

Vielleicht bringt dich die Suche weiter
https://community.simon42.com/search?expanded=true&q=hoymiles

einfache python scripts gehören in den Ordner /config/python_scripts
und könnte wie folgt aufgerufen werden. (wenn das script z.B. set_state.py heisst)

tap_action:
  action: call-service
  service: python_script.set_state
  state: "on"

Inwieweit das auf den ersten Blick komplexere Hoymiles Script funktioniert keinen blassen Schimmer, ich bin froh wenn ich 20 Zeilen python am Stück nach ein paar Händevoll Minuten überhaupt ansatzweise verstanden habe. Sprich ich kann Python schreiben aber nicht in python was schreiben.

ansonsten im englischen community forum nach python suchen … da ist ide Chance eindeutig größer das irgendwer sich da schon was hingebastelt hat.

Ach so noch ein Hinweis: damit du überhaupt ein python_script ausführen kannst muss in deine configuration.yaml natürlich noch die Zeile

python_script:

halt wie auch default_config: da drin stehen sollte … also nur die eine Zeile weiter nix.

Ich versuche es mit der Integration pyscript.

Das Script ich einbinden will, holt sich Daten aus einer config.

Kann mir bitte wer helfen das so zu ändern das ich in dem Script den Pfad von der config angeben kann.

Blockzitat

Import requests
import time
from requests.auth import HTTPBasicAuth
import os
import logging
from logging.handlers import TimedRotatingFileHandler
from configparser import ConfigParser
from pathlib import Path
from datetime import timedelta
import datetime

logging.basicConfig(
format=‘%(asctime)s %(levelname)-8s %(message)s’,
level=logging.INFO,
datefmt=‘%Y-%m-%d %H:%M:%S’)
logger = logging.getLogger()

try:
config = ConfigParser()
config.read(str(Path.joinpath(Path(file).parent.resolve(), “HoymilesZeroExport_Config.ini”)))
ENABLE_LOG_TO_FILE = config.getboolean(‘COMMON’, ‘ENABLE_LOG_TO_FILE’)
LOG_BACKUP_COUNT = config.getint(‘COMMON’, ‘LOG_BACKUP_COUNT’)
except Exception as e:
logger.info(‘Error on reading ENABLE_LOG_TO_FILE, set it to DISABLED’)
ENABLE_LOG_TO_FILE = False
if hasattr(e, ‘message’):
logger.error(e.message)
else:
logger.error(e

Blockzitat

Ich glaube ich benötige die Daten aus der config

Ich habe auch einen Hoymiles WR und eine DTU Wlite und habe es hier und hier versucht. Ich kommt leider nicht klar. config.yaml endet jedes mal mit einem Fehler. Vielleicht hat noch jemand eine Idee, wie ich die Daten aus der DTU WLite von Hoymiles exportieren und in HA importieren kann.

Danke euch