Hilfe bei erstem Automationsversuch

Fidibus

Active member
Moin,
wie immer - die Suche bemüht, aber die Themen steigen für mich oft zu tief ein. Im Umkehrschluss also gleich mein Hinweis, ich habe vom Programmieren keine Ahnung.
Ich haben mir ein HA auf einen Pi installieren lassen. Dann mittels Unterstützung eine Sungrow-PV-Anlage mit Speicher über ModBus-Proxy auf dem Pi selbst zur Visualisierung gebracht, Dank github war das eigentlich schon fertig, aber die kleinen Details haben mich regelmäßig nach Hilfe schreien lassen.
Weiterhin steuere ich (aktuell per Hand) über einen Shelly Pro4PM einen einphasigen 3000W Heizer im Warmwasserspeicher.
Der Shelly ist nach der Installation von selbst im HA gefunden worden.
Nun habe ich folgende Aufgabe:
In Abhängigkeit von der Uhrzeit ist zu Prüfen, ob der Batteriestand mindestens xx% beträgt. Ist dann die Produktion vom Dach mindestens yykW oder gar einen Einspeisung von zzkW anliegend soll der Shelly den Heizstab zuschalten.
Dieser ist doof und so eingestellt, dass er bei 60° automatisch abschaltet. Bei minimal 55° würde er wieder zuschalten.
Als Fragen sind mir bei meinen Versuchen bereits folgende aufgefallen:
1. Die Zeitpläne, die ich im Shelly hinterlegen kann, habe ich im HA so erst einmal nicht gefunden - muss da noch etwas programmiertechnisch erweitert werden?
2. Die einfache Automationsaufgaben-Klick-Oberfläche hat mich fast zum Wahnsinn gebracht und musste ergebnislos abgebrochen werden.
3. Gibt es hier schon so etwas wie eine step-by-step Anleitung?
4. Oder kann mich jemand an die Hand nehmen hier?
Meine HA Version ist:
Home Assistant 2023.4.5; Supervisor 2023.04.0; Operating System 9.5; Frontend 20230411.1 - latest
Home Assistant Operating System 10 wird jetzt gleicch installiert.
HACS ist installiert.
Freue mich über eure Antworten und Hilfe!
Gruß Fidibus
 
Moin,

Wenn du mal kurzgefasst einen Ablauf schreibst, was wann passieren soll (inkl Namen der Entitäten, die dazugehörige sind), dann kann ich dir da gerne helfen.
Bitte Stichpunktartig schreiben, das macht es einfacher
 
Aber von Prinzip ist es nicht schlecht, gerade als Anfänger, sich durch die "Klick-Oberfläche" durchzuklicken. Was du zusammengeklickt hast, kann man dann sich in yaml anschauen und daraus lernen, was er da macht. Wenn man dann ein bischen Ahnung hat, ist es meist einfacher, das dann direkt in yaml zu machen.
 
Aber von Prinzip ist es nicht schlecht, gerade als Anfänger, sich durch die "Klick-Oberfläche" durchzuklicken.
Ich hatte es echt probiert. Ich habe da oft ein Verständnisproblem, wo eine scchnelle, eindeutige Antwort auch weiterhelfen würde.
Aber das wäre ja betreutes Entwickeln - mir wäre das sehr lieb, aber das wäre für den Thread wahrscheinlich tödlich.
 
Das was du da oben alles willst, ist für den Anfang auch zuviel. Fängst erstmal an mit "Wenn der Batterizustand über 50%, dann schalte den Shelly". Wenn das geht, fügst du das nächste ein: "Wenn der Zustand über 50% und die Einspeisung größer als Verbrauch, dann schalte den Shelly". ... usw. langsam anfangen.
 
Wir können hier auch betreutes Entwickeln machen, das haben wir schon in diversen Threads gemacht. Und wenn es nachher 30 Seiten sind, ist das auch ok. Hauptsache dein Anliegen funktioniert nachher.

