NEWS
Test Adapter luxtronik2 v0.4.x
-
@bernd-0 Hi Bernd,
Die Wärmepumpe geht in die Betriebsart "Warmwasser" sobald die Ist-Wassertemperatur die Soll-Wassertemperatur - Hysterese unterschreitet.
Bei mir bspw. ist standardmäßig die Solltemperatur 48° und die Hysterese auf 6k eingestellt. Fällt die Isttemperatur unter 42°, so fängt die WP an Warmwasser zu machen bis der Sollwert erreicht ist.Mit meinem Skript (oberer Teil) prüfe ich mittlerweile nur noch, ob die PV mehr als 1,5 KW produziert und sobald die WP eh Warmwasser aufbereitet, setze ich die Solltemperatur auf 54°.
Sobald die WW-Aufbereitung wieder abschaltet setze ich den Wert zurück auf 48°.
Durch das Skript heizt die WP zum Teil nur noch einmal am Tag auf. Mein Zeil war es die Verdichterimpulse zu senken; vorher hat sie bis zu fünfmal am Tag WW aufbereitet. Das lag aber zum Großteil auch an der Zirkulationspumpe, die ich abgeschaltet habe.
Ich ignoriere mittlerweile aber auch den Verbrauch im Haus, Hauptsache es wird Strom produziert.Über den Luxtronik - Adapter hast du meiner Meinung nach nur die Möglichkeit über die Temperaturwerte die Betriebsart zu beeinflussen. Keine Ahnung, ob das über Modbus besser geht, aber ich war oder bin nicht bereit 300-400€ für die Lizenz zu bezahlen.
Prinzipiell kannst du natürlich regelmäßig den PV-Überschuss prüfen (oder den Mittelwert der letzten x Minuten/ Stunden) und bei einem bestimmten Wert eine Solltemperatur in der WP erhöhen, so dass die WP anfängt zu arbeiten.
Im Grunde genommen versuche ich - zumindest beim Warmwasser - das gleiche zu erzielen wir mit Smart Grid:
"Trinkwarmwasser: Der Regler generiert eine positive Hysterese deren Betrag gleich der unteren Hysterese ist und regelt in die- sem Bereich (Solltemperatur + obere Hysterese)." (https://mw.ait-group.net/files/docs/DE/A0160/83055403.pdf)VG
Michael -
@unclesam Hier mal noch ein paar Fehlermeldungen, die von Zeit zu Zeit auftauchen.
host.raspberrypi 2021-07-14 16:49:54.113 error instance system.adapter.luxtronik2.0 terminated with code 6 (UNCAUGHT_EXCEPTION) luxtronik2.0 2021-07-14 16:49:53.475 error (1665) Exception-Code: ERR_OUT_OF_RANGE: The value of "offset" is out of range. It must be >= 0 and <= 4. Received 8 luxtronik2.0 2021-07-14 16:49:53.474 error at TCP.onStreamRead (internal/stream_base_commons.js:188:23) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.Readable.push (internal/streams/readable.js:204:10) luxtronik2.0 2021-07-14 16:49:53.474 error at readableAddChunk (internal/streams/readable.js:265:9) luxtronik2.0 2021-07-14 16:49:53.474 error at addChunk (internal/streams/readable.js:290:12) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.emit (domain.js:470:12) luxtronik2.0 2021-07-14 16:49:53.474 error at Socket.emit (events.js:375:28) luxtronik2.0 2021-07-14 16:49:53.474 error at Luxtronik.<anonymous> (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:480:41) luxtronik2.0 2021-07-14 16:49:53.474 error at Buffer.readInt32BE (internal/buffer.js:479:5) luxtronik2.0 2021-07-14 16:49:53.474 error at boundsError (internal/buffer.js:83:9) luxtronik2.0 2021-07-14 16:49:53.474 error (1665) RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 4. Received 8
VG
Michael -
@lessthanmore sagte in Test Adapter luxtronik2 v0.3.x:
Hier mal noch ein paar Fehlermeldungen, die von Zeit zu Zeit auftauchen.
Danke für die Fehlermeldung. Ich habe beim Entwickler der darunterliegenden Library ein Issue eröffnet:
https://github.com/coolchip/luxtronik2/issues/24 -
vielen Dank für den umfangreichen Beitrag und das Blockt Script. Ich teste selber grade mit der Steuerung meiner WP. Bisher hatte ich lediglich mit 3 Szenen gearbeitet. Ich habe eine PV mit Batteriespeicher und wollte die Überproduktion, da nur ca. 2,2 kW in die Batterie gehen, in warmen Wasser speichern.
Daher habe ich einfach eine Szene gesetzt ab 2,5 kW Einspeisung (d.h, die Batterie wird schon mit 2,2 kW geladen) den Wert für Warmwasser auf 59 grad setzt. Dann habe ich einfach 2 Szenen erstellt, die diesen Wert zurück auf 49 setzen, wenn entweder Strom aus dem Netz oder der Batterie entnommen wird.
Ich hab mir Dein Script genauer angeschauten und fürchte, dass bei einer Hysterese von 6K und bei meiner Anforderung, dass ja auch die Batterie geladen werden soll, die Einstellung, Temperatur nur erhöhen, wenn die WP eh schon WW bereitet, dazu führt, dass ich gar kein WW erhalte.
Kannst Du sehen, wie oft das bei Dir der Fall ist? eigentlich sollte ja bei einer Hysterese von z.B. 6K reichen, mit den Szenen zu arbeiten ohne vorher zu prüfen, ob die WP WW aufbereitet. Allerdings habe ich noch keine Erfahrungen mit der PV gemacht, wie das im Frühjahr / Herbst aussieht, wenn die Leistung deutlich schwankt. Aber eigentlich müsste durch die Batterie die meisten Schwankungen abgefedert werdende ich am Ende ja 4,7 kW Ertrag brauche, eher die Temperatur geändert wird.Gruß, Thorsten
-
@schariez Hi Thorsten,
mittlerweile habe ich mein Skript wieder umgestellt:
Ursprünglich - und auch weiterhin - liegt mein Fokus darauf, möglichst wenig Verdichterstarts zu erzeugen, aber bei Sonne das Warmwasser zu erhöhen.
Ich bin mittlerweile bei einer Hysterese von 7k, habe die Thermische Desinfektion wieder laufen (einmal pro Woche), WW zwischen 5 und 22 Uhr und auch die Zirkulation läuft täglich zwischen 6 und 21 Uhr. Das alles hatte ich vorher deaktiviert, was aber mit Komforteinbußen und evtl. hygienischen Problemen einhergehen kann.Momentan prüfe ich einfach die Warmwassertemperatur sobald sie unter 47,1°C fällt (Soll-WW bei Sonne = 54°C). Ist genug Sonnenenergie vorhanden, so setze ich die Solltemperatur auf 54°C und belasse sie dort nun.
Fällt die Temperatur wieder auf 47,1, aber es ist noch genug PV-Erzeugung vorhanden, so heizt er wieder auf 54; wenn nicht, stelle ich die Solltemperatur auf 48.
Bei 41°C heizt er dann standardmäßig eben auf die 48°.Bedenke bitte, dass gerade bei wolkigen Tagen die PV-Erzeugung hoch und runter geht und das Skript nur eine Momentaufnahme ist. Im schlimmsten Fall startet jedes Mal die WP um WW zu machen, geht wieder aus, startet wieder, etc.
Ich lese zudem nicht mehr direkt am Modus., sondern den minütlichen Durchschnitt (sofern ich mein Skript richtig verstehe :-D):
Das sorgt dafür, dass die Werte "sauberer" sind und nicht hin und her springen.
Mit den alten Einstellungen (ohne Zirkulation und 6k Hysterese) wurde WW maximal 1-2 Mal am Tag aufbereitet. Ist aber natürlich auch abhängig vom Verbrauch (Kleinkind = 2-3 Mal Baden; da wird dann öfter geheizt).
Zusätzlich werde ich die WW-Aufbereitung wohl wieder 24/7 erlauben.
Ob ich nun den Strom nachts um 3 verbrauche oder morgens um 5 oder 6 Uhr wenn wir duschen und auch keine Sonne scheint ist ja eigentlich irrelevant.In deinem Fall würde ich es ebenfalls nicht davon abhängig machen, ob gerade WW aufbereitet wird. Probier es mal aus.
VG
Michael -
Alles klar, ich schau mir das mal an, da ist ja einiges an Gedankenschmalz drin. Was hängt unter den Listen auf dem zweiten Bild?
Ich habe auf einmal unerklärliche Fehler, anbei mein Log-Auszug:
host.raspberrypi 2021-09-06 17:38:52.422 error instance system.adapter.luxtronik2.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.raspberrypi 2021-09-06 17:38:52.421 error Caught by controller[1]: at TCP.onStreamRead (internal/stream_base_commons.js:188:23) host.raspberrypi 2021-09-06 17:38:52.421 error Caught by controller[1]: at Socket.Readable.push (internal/streams/readable.js:204:10) host.raspberrypi 2021-09-06 17:38:52.421 error Caught by controller[1]: at readableAddChunk (internal/streams/readable.js:265:9) host.raspberrypi 2021-09-06 17:38:52.421 error Caught by controller[1]: at addChunk (internal/streams/readable.js:290:12) host.raspberrypi 2021-09-06 17:38:52.420 error Caught by controller[1]: at Socket.emit (domain.js:470:12) host.raspberrypi 2021-09-06 17:38:52.420 error Caught by controller[1]: at Socket.emit (events.js:400:28) host.raspberrypi 2021-09-06 17:38:52.420 error Caught by controller[1]: at Luxtronik.<anonymous> (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:559:26) host.raspberrypi 2021-09-06 17:38:52.420 error Caught by controller[1]: TypeError: Cannot read property 'end' of null host.raspberrypi 2021-09-06 17:38:52.419 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:77:11) host.raspberrypi 2021-09-06 17:38:52.419 error Caught by controller[0]: at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:416:21) host.raspberrypi 2021-09-06 17:38:52.414 error Caught by controller[0]: TypeError: Cannot read property 'end' of null luxtronik2.0 2021-09-06 17:38:52.074 error Cannot read property 'end' of null luxtronik2.0 2021-09-06 17:38:52.074 error TypeError: Cannot read property 'end' of null at Luxtronik.<anonymous> (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:559:26) at Socket.emit (events.js:400:28) at Socket.emit (domain.js:470:12) at addChunk (internal/streams/readable.js:290:12) at readableAddChunk (internal/streams/readable.js:265:9) at Socket.Readable.push (internal/streams/readable.js:204:10) at TCP.onStreamRead (internal/stream_base_commons.js:188:23) luxtronik2.0 2021-09-06 17:38:52.073 error uncaught exception: Cannot read property 'end' of null luxtronik2.0 2021-09-06 17:38:52.056 error Cannot read property 'end' of null luxtronik2.0 2021-09-06 17:38:52.056 error TypeError: Cannot read property 'end' of null at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:416:21) at processTicksAndRejections (internal/process/task_queues.js:77:11) luxtronik2.0 2021-09-06 17:38:52.054 error uncaught exception: Cannot read property 'end' of null
Gruß,
Thorsten
-
@schariez Darunter kommt nichts mehr bzgl. PV.
Sperrobjekte für den Sonnenschutz für KNX … -
OK, danke.
Ich krieg allerdings Deine Steuerung des WW nicht mit der Durchschnittsberechnung (Einspeisung Bezug / Consumption) zusammen. Oder laufen die Skripte bei Dir grade unabhängig?Danke und Gruß,
Thorsten
-
@schariez Laufen in zwei unterschiedlichen Skripten, aber das ist ja egal.
Hier mal zum Importieren:
Von oben runter:
Modbus ... ist der Wechselrichter. Hier setze ich den Wert auf 0, sofern ein negativer Wert angezeigt wird. Sobald kein Strom mehr erzeugt wird zeigt der SMA Wechselrichter leider -irgendwas an.PV ist die reine Erzeugung. Die nutze ich für das Warmwasser. Mir fällt gerade auf, dass ich hier gar keinen Durchschnitt ermittele für die Prüfung beim Warmwasser
Hatte ich ausgebaut, da ich es ja bereits bei den beiden unteren Datenpunkte mache.Einspeisung_Bezug und comsumption sind lediglich für meine Visu (Lovelace).
-
Vielen Dank, dass hilft mir schon mal sehr weiter. Ich werde mal die Werte protokollieren, um mir für meine Anlage ein Bild machen zu können.
Hallo, anbei noch weitere Fehler. Obwohl ich grade alle Skripte und Szenen gestoppt habe:
host.raspberrypi 2021-09-07 10:23:23.616 error instance system.adapter.luxtronik2.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.raspberrypi 2021-09-07 10:23:23.616 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:77:11) host.raspberrypi 2021-09-07 10:23:23.615 error Caught by controller[0]: at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:416:21) host.raspberrypi 2021-09-07 10:23:23.610 error Caught by controller[0]: TypeError: Cannot read property 'end' of null luxtronik2.0 2021-09-07 10:23:23.250 error Cannot read property 'end' of null luxtronik2.0 2021-09-07 10:23:23.250 error TypeError: Cannot read property 'end' of null at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:416:21) at processTicksAndRejections (internal/process/task_queues.js:77:11) luxtronik2.0 2021-09-07 10:23:23.232 error uncaught exception: Cannot read property 'end' of null
-
Hi,
kann mir jemand erklären wie ich diesen Adapter aus ioBroker heraus installieren kann?
Dachte wenn ich über die "Katze" danach suche finde ich was, aber weder unter NPM noch bei Github finde ich diesen.Wenn ich den NPM befehl auf meiner Shell ausführe (iobroker läuft in nem Docker) dann funktioniert der Install leider nicht
-
noch einmal vielen Dank. Ich habe Dein Script und die Überlegungen von Andreas Staeker zu Mittelwerten genommen und folgende Skripte daraus gebaut:
Zuerst ermittelt ich den Mittelwert aus meiner Solaren Einspeisung. Da ich eine Batterie verbaut habe, wird das eingespeist, was beim Laden der Batterie und nach Abzug des Eigenverbrauchs übrig bleibt. Bei uns ist das alles über 2,2 kW + Eigenverbrauch.
Dann prüfe ich, ob die Wärmepumpe grade warmes Wasser aufbereitet, wenn ja, wird bei einer Einspeisung von mehr als 2,0 kW die Solltemperatur und die Hysterese angehoben. Ab dem Moment, wo wir Strom aus der Batterie oder dem Netz beziehen, wird die Solltemperatur und die Hysterese entsprechende geändert.
Dann gibt es noch einen Gerät im Alexa Still (Gaeste), wenn wir Gäste haben, kann damit ein Schalter gelegt werdend wir haben auch im Winter mehr warmes Wasser zur Verfügung, damit alle warm duschen können.
Ich habe auch über einen Mittelwert für den Strombezug aus Batterie und Netz nachgedacht. Ggf. muss ich das im Herbst ml prüfen. Allerdings ist in dem Fall davon auszugehen, dass der Mittelwert der Einspeisung nicht mehr die 2,0 kW überschreiten wird.
Nochmal allen Danke für die Hilfe!
Gruß,
Thorsten
-
@schariez Sieht gut aus.
Ich glaube ich würde die Hysterese umgekehrt steuern. Bei viel Sonnenenergie will ich ja die hohe Temperatur halten, um Abends bspw. nicht nachheizen zu müssen.
Bei einer Hysterese von 3 K bedeutet das, dass WW aufbereitet wird, sobald die Temperatur unter 54°C fällt.
3 K ist sehr wenig. Wenn du eine Zirkulationspumpe in Betrieb hast bedenke, dass da auch ein Wärmeverlust ist und die 3 K schnell erreicht sind.
Standardmäßig hat mein Heizungsbauer 2 K eingestellt, was darin resultierte (inkl. Zirkulationspumpe 5min an und 10 min aus), dass innerhalb von 1-2 Stunden die 2 K bereits erreicht wurden und die Wärempumpe 3-5 Mal am Tag(!) WW aufbereitet hat.Lass es einfach mal eine Woche laufen. Gerade bei Heizung und Warmwasser braucht alles immer etwas Zeit und man sieht nie direkt ein Ergebnis. Wettermäßig ist es natürlich gerade denkbar schlecht zum testen
-
Ich kenn mich leider nicht mit den Docker Containern aus. Ich brauchte aber bei der RPi auch einige Versuche, über NPM und als Github Link, weiß grade nicht, welches nach min. 5 Versuchen kurz den installierten Adapter gezeigt hatte, damit ich die Instanz installieren konnte.
-
@schariez
Danke für die Antwort.Hab es jetzt mehrfach probiert aber er findet den Adapter einfach nicht.
Es werden aber viele andere Adapter gefunden über die NPM oder GITHUB Funktion.
Daher glaube ich nicht das es am Docker liegt, welcher im übrigen weniger Probleme macht als erwartet.Hat noch jemand eine Idee?
Gruß
Chriz -
Bitte aktualisiert schnellstmöglich auf die aktuellste Version 0.3.2.
Leider hat sich in der Vorversion ein Fehler eingeschlichen, der in gewissen Fällen unseren Sentry Server mit Anfragen überhäuft.
-
@chriz sagte in Test Adapter luxtronik2 v0.3.x:
Hat noch jemand eine Idee?
Grundsätzlich hat das ja nichts mit diesem Adapter zu tun, aber hier eine Bildanleitung (einfach 1, 2, 3 folgen):
Habe mir soeben einen neuen Docker Container gemacht und darin den Adapter installiert - funktioniert also einwandfrei.
-
@unclesam
Hi UncleSam,danke für den Post, funktioniert leider nicht
$ iobroker url iobroker.luxtronik2 --host f8b0bb8c6d11 --debug install iobroker.luxtronik2 NPM version: 6.14.14 npm install iobroker.luxtronik2 --prefix "/opt/iobroker" (System call) npm WARN typedoc@0.20.28 requires a peer of typescript@3.9.x || 4.0.x || 4.1.x but none is installed. You must install peer dependencies yourself. npm WARN typedoc@0.20.28 requires a peer of typescript@3.9.x || 4.0.x || 4.1.x but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + iobroker.luxtronik2@0.3.1updated 1 package in 12.553s 142 packages are looking for funding run `npm fund` for details upload [4] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/words.js words.js application/javascript upload [3] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/style.css style.css text/css upload [2] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/luxtronik2.png luxtronik2.png image/png upload [1] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/index_m.html index_m.html text/html upload [0] luxtronik2.admin /opt/iobroker/node_modules/iobroker.luxtronik2/admin/admin.d.ts admin.d.ts video/mp2t Process exited with code 0
-
@chriz Den Fehler hatte ich auch schon.
Was mir genützt hat, ist anstatt des Adapter-Namens einfach
<adaptername>@<versionsnummer>
einzugeben. In diesem Fall:iobroker.luxtronik2@0.3.2
.@foxriver76 oder @apollon77, ist es ein bekanntes Problem, dass sich neue Versionen (teilweise?) nicht über das Katzensymbol über bestehende Versionen installieren lassen?
-
@unclesam Meines Wissens nach erwartet das url Kommando tatsächlich eine Url. Evtl. ging es früher mehr oder minder zufällig (?), glaube @AlCalzone hat das parsing zuletzt angepasst.
Wenn du aber jemand auf die nächstmögliche Version (npm latest tag) updaten lassen möchtest, wieso benutzt du dann nicht im Custom Dialog "from npm"?
Edit: geht bei mir doch mit
iob url iobroker.luxtronik2
.