Danke für deine Erklärungen, stiech82.
So ähnlich wird es sein, dass alles über die Seriennummern der wechselrichter verwaltet wird. Schon komisch. Ich hab weiterhin 2 geräte in mqtt, jetzt je dtu ein Gerät. Entitäten kommen von 3 wechs3lrichtern. Ich habe die topic verschieden. Macht aber eh kein Sinn, das doppelt laufen zu lassen. Mach ich auch nur zu Testzwecken um zu sehen ob die dtu auch funktionieren.
Ist auf jeden Fall eine interessante Sache, wechselrichter, dtu und mqtt und home assistant. Iwann wird jeder son schlaues smart home System haben. Ist net schlecht, da so langsam schlau zu werden.
Die geschwister scholl wurden ermordet, weil sie ihre politischen ansichten dort verbreitet haben, wo es nicht vorgesehen war. Heute werden nur beiträge gelöscht, keiner stirbt mehr. Ausser der denokratie.
Hallo zusammen,
wie sehen eure Nodes aus?
Habe eine Funktion in node red mit der ich aber garnicht zufrieden bin. Mein Grundbedarf liegt bei ca 170W sobald ich z.B. den Laptop anstecke steigt dieser und der Wechselrichter gibt die ganze Leistung frei dadurch steigt wieder die Einspeisung ..... das gibt ein unendliches hin und her geregel.
Hier mal meine Funktion:
@dima2241 Ich peile ja eher Nulleinspeisung an, deswegen ist mein Skript anders.
Aber ich habe so ein ähnliches Problem weil ich die Anlage ab einem gewissen Akkustand drossle. Wenn aber die Drossel greift, dann steigt der Akkustand ja wieder etwas weil nichts gezogen wird und dann geht der Akkustand wieder hoch und die Drossel geht wieder aus und schon sinkt der Akkustand wieder.
Also auch ein hin und her.
Ich habe dafür dann eine Zeitverzögerung (delay) mit Node-Red eingebaut. So wartet er noch etwas bis die Drossel greift und das hin und her ist deutlich weniger geworden.
Wichtig: Beim Delay das Kontrollkästchen mit den Zwischennachrichten löschen aktivieren. Sonst sendet er dir nach und nach die alten Nachrichten durch.
Hallo, leider kann ich nicht erkennen ob es euch jetzt über den Ahoy V0.5.66 mittels mqtt gelungen ist die Inverter zu limitieren?
Egal wie und was ich versuche, es klappt einfach nicht. Allerdings verwende ich iobroker, sollte aber was die mqtt Nachricht betrifft egal sein.
Ich habe schon viele verschiedene Varianten versucht und komme nicht ans Ziel. Im Moment versuche ich es wie eigentlich beschrieben.
Allerdings führt das immer dazu das die Payload ignoriert und als 0Watt interpretiert wird.
Das gibt der Ahoy Server in der Console aus:
13:53:46 I: MQTT got topic: inverter/ctrl/limit_nonpersistent_relative/1 13:53:47 I: resetPayload: id: 2 13:53:47 I: (#2) enqueuedCmd: 11 13:53:47 I: (#2) sendTimePacket 13:53:47 I: sendTimePacket b 13:53:47 I: TX 27B Ch61 | 15 82 94 52 26 85 30 07 35 80 0b 00 63 fb 56 5b 00 00 00 04 00 00 00 00 c4 9e b0 13:53:48 I: procPyld: cmd: 11 13:53:48 I: procPyld: txid: 0x95 13:54:17 I: resetPayload: id: 0
Ich sehe die "1" hinten an der Adresse. Hast du denn 2 Inverter bei Ahoy-DTU eingetragen?
Denn der erste Inverter hat die "0" und der zweite Inverter die "1" usw....
Wenn du also nur einen Inverter bei Ahoy-DTU eingetragen hast, dann muss da eine 0 stehen.
Ich bin mir nicht ganz sicher, aber du hast da "_relative" stehen. Ist das nicht die Angabe in Prozent? Den Wert 300 kann es da sowieso nicht geben.
Ich bin mir nicht mehr sicher, aber ich meine "absolute" ist die Angabe in Watt und "relative" die Angabe in Prozent.
Ob persistent oder nonpersistent sollte hier erst einmal egal sein.
Bei mir sieht das so aus:
19:37:26 I: MQTT got topic: Hoymiles/ctrl/limit_persistent_absolute/0
19:37:27 I: resetPayload: id: 0
19:37:27 I: sendControlPacket cmd: 11
19:37:27 I: TX 19B Ch40 | 51 82 91 13 04 85 76 67 00 81 0b 00 0a 8c 01 00 c3 c2 cd
19:37:27 I: clearCmdQueue
19:37:27 I: (#0) enqueuedCmd: 5
19:37:27 I: Inverter 0 has accepted power limit set point 270 with PowerLimitControl 256
19:37:28 I: resetPayload: id: 0
Hier wurde der Wert 270 gesendet. Diese 256 steht da immer. Keine Ahnung was die bedeutet.
Aber diese Antwort "Inverter 0 has accepted....." muss kurz später nach dem "MQTT got topic" kommen. Ich denke ich brauche nicht erklären was das bedeutet. Der Text ist ja eindeutig.
Gestern habe ich mir node red plugin in home assistant installiert. Für mich ist das alles total neu, ich muss erst mal die Grundlagen erarbeiten. Ich habe auch appDaemon installiert. Mit phyton kann man eine komplexe Regelung programmieren. Node Red scheint mir da weniger geeignet zu sein. Aber auch appdaemon/Python ist Neuland für mich. Ne gute Regelung zu programmieren ist schwer, egal mit welcher Plattform man das macht.
Eine gute Regelung der Leistung des HM600 muss die Parameter relativ setzen. Was ich mir dabei vorstelle: Es gibt einen Wert aktuelle Ausgangsleistung des HM600. Dann wird eine Änderung des aktuellen Verbrauches erfasst. Dies muss auch in Leistung umgerechnet werden. Also wenn ich den Strom erfasse, rechne ich über P = U*I in Leistung um. Die Spannung einfach mit 230V annehmen. So erhält man die aktuelle Verbrauchsleistung. Der HM600 steht z.B. auf 300 W. Die Verbrauchsleistung wäre idealerweise auch 300 W. Wenn sich jetzt die Verbrauchsleistung auf 350 W erhöht, reicht es, den Wechselrichter auf 350 W + x zu setzen. Das x ist ne relative grösse der aktuellen Ausgangsleistung, eine Art Vorhalt. Bei kleinen Änderungen sollte sowas funtionieren. Aber wenn z.B. der Herd zugeschaltet wird, kann der HM600 das gar nicht bringen. Er kann nicht auf 3.000 W hoch gefahren werden. Auch die Ausgangsleistung des HM600 kann sich ändern, die Sonne geht weg. Wer dann den Wechselrichter auf volle 600W hoch regelt, weil auf einmal viel Strom vom Netz gezogen wird, macht mehr kaputt als gut. Das alles gilt es zu berücksichtigen. Das sind meine Überlegungen, wie ich das angehen werde. Wie gut das funtioniert wird sich erst noch heraus stellen. Vielleicht gibt es ja in Python schon was, was man auf seine Zwecke umstricken kann. Ich brauche auch erst einmal nur die Regelung für eine optimale Grundversorgung nachts über die Akku.
Die geschwister scholl wurden ermordet, weil sie ihre politischen ansichten dort verbreitet haben, wo es nicht vorgesehen war. Heute werden nur beiträge gelöscht, keiner stirbt mehr. Ausser der denokratie.
Du weist aber schon, dass die Übertragung von der DTU an die Hoymiles sehr träge ist und nicht wirklich zum dynamisch regeln taugt.
9,99KWp Yingli 270W Ost/West, SMA9000TL-20
2,7KWp Axitec AC-300M, Victron BlueSolar 150/60-Tr
4,235KWp an Hoymiles
48 x 280Ah Lifepo4 EVE Cell, REC BMS
3 Victron MP2 5000
Panasonic Aquarea 9KW Split
Vectrix VX-1
Smart Forfour EQ
@stromsparer99 was ist deine Definition von sehr träge?
Ich bin bei einem Abrufen von allen 3 Sekunden und das funktioniert super. Wobei vermutlich mit OpenDTU das noch schneller geht. So meinten das zumindest einige, da AhoyDTU da unzuverlässiger sein soll.
So zum Beispiel kommen nur bedingt alle Befehle bei weniger als 3 Sekunden an. Deswegen bin ich bei 3 Sekunden.
Wenn ich mir überlege wie der Aufbau ist, dann sind 3 Sekunden definitiv was anderes als "sehr träge" für mich. Wenn jemand erwartet, dass das System instant reagiert, der hat nicht verstanden was hinter dem System steckt.
PS: Achja, von Abschicken des Befehls mit Node-Red bis Anpassung des Wertes vom Hoymiles vergehen etwa 2 Sekunden wenn ich maximal alle 3 Sekunden die Werte schicke. Öfter kommt es zu starken Verzögerungen.
Aber wie erwähnt, soll das mit OpenDTU zuverlässiger laufen. Daher sollte es sogar möglich sein unter 3 Sekunden Reaktionszeit hinzubekommen.
@alter-hase Das ist mit Node-Red alles super einfach. Ich wüsste nicht was man da mit Phyton komplexer machen kann als bei Node-Red. Man muss sich halt in Node-Red einarbeiten, wenn man Phyton schon kann, dann ist das natürlich etwas komplizierter am Anfang. Wenn man beides nicht kann, ist Node-Red deutlich einfacher.
Denn du sagst über Node-Red nur welche Funktionen gebaut werden sollen und die eigentlichen Programmierung übernimmt dann Node-Red. Mit Phyton musst du halt die komplette Programmierung inkl. Funktionen selbst bauen.
Ich denke das mit dem relativ und absolute hat hast du falsch verstanden. Der Hoymiles kennt nur "absolute = Watt" und "relativ = Prozent".
Denn ich mache das so wie du geschrieben hast. Daher ist deine Überlegung der Funktion in meinen Augen super.
Ich nehme den aktuellen Limit-Wert vom Hoymiles und Wert vom Shelly3EM. Der Wert vom Hoymiles ist in Prozent, aber den in Watt umzurechnen ist ja einfach. Dann addiere ich den Wert in Watt vom Hoymiles mit dem Shelly3EM-Wert.
Aktueller Limiter-Wert von Hoymiles in Watt + Wert von Shelly 3EM = Neuer Sollwert für Hoymiles in Watt.
Ich selbst habe einen HM-600 und deswegen gleiche ich nach dem addieren der 2 Werte ab ob der Wert GrößerGleich 600 ist. So lange der Wert kleiner als 600 ist, soll genau der errechnete Wert an den Hoymiles geschickt werden. Ist der Wert >=600 dann soll der Wert 599 an den Hoymiles geschickt werden.
Wenn ich jetzt in Watt an den Hoymiles schicke, dann muss ich "absolute" schicken. Wenn ich in "relative" schicke, dann muss der Wert in Watt in Prozent umgerechnet werden. Was in meinen Augen unnötig ist, wenn man doch einfach mit "absolute" in Watt schicken kann.
Alles habe ich so mit Node-Red ohne zusätzliches Programmieren von Skripten realisiert.
Du weist aber schon, dass die Übertragung von der DTU an die Hoymiles sehr träge ist und nicht wirklich zum dynamisch regeln taugt.
ich stimme mit stiech82 überein, das muss nicht enger geregelt werden. im gegenteil, ich glaube, dass man mit ner regelung, die alle 10 Sekunden regelt, gute Ergebnisse erzielen kann. wenn Python, dann nicht wegen der schnelligkeit der Regelung, sondern wegen der intelligenz der Regelung. im Augenblick weis ich gar nix, ich bin am lernen. Das sind alles nur Vorstellungen von mir.
Mit geht es auch nicht darum, das letzte quentchen raus zu holen. Wenn ich so gut es geht (mit verhältnissmäßig geringem Aufwand) meine Stromrechnung runter drücken kann, bin ich zufrieden. muss nicht total perfekt laufen.
Die geschwister scholl wurden ermordet, weil sie ihre politischen ansichten dort verbreitet haben, wo es nicht vorgesehen war. Heute werden nur beiträge gelöscht, keiner stirbt mehr. Ausser der denokratie.
@alter-hase Das ist mit Node-Red alles super einfach. Ich wüsste nicht was man da mit Phyton komplexer machen kann als bei Node-Red. Man muss sich halt in Node-Red einarbeiten, wenn man Phyton schon kann, dann ist das natürlich etwas komplizierter am Anfang. Wenn man beides nicht kann, ist Node-Red deutlich einfacher.
Denn du sagst über Node-Red nur welche Funktionen gebaut werden sollen und die eigentlichen Programmierung übernimmt dann Node-Red. Mit Phyton musst du halt die komplette Programmierung inkl. Funktionen selbst bauen.Ich denke das mit dem relativ und absolute hat hast du falsch verstanden. Der Hoymiles kennt nur "absolute = Watt" und "relativ = Prozent".
Denn ich mache das so wie du geschrieben hast. Daher ist deine Überlegung der Funktion in meinen Augen super.
Ich nehme den aktuellen Limit-Wert vom Hoymiles und Wert vom Shelly3EM. Der Wert vom Hoymiles ist in Prozent, aber den in Watt umzurechnen ist ja einfach. Dann addiere ich den Wert in Watt vom Hoymiles mit dem Shelly3EM-Wert.
Aktueller Limiter-Wert von Hoymiles in Watt + Wert von Shelly 3EM = Neuer Sollwert für Hoymiles in Watt.Ich selbst habe einen HM-600 und deswegen gleiche ich nach dem addieren der 2 Werte ab ob der Wert GrößerGleich 600 ist. So lange der Wert kleiner als 600 ist, soll genau der errechnete Wert an den Hoymiles geschickt werden. Ist der Wert >=600 dann soll der Wert 599 an den Hoymiles geschickt werden.
Wenn ich jetzt in Watt an den Hoymiles schicke, dann muss ich "absolute" schicken. Wenn ich in "relative" schicke, dann muss der Wert in Watt in Prozent umgerechnet werden. Was in meinen Augen unnötig ist, wenn man doch einfach mit "absolute" in Watt schicken kann.Alles habe ich so mit Node-Red ohne zusätzliches Programmieren von Skripten realisiert.
da habe ich mich ungeschickt ausgedrückt. wollte damit nur sagen, dass man den HM600 nicht gleich auf 600 W schalten sollte, wenn bischen Strom fehlt. eben relativ zum neuen Verbrauch hoch regeln.
Die geschwister scholl wurden ermordet, weil sie ihre politischen ansichten dort verbreitet haben, wo es nicht vorgesehen war. Heute werden nur beiträge gelöscht, keiner stirbt mehr. Ausser der denokratie.
@alter-hase 10 Sekunden halt ich für viel zu lange. Stell dir mal vor du verbrauchst aktuell 500W, dann stellt dein Hoymiles auf 500W und jetzt gehen z.B. Verbraucher Weg und dein Verbrauch ist plötzlich nur noch bei 200W. Wenn es ganz blöd lauft dann innerhalb einer Sekunde nach dem der letzte Wert übermittelt wurde. Dann hast du über 9 Sekunden lang am Stromzähler einen Wert von -300W.
Bei geht es ja aktuell nur bis maximal 599W von der PV. Oftmals verbrauchen wir im Haushalt so 200 bis 300W. Wenn jetzt unsere Klimas takten, dann können da schon gerne mal 1000W dazu kommen. Dann geht der Hoymiles auf 599W. Die Klimas schalten auch relativ schnell wieder runter. Da kann es dann locker mal zu 1000W Unterschied innerhalb weniger Sekunden kommen.
Dann läuft mein Hoymiles auf 599W und plötzlich verbrauchen wir nur noch 200W und für einige Sekunden zeigt der Shelly3EM ca. -300W an.
Ich hatte es tatsächlich ausprobiert und das kam nicht nur bei den Klimas vor, sondern immer wieder, dass der Bereich 200 bis 300W ins Minus ging und das für mehrere Sekunden, wenn der Befehl nur alle 10 Sekunden geschickt wird.
Das hört sich erst einmal nicht viel an. 300W verschenkt für 9 Sekunden. Aber bei uns z.B. kommt sowas ständig vor. Am Ende des Tages kommt da dann doch eine ganz schöne Summe an verschenkten Strom zusammen.
Zumindest ist das der Fall wenn der Stromzähler nicht rückwärts läuft oder man keine Einspeisevergütung bekommt. Dann verschenkt man ziemlich viel Energie.
Ich weiß auch nicht was du mit der Intelligenz der Reglung mit Phyton meinst, was mit Node-Red nicht gehen soll?
Ich kenne mich etwas grundlegend mit Phyton aus bzw. ich weiß was Pyhton alles kann. Mittlerweile kenne ich mich mit Node-Red auch gut aus und wüsste nicht was Phyton da intelligenter Regeln kann. Node-Red ist sowas wie Programmieren für Dummies. Du hast ein Baukasten-System und kannst sämtliche Funktionen damit bauen.
Bessere Funktionen kannst du mit Phyton auch nicht wirklich bauen. Da Node-Red den Vorteil hat beliebt zu sein und es deswegen extrem viele Plugins gibt.
Zusätzlich kannst du sogar bei Node-Red selbst funktionen schreiben, sollten die Baukästen diese Art Intelligenz nicht bieten, dann muss man nur kleine Bruchteile selbst Programmieren. Aber alles andere funktioniert einfach nur mit Baukästen.
Bitte nicht falsch verstehen. Ich will deine Aussage nicht kritisieren, sondern eher verstehen was du meinst. Da ich eben bereits mit beidem Erfahrungen habe und im Moment nicht wüsste wie und wo Phyton mehr Intelligenz einbringen kann?
@alter-hase Achso. Nein du kannst ohne Probleme von z.B. 100W auf 600W hochregeln. Das funktioniert super. Der HM-600 schafft sogar locker 680W. Da ist also noch etwas Puffer bis zur maximalen Belastung.
Ich denke mal der Hersteller hat sich was dabei gedacht und ich finde es richtig diese Toleranz einzubauen.
Aber ein Problem gibt es: Wenn du auf 600W regeln lässt, dann sind das 100% und dann macht er auch tatsächlich diese ca. 680W. Deswegen mache ich lieber maximal 599W, so das er nie auf 100% geht. Denn nach meiner Erfahrung sind z.B. 99% wirklich auch 99% von 600 und nicht so wie bei 100% statt 600 Watt tatsächlich eher um du 680W.
Ich habe das seit ein paar Wochen so laufen, aber gut man muss jetzt mal den Sommer abwarten. Wenn du Leistung auf knapp 100% ist, dann geht der Hoymiles selbst bei den aktuellen Temperaturen gerne mal auf 25 bis 30Grad hoch.
Da muss ich im Sommer mal schauen wie warm er dann wird bei dem ständigen hin und her regeln und mit 599W maximaler Leistung.
Ich mache die maximale Belastung dann tatsächlich eher von der angezeigten Temperatur über AhoyDTU abhängig. Wobei ich Glück haben könnte, da der Hoymiles in einem Nebengebäude ist, dass von den Temperaturen wie ein Keller wirkt. Im letzten Sommer der so heiß war, hatte es darin maximal 15 Grad.
Wenn man den Wechselrichter oben auf dem Dach bei den Modulen hängen hat, dann würde ich dir recht geben, da würde der Wechselrichter bei so einer Regelung definitiv zu heiß laufen und vermutlich Schaden nehmen.
ich dachte, dass man in python mehr machen können sollte als in node Red. Weil ich z.B. Access VBA programmiere. Da gehen Dinge, die man mit herkömmlichen Makro etc. nicht machen kann. Damals, als ich noch am SPS programmieren war, war das auch so. Kop und fup waren die "Bildchenprogrammierug" in AWL konnte man weit mehr programmieren. In der Bildchenprogrammierung war es umständlich, komplexere Sachen zu programmieren, vieles war überhaupt nicht möglich. Wenn Du sagst, dass es in Node red genauso gut geht wie mit python, dann glaube ich dir das. Zumal du ja auch mit python schon zu tun hattest. Ich dagegen schiesse mit meinen Aussagen ins blaue. Das lasse ich besser.
Bei mir sehe ich das Problem nicht so gravierent, dass kurzzeitig hohe Verbraucher zuschalten, die es gut auszuregeln gilt. Was schaltet bei mir taktend ein und aus: Kühlschrank und Gefierschränkchen. Das sind aber alles schon sehr sparsame Geräte. Wenn Herd, Spülmaschine, Waschmaschine etc. laufen, dann viel länger als 1 Minute. Ich kann auch mit den limitierten 600W BKW nicht reich werden, meine Stromkosten nur marginal drücken. Viel verschenken tue ich im Augenblick nicht. Bei mir wird es interessant, wenn ich irgendwann die Akku am laufen habe. Dass die möglichst lange durchhalten. Wenns geht, sollen die nicht nur nachts zuschalten, die können auch am Tag in der übergangszeit bischen was leisten. Wenn die Sonne nicht mehr den ganzen Tag die Panel speist.
Ich sehe das locker, taste mich immer weiter ran. Noch habe ich Zeit, das alles aufzubauen und meine Kentnisse zu erweitern. So dass, wenn es aktuell wird, ich alles schon am laufen habe bzw. gut reagieren kann. Auch in der Hoffnung dass unserer Regierung ein Licht aufgeht und wir mehr machen dürfen als jetzt.
Mit dem hochregeln auf max 600 W habe ich nicht gemeint, dass der Wechselrichter kaputt gehen könnte, eher dass die ganze Regelung dann nicht gut läuft. Weil man ja viel zu viel rein schiebt. Wenn man beim autofahren zu viel/stark lenkt kommt man auch ins schleudern.
Die geschwister scholl wurden ermordet, weil sie ihre politischen ansichten dort verbreitet haben, wo es nicht vorgesehen war. Heute werden nur beiträge gelöscht, keiner stirbt mehr. Ausser der denokratie.
@alter-hase Ohja, locker sehen und rantasten. Jedem das seine und es gibt nicht "DIE EINE LÖSUNG". Vielleicht ist ja Phyton trotzdem besser für dich.
Wie geschrieben kenne ich mich etwas damit aus, aber um solche Funktionen zu bauen, müsste ich mich nochmal einlesen. Da war das mit Node-Red schon einfacher für mich.
Ansonsten: Ja man muss schauen welche Einstellungen wie für einen am besten sind. Nicht bei jedem ist der Verbrauch der gleiche.
Aber: Unsere Waschmaschine oder der Geschirrspüler, verbrauchen auch immer nur für einen kurzem Moment enorm viel Energie. Kann aber auch sein, dass es hier von Gerät zu Gerät enorm unterschiedlich ist.
Ich war jedenfalls verwundert wie das auf und ab geht mit unserem Verbrauch und bin erst mal nicht auf die Idee gekommen, dass es der Geschirrspüler ist. :D.