NEWS
Adapter: Luxtronik 1 - Wärmepumpensteuerung
-
Hallo NetFritz
Da bisher niemand hier sein Interesse an einem Luxtronik 1 - Adapter kundgetan hat, habe ich das Vorhaben etwas liegen lassen. Ich habe meine WP aktuell über Homematic und bashscripts eingebunden.
Wenn aber nun einen Interesse da ist, werde ich das ganze wieder aufnehmen und hier über den aktuellen Stand informieren.
Dabei wäre es für mich natürlich wichtig, regelmässig Feedback zu erhalten, ob das ganze auch in anderen Umgebungen funktioniert. Wenn du dich daran beteiligen könntest, wäre das für mich hilfreich.
Die aktuellen Version auf github https://github.com/forelleblau/ioBroker.luxtronik1
funktioniert bei mir soweit und liest eine ganze Reihe von Werten aus.
Wenn du mir bestätigen könntest, dass das bei dir auch der Fall ist, würde ich mich ans Einprogrammieren weiterer Werte und der Steuerbefehle machen.
Schönen Tag und herzliche Grüsseforelleblau
-
Hallo
Ich würde ja gerne deinen Adapter testen.
Wie ich schon geschrieben habe, habe ich einen Moxa LAN to RS232 Konverter an die RS232 angeschlossen.
Kann ich deinen Adapter den so einstellen das er auf der IP 192.168.2.25 und Port 4001 die Verbindung zur WP aufnehmen kann.
Habe mal einen Auszug aus meinen Perl-Script hier reigestellt das
die IP und Port öffnet, dann die 1800 sendet und das Ergebnis auswertet.
Gruß NetFritz# Verbindung zur WP ueber Moxa herstellen my $inet_port = "4001"; my $inet_addr = "192.168.2.25"; my $client = IO::Socket::INET->new (PeerAddr => $inet_addr, PeerPort => $inet_port, Proto => 'tcp') or return ("Keine Verbindung zu $inet_addr:$inet_port möglich: $!\n"); START_ABFRAGE: plugin_log($plugname," ------------ Start Abrfage --------------- "); $client->send("1800"); # 1800 und \r\n werden zur WP gesendet $client->send("\r\n"); my $result; # Antwort von WP while( <$client> ) { $result .= $_; } plugin_log($plugname,"result $result"); (@lines) = split /\n/, $result; my @temperaturen = split /;/, $lines[2]; my @eingaenge = split /;/, $lines[3]; my @ausgaenge = split /;/, $lines[4]; my @ablaufzeiten = split /;/, $lines[5]; my @betriebsstunden = split /;/, $lines[6]; my @fehlerspeicher0 = split /;/, $lines[8]; my @fehlerspeicher1 = split /;/, $lines[9]; my @fehlerspeicher2 = split /;/, $lines[10]; my @fehlerspeicher3 = split /;/, $lines[11]; my @fehlerspeicher4 = split /;/, $lines[12]; my @abschaltung0 = split /;/, $lines[15]; my @abschaltung1 = split /;/, $lines[16]; my @abschaltung2 = split /;/, $lines[17]; my @abschaltung3 = split /;/, $lines[18]; my @abschaltung4 = split /;/, $lines[19]; my @anlagenstatus = split /[;,]/, $lines[21]; my @abschluss = split /;/, $lines[22]; # wenn keine 8 Datensaetze dann noch einmal # plugin_log($plugname," Datensaetze= $abschluss[1]"); if($abschluss[1] != "8"){ my $tiout = $plugin_info{$plugname.'_timeout_err'}; plugin_log($plugname," Timout_err= $tiout abfrage= $i_abfrg $abschluss[1]" ); plugin_log($plugname," Datensaetze= $abschluss[1]"); return("abbruch"); # goto START_ABFRAGE; }
-
Hallo NetFritz
Der Adapter funktioniert genau analog.
Wenn du ihn ab GitHub installierst und eine Instanz erzeugst, kannst dann in der Config deine IP und den Port sowie das Abfrage-Intervall spezifizieren. Dann sollten die Werte reinrauschen.Aktuell liest der Adapter auch erst die '1800' aus. In meiner Homematic-Lösung habe ich aber auch noch andere Funktionen (Partymodus, Setzen von diversen Soll-Temperaturen inkl. Heizkurve) umgesetzt, um die ich den Adapter dann auch noch erweitern kann.
Gruss forelleblau
-
@forelleblau
Hallo
Dann werde ich es mal Probieren.
Gruß NetFritz -
@forelleblau
Hallo
Installiert.
Erstmal soweit i.O.
Gruß NetFritz -
Super, danke fürs Testen, dann werde ich mich mal an den Ausbau machen. Melde mich, wenn's was neues gibt.
-
@forelleblau
Was mir aufgefallen ist, die Darstellung der Fehler:70120.2, 17:11:26
Das ist der Fehler 701 "Niederdruckstörung" am
20.02.2017 um 11:26Schön währe es auch wenn die Art der Störung auch angezeigt würde:
701 => "Niederdruckstörung", 702 => "Niederdrucksperre", 703 => "Frostschutz", 704 => "Heissgasstörung", 705 => "Motorschutz VEN", 706 => "", 707 => "Codierung WP", 708 => "Fühler Rücklauf", 709 => "Fühler Vorlauf", 710 => "Fühler Heissgas", 711 => "Fühler Aussentemp.", 712 => "Fühler Brauchwasser", 713 => "Fühler WQ-Ein", 714 => "Heissgas BW", 715 => "Hochdruck-Abschalt.", 716 => "Hochdruckstörung", 717 => "Durchfluss-WQ", 718 => "Max. Aussentemp.", 719 => "Min. Aussentemp.", 720 => "WQ-Temperatur", 721 => "Niederdruckabschaltung", 722 => "Tempdiff Heizwasser", 723 => "Tempdiff Brauchw.", 724 => "Tempdiff Abtauen", 725 => "Anlagefehler BW", 726 => "Fühler Mischkreis 1", 727 => "Soledruck", 728 => "Fühler WQ-Aus", 729 => "Drehfeldfehler", 730 => "Leistung Ausheizen", 731 => "", 732 => "Störung Kühlung", 733 => "Störung Anode", 734 => "Störung Anode", 735 => "Fühler Ext. En", 736 => "Fühler Solarkollektor", 737 => "Fühler Solarspeicher", 738 => "Fühler Mischkreis2", 739 => "CAN-Fehler: WP fehlt", 740 => "CAN-Fehler: Timeout", 741 => "CAN-Fehler: Bus off", 742 => "CAN-Fehler: Daten", 743 => "CAN-Fehler: Adresse", 744 => "", 745 => "Modem-Fehler",
Gruß NetFritz
-
Hey, danke, die Liste hat mir bisher noch gefehlt - wird eingebaut.
-
Hallo
Ich habe die Fehlertext - Liste eingebaut und Version 0.0.2 des Adapters erstellt und auf GitHub und NPM publiziert und bei ioBroker für das 'latest' repo angemeldet.
Für einen erneuten kurzen Test der Verision 0.0.2 bin ich dankbar, dessen Bestehen wäre dann Grundlage für eine Anmeldung als 'stable'. Test - OKs von mehreren Testern wären natürlich super.
Die weiteren Ausbauschritte folgen zeitlich im Verhältnis zu meiner dafür zur Verfügung stehenden Freizeit ;-).Herzliche Grüsse
forelleblau -
Guten Abend
Die neueste Version 0.0.3 liest nun auch den Betriebsmodus von Heizung und Warmwasser sowie die Heizkurven-Werte aus.
Ist auf Github verfügbar.
Nun bleiben noch die Steuerungen.
Viel Vergnügen. -
Hallo
Habe die Version 0.0.4 installiert.
Sieht alles gut aus , die Fehler sind ja jetzt im Klartext.
Klasse
Ich bekomme in unregelmäsigen Abständen Fehlermeldund.
Das war bei den Vorversionen auch schon.2019-03-30 04:33:01.982 - error: luxtronik1.0 uncaught exception: read ECONNRESET 2019-03-30 04:33:01.984 - error: luxtronik1.0 Error: read ECONNRESET at TCP.onread (net.js:622:25) 2019-03-30 04:33:01.986 - info: luxtronik1.0 [END] Stopping luxtronik adapter... 2019-03-30 04:33:02.027 - error: Caught by controller[0]: { Error: read ECONNRESET 2019-03-30 04:33:02.028 - error: Caught by controller[0]: at TCP.onread (net.js:622:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' } 2019-03-30 04:33:02.028 - error: host.7877720ff50e instance system.adapter.luxtronik1.0 terminated with code 0 (OK) 2019-03-30 04:33:02.028 - info: host.7877720ff50e Restart adapter system.adapter.luxtronik1.0 because enabled 2019-03-30 04:33:32.060 - info: host.7877720ff50e instance system.adapter.luxtronik1.0 started with pid 435 2019-03-30 04:33:33.871 - info: luxtronik1.0 starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.luxtronik1, node: v8.15.0 2019-03-30 04:33:33.889 - info: luxtronik1.0 [START] Starting luxtronik adapter
Das könnte man sicherlichlich über eine Fehlerbehandlung abfangen.
Danke NetFritz -
@NetFritz
Hallo. Danke fürs testen und für den Heinweis. Mir ist gestern erst aufgefallen, dass ich noch gar kein fehlerhandling drin habe. Ist schon gemacht!
Güsse Forelleblau -
Hallo
Eine neue Version ist auf Github verfügbar: V005 - jetzt auch mit Steuerungsmöglichkeit!
Warmwasser-Soll-Temeperatur, Heizungs- und Warmwassermodus (z.B. Warmwasser-Nachheizen über Party-Modus möglich), sowie die Heizkurven - Werte (Rücklauf-Korrektur, Endpunkt, Parallelverschiebung und Nachtabsenkung) können jetzt über ioBroker angesteuert werden.
Viel Spass!
Für Test-Feedback bin ich dankbar!
Herzliche Grüsse
Forelleblau -
Und was die Verbindungsfehler betrifft arbeite ich im Moment an einer Version, die keine gleichzeitigen Verbindungen aufbaut, schön Eine nach der Anderen. Das ist auch pfleglicher für die Luxtronik.
Grüsse forelleblau -
Und das update ist da: V 0.0.6: Der Adapter wartet nun mit dem ausführen von Abfragen oder Steuerbefehlen, bis der vorangehende Befehl abgearbeitet ist. So sollte nun eine möglichst klare Kommunikation sichergestellt sein.
Wenn das jemand erfolgreich testet, würde ich diese Version für das stable-repo anmelden.
Danke und viel Vergnügen, forelleblau -
Hallo
Habe die Fehlermeldung immer noch, sie kommt in unregelmäßiegen Abständen so alle 1,5 bis 3Std.
Hier nochmal die Log:luxtronik1.0 2019-04-04 16:33:21.221 info [START] Starting luxtronik adapter luxtronik1.0 2019-04-04 16:33:21.205 info starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.luxtronik1, node: v8.15.0 host.7877720ff50e 2019-04-04 16:33:19.535 info instance system.adapter.luxtronik1.0 started with pid 4558 host.7877720ff50e 2019-04-04 16:32:49.497 info Restart adapter system.adapter.luxtronik1.0 because enabled host.7877720ff50e 2019-04-04 16:32:49.496 error instance system.adapter.luxtronik1.0 terminated with code 0 (OK) Caught 2019-04-04 16:32:49.496 error by controller[0]: at TCP.onread (net.js:622:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' } Caught 2019-04-04 16:32:49.495 error by controller[0]: { Error: read ECONNRESET luxtronik1.0 2019-04-04 16:32:49.458 info [END] Stopping luxtronik adapter... luxtronik1.0 2019-04-04 16:32:49.456 error at TCP.onread (net.js:622:25) luxtronik1.0 2019-04-04 16:32:49.456 error Error: read ECONNRESET luxtronik1.0 2019-04-04 16:32:49.455 error uncaught exception: read ECONNRESET luxtronik1.0 2019-04-04 15:02:47.229 info [START] Starting luxtronik adapter
Wie schon gesagt betreibe ich die serielle Schnittstelle der WP mit einem
LAN to Seriell Adapter von Moxa.
Gruß NetFritz -
Hallo NetFritz
Ich hab das Fehlerhandling nur über die Auswertungsfunktionen gemacht und nicht über die Kommunikationsteile - daher immer noch der ungeschnappte Fehler - sorry in dem Sinn war meine Fehlerhandling- Aktion gar nicht eine 'Antwort' auf deine entsprechenden Post.
Der Fehler kann offensichtlich verschiedenen Gründe haben, jedenfalls klappt die Kommunikation in dem Fall jeweils nicht so wie gedacht. Es kann also an der Heizung, am Moxa oder am Adapter liegen.
Da die Kommunikation aber grundsätzlich funktioniert werde ich es wohl über ein besseres Fehlerhandling lösen müssen. Da Tritt der Fehler immer noch auf, der Adapter muss desswegen aber nicht neu starten. Nehm's mit für die nächste Version.
Hast du die neueste Version drauf - die würde eine etwas sicherere Kommunikation bieten, da nie 2 Befehle überschneidend gesendet werden - könnte ev. auch helfen.
Wenn ja - funktioniert sonst alles? Steuerbefehle senden ok?Lieber Gruss forelleblau
-
Hallo
Die neuste Version 0.0.6 ist installiert.
Ich habe aber unter control keine Werte drin.
Es funktioniert sonst alles.
In meinen Perl Script hatte ich auch ab und zu Fehlermeldungen drin.
Ich habe wenn nach der Anfrage keine Werte zurückkamen
die Abfrage wiederholt.
Danke NetFritz -
@NetFritz
control ist zum Werte reinschreiben/ auswählen. Nach dem ersten Setzen eines Werts, hast du dann einen drin.
Zum steuern müssen die werte mit ack=false gesetzt werden. Also nur reinschreiben und ‚enter‘, nicht ‚bestätigen‘. -
Hallo NetFritz
Hab unterdessen rausgefunden, wie das Fehlerhandling auf der Verbindung gemacht werden kann. Ist eingebaut und in Version 0.0.7 auf github verfügbar.
Habs bei mir getestet, jetzt solltest du nur noch so etwas im Log haben, wenn die Verbindung mal nicht klappt:2019-04-05 22:19:38.695 - warn: luxtronik1.0 1800 connection error: Error: connect ECONNREFUSED 192.168.1.1...
und der Adapter sollte weiterlaufen. Habs jetzt mal auf loglevel 'warn' gesetzt, so sieht man sofort, falls die Fehler häufiger (alle paar Minuten) auftreten, was ja nicht sein sollte.
Herzliche Grüsse
forelleblau