Mach gerne mal wie @Steevee sagte, dass du selber zusammenklickst und ganz einfach anfängst. Sobald du Probleme bekommst oder Verständnisfragen sind, sind wir für dich da. Dann bitte mit knackiger Beschreibung des gedachten Ablaufs und dem dazugehörigen YAML-Code (bitte auf Formatierung achten, siehe angepinnter Post).
 
Hauptsache dein Anliegen funktioniert nachher.
Danke euch, los geht es:
1. Automation, Warmwasser aufheizen mit Überschuß der PV-Anlage.

Überschuß an ( sensor.export_power )
- Prüfen, wieviel, erst ab 1500 Watt
Heizung an ( switch.wasserspeicher_16a ) (Status auf aktiviert)
Anmerkung:
Der Heizstab schaltet unter einer Wassertemperatur von 55° an und heizt solange Strom anliegt bis 60°. Dann schaltet er selbständig an.
Der Shelly ( switch.wasserspeicher_16a ) bleibt an und müsste über eine Bedingung abgeschaltet werden.
Hier wäre eine Überlegung:
( sensor.wasserspeicher_16a_power ) geht auf 0, dann
( switch.wasserspeicher_16a ) (Status auf deaktiviert)

Offen bleibt erst einmal die Überwachung, wie lange der Überschuß anliegt.
Ich melde mich bei Problemen und Erfolgen, gebt mir ein paar Tage.
 
Ich hab die Automation schon fertig 😅

Überschuss -> Heizung an
Power < 1 -> Heizung aus

Als Gedankenanstoß: solange Überschuss anliegt Heizung anlassen, wenn sie sich eh bei 55 Grad an- und bei 60 Grad abschaltet.
Also:

Überschuss -> Heizung an
Kein Überschuss -> Heizung aus

Bei deinem Ablauf heizt du ja einmalig auf und danach nicht mehr. Wenn jetzt 2 Stunden später die Temperatur unter 55 Grad fällt und trotzdem noch Überschuss anliegt, bliebt die Heizung aus. Ich glaube mein Gedanke ist da eher in deinem Sinne, oder?

Ich Speicher mir die Automation dazu mal ab, dann hab ich sie griffbereit wenn du nicht weiter kommst.
 
Als Gedankenanstoß: solange Überschuss anliegt Heizung anlassen, wenn sie sich eh bei 55 Grad an- und bei 60 Grad abschaltet.
Soweit, so gut.
Ich schaue mir das mal an, allerdings kommt (wenn das oben funktioniert) eine weitere Bedingung dazu.
Überschuss entsteht erst, wenn im Haus alles bedient ist. Allerdings bedient auch eine 10kWh Batterie den Hausbedarf.
Die möchte ich aber nur zur Hilfe nehmen, wenn der Überschuss da ist und ggf. nicht ganz ausreichend ist, so dass die Batterie nur einen geringen Prozentsatz beisteuert. Diesen gerne aber auch schon bei z.B 80% Batterieladung.
Das Ganze wird dann in einem weiteren Schritt zeitlich zu betrachten sein, da ich gerne mit 100% Batterie in die Nacht gehen möchte.
Ich entnehme deinem Hinweis, dass ich offensichtlich nicht die erste Basisbedingung richtig angenommen habe?
Wäre eine andere Bedingung grundlegender? (sensor.battery_charge) gibt an, welcher Ladezustand gerade vorhanden ist.
 
Heißt mit der neuen Bedingung dann also:

Überschuss + Batterieladung > 80% -> Heizung an
Überschuss + Batterieladung < 80% -> Heizung aus
Kein Überschuss -> Heizung aus

In Worten: Bei Überschuss und Batterieladung über 80% den Heizstab zuschalten, ansonsten soll er ausbleiben.

Korrekt so?

