Re: Acthor mit Fenecon, Speicher wird nicht mehr voll
Verfasst: So Okt 06, 2024 8:43 am
Hier nochmal mit mehr Pv Leistung.
Die modulare Wallbox
https://forum.openwb.de/
Code: Alles auswählen
import requests
import paho.mqtt.client as mqtt
import logging
# Logging einrichten
logging.basicConfig(level=logging.INFO)
# OpenEMS-Einstellungen
openems_url = "http://10.10.40.253:8084/rest/channel/ctrlGridOptimizedCharge0/DelayChargeMaximumChargeLimit"
openems_username = "x" # Hier deinen Benutzernamen eintragen, wenn erforderlich
openems_password = "user"
# MQTT-Einstellungen
mqtt_broker_ip = "localhost"
mqtt_topic = "openWB/set/LegacySmartHome/config/get/maxBatteryPower"
def on_connect(client, userdata, flags, reason, properties=None):
logging.info(f"Verbunden mit Reason {reason}")
def on_publish(client, userdata, mid, reason_code=None, properties=None):
if reason_code is not None:
logging.info(f"Nachricht veröffentlicht mit MID {mid} und Reason Code {reason_code}")
else:
logging.info(f"Nachricht veröffentlicht mit MID {mid}")
def get_openems_value():
try:
response = requests.get(openems_url, auth=(openems_username, openems_password))
response.raise_for_status() # Wirft eine Ausnahme, wenn der Statuscode nicht 200 ist
data = response.json()
return data["value"]
except requests.exceptions.RequestException as e:
logging.error(f"Fehler beim Abrufen des OpenEMS-Werts: {e}")
return None
def send_mqtt_value(value):
try:
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
client.on_connect = on_connect
client.on_publish = on_publish
client.connect(mqtt_broker_ip, 1883)
client.publish(mqtt_topic, value)
client.disconnect()
except Exception as e:
logging.error(f"Fehler beim Senden des MQTT-Werts: {e}")
# Wert abrufen und senden
value = get_openems_value()
if value is not None:
logging.info(f"OpenEMS-Wert: {value}")
send_mqtt_value(value)
else:
logging.error("Kein Wert von OpenEMS erhalten.")