Die Basisbedingung hast du für deinen Gedankengang schon korrekt angenommen, aber für mich erscheint eine Abschaltung vom Heizstab bei erreichter Wassertemperatur unsinnig. Der regelt sich ja selber, daher ist es meiner Meinung nach sinniger, nur deinen Solarüberschuss+Batterie als Faktoren zum Ein/Ausschalten zu nehmen.
 
Der regelt sich ja selber, daher ist es meiner Meinung nach sinniger, nur deinen Solarüberschuss+Batterie als Faktoren zum Ein/Ausschalten zu nehmen.
Das sehe ich auch so.
Überschuss + Batterieladung > 80% -> Heizung an
Überschuss + Batterieladung < 80% -> Heizung aus
Kein Überschuss -> Heizung aus
Ja. Im Moment sehe ich das auch so.
Da ich die (absolute Bedingung) Zeit im Shelly-Kalender setzen könnte (im HA habe ich diese Möglichkeit nicht entdeckt), wäre das ein guter Start.
Im Klickmenü finde ich genau diese Verknüpfung nicht.
Auslöser immer (when), nicht (and), Zustände immer absolut, nicht > oder < ?
 
Auslöser sind immer logisch "oder"
Bedingungen sind immer logisch "und" (Ausnahme: Bedingungen in den Aktionen oder explizit mit logischem "oder" konfiguriert)
Zustände sind absolut
Numerische Zustände sind > oder < (beim Auslöser nur einmalig, als Bedingung immer)

...wirste in HA nicht finden, der wird nicht übergeben. Es gibt sowohl bei "Bedingungen" als auch bei "Aktion - Bedingung" den Punkt "Zeit". Da kannst du dir deine Zeiten als Bedingung konfigurieren. Alternativ unter Geräte - Helfer einen Zeitplan erstellen und konfigurieren und dessen Zustand (on oder off) als Bedingung abfragen.

Ich schreib gleich in der Mittagspause mal die Automation mit den neuen Bedingungen und warte dann mal, wie weit du kommst.
 
Ich schreib gleich in der Mittagspause mal die Automation
Du setzt mich unter Druck ;-)
Jeder deiner Hinweise muss ich nun erst einmal im HA suchen, verstehen und mal testen.
Klar kann ich nun schnell auf deine Lösung zurückgreifen und dann per reverse engeneering meine Versuche zu starten. Gib mir mal etwas Zeit :)
 
Zeit ist doch eigentlich nicht nötig. Für was willst du die Zeit eingrenzen?
Wenn man nur die Nacht ausklammern will, kann man auch die Sonne abfragen, ob sie über dem Horizont ist.
 
Zuletzt bearbeitet:
schnell auf deine Lösung zurückgreifen
Nööö, die Lösung leg ich mir nur "beiseite", damit ich was zum nachgucken hab, wie das Gedacht war. So brauch ich nicht jedes Mal den ganzen Thread durchblättern und selber mit Reverse Engineering anfangen ;) Wir können hier aber Schritt für Schritt meine Lösung nachbauen, dann lernste ordentlich was.

Zeit ist doch eigentlich nicht nötig. Für was willst du die Zeit eingrenzen?
Um ab einer gewissen Zeit den Überschuss nicht für die Heizung, sondern für die Batterie nutzen zu können.
 
Zeit ist doch eigentlich nicht nötig. Für was willst du die Zeit eingrenzen?
Ich brauche nicht den ganzen Tag über 60° warmes Wasser, da wären mir selbst 8 Cent Einspeisung lieber, da ich das sonst nur unter Wärmeverluste abbuchen würde. Ich habe da bestimmte Bedarfszeiten.
Um ab einer gewissen Zeit den Überschuss nicht für die Heizung, sondern für die Batterie nutzen zu können.
Richtig!
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.556
Beiträge
54.721
Mitglieder
5.384
Neuestes Mitglied
BlueEclipse
Zurück
Oben