Logging-Forschung: Beim Fenster raus und bei der Türe wieder rein

Die Datenkrake wird täglilch herausgefordert: So viele Möglichkeiten gibt es, neue Tentakel in bisher unerforschte Gebiete auszustrecken!

Das CMI ist seit einiger Zeit selbst eine Datenkrake: In den Einstellungen können Ein- und Ausgänge am CAN-Bus oder für Modbus-TCP konfiguriert werden.

Logisch und physisch getrennt von Wärmepumpe und Hydraulik arbeitet der PV-Wechselrichter der Siedler (Fronius Symo 4.5-3-M). Die PV-Daten werden lokal auf einen USB-Stick geloggt; das minimale Loggingintervall beträgt 5 Minuten. An manchen dunklen Abenden werden die gesammelten Daten dann an die Krake verfüttert. Der Fronius-Datenlogger hat eine WLAN-/Internet-Verbindung und einen lokalen Webserver, aber direkt ‚online runterkopieren‘ von diesem Stick kann man die Daten nicht.

Aber es gibt eine Modbus-TCP-Schnittstelle: Damit können die aktuellen Daten von einem Computer im  lokalen Netzwerk abgefragt werden oder von einem anderen Dings im Internet of Things. Die Siedler wollten nun wissen, ob der Modbus-Client des CMI das USB-Logging ersetzen könnte. Oder könnte gar die künstliche Intelligenz der Regelung auf die aktuelle PV-Leistung reagieren? Der Wechselrichter hat eine Energiemanagement-Funktion, aber 1) er könnte nur sehr schlicht über ein Relay ‚kommunizieren‘ und 2) das natürlich nicht über WLAN.

Nötige Schritte und einige Erkenntnisse:

Modbus wird aktiviert am Datenlogger des Wechselrichters. Wir entscheiden uns für echte Kommazahlen und erlauben keine Änderungen über Modbus:

Modbus-Einstellungen am lokalen Webserver des Fronius-Symo-Wechselrichters. 502 ist der Modbus-Standardport. Die Alternative zu float wären Ganzzahlen mit Skalierungsfaktor SF (Faktor steht dann in anderem Register).

Check der Modbus-TCP-Dokumentation von Fronius: Benötigt werden die Register (‚Speicherplätze‘) der interessanten Werte, z.B. die aktuelle Outputleistung. Das ausführliche PDF ist aktuell hier zu finden. Eventuell Logging-würdige Werte sind in verschiedenen Tabellen (‚Models‘) zu finden – z.B. Daten die dem Wechselrichter ‚als Ganzes‘ zugeordnet werden oder nur einem String von PV-Modulen.

Dokumentation S.30, Common Inverter Model. Zum Loggen der Wechselstrom-Leistung werden folgende Angaben benötigt: Adresse 40092, Registertyp 3 (read and hold), Datentyp float32 (Platz entspricht zwei 16bit-Register, daher ist die Endadresse 40093) und die Einheit Watt.

Wichtig dazu ist dieser Hinweis auf S.15:

D.h. auf einem Modbus-Client muss bei der Abfrage der Leistung 40091 angegeben werden.

Mit diesen Infos und der IP-Adresse des Wechselrichters in lokalen Netz wird ein entsprechender analoger Modbus-Eingang am CMI festgelegt:

Modbus-Analogeingang 1 liest die aktuelle PV-Leistung vom Wechselrichter. Der ‚Eingangswert‘ ergibt sich, wenn die Daten als Integerzahl interpretiert werden. ‚Aktueller Wert‘: Der Integer-Teil der ‚wahren‘ Gleitkommazahl.

Ja, wir haben uns das in einem Netzwerk-Trace angeschaut 😉 nachdem uns das Dropdown-Menü zur Byte-Reihenfolge etwas verwirrt hatte: Modbus-TCP sollte immer Big Endian verwenden laut Protokollspezifikation.

Faktoren und Datentypen: Am CAN-Bus werden nur Integer-Werte verarbeitet – evtl. mit einem Skalierungsfaktor als Zusatzinformation. Bei der Leistung in Watt gibt es da glücklicherweise keinen Handlungsbedarf. Würde man aber z.B. die 15A Strom mit einer Kommazahl loggen wollen, müsste man den Faktor auf 10 setzen um eine Kommastelle aus der Floatzahl ‚mitzunehmen‘. Vorher am Symo Integer + Skalierungsfaktor einzustellen ist nicht sinnvoll, da dieser Faktor in einem anderen Register des Wechselrichters steht … das das CMI natürlich nicht kennt.

Wenn man statt relativ stabilen Werten irgendwelche Zahlen zwischen ca. -32000 und + 32000 sieht 😉 merkt man, dass hier etwas schiefgegangen ist.

Diese Einstellung bedeutet noch nicht, dass das CMI die Modbus-Daten schon ‚hat‘ und mitloggt. Alles, was man bis jetzt davon ‚hat‘, ist die Anzeige des aktuellen Wertes in der CMI-Modbus-Einstellung. Zur Weiterverarbeitung inklusive dem Logging am CMI selbst muss wieder ein passender Ausgang definiert werden. Das CMI kann nur über CAN- oder DL-Bus loggen. Also brauchen wir einen…

… analogen CAN-Bus-Ausgang am CMI:

Das CMI hat die Standard-Knotennummer 56. Jedes andere Gerät am CAN-Bus kann damit diesen Wert auslesen durch Angabe der Knotennummer und der Nummer des Analogausgangs – 1.

Diese Geräte nutzen aktuell den CAN-Bus:

Darstellung der Geräte durch das CMI. Beim Klick auf (unterstützte) Geräte kommt man in das entsprechende Konfigurationsmenü.

Wenn man sich die Logging-Einstellungen am CMI ansieht, könnte man in Versuchung kommen, einfach das CMI selbst – CAN 56 – auszuwählen:

Am CMI konfiguriertes lokales CAN-Logging (Nutzung mit Winsol) – von UVR1611 (1), UVR16x2 (2) und dem Energiezähler CAN-EZ (41).

Erkenntnis: Das CMI kann aber seinen eigenen CAN-Ausgang nicht loggen. Man kann zwar CAN 56 als Logging-Quelle im Dropdown-Menü anklicken, aber das endet dann so:

CAN-Fehler am CMI – ausgelöst durch den Versuch, das CMI als Logging-Quelle einzutragen (so dass es gleichzeitig Logger und Quelle spielt).

Hier ist das ‚Durchschleifen‘ des Wertes durch die ‚loggingfähige‘ UVR nötig – womit endlich der Titel des Postings erklärt wäre!

An der UVR16x2 wird der CAN-Ausgang des CMI jetzt als CAN-Eingang (‚Netzwerkvariable‘) verbunden:

Definition des Netzwerkeingangs auf der UVR16x2. Quelle ist der CAN-Ausgang am CMI (Knoten 56, Ausgang 1).

Die Leistung in Watt wird als Integer übergeben. Hätte man am Modbuseingang einen Faktor 10 verwendet, müsste hier die Einheit auf ‚dimensionslos,1‘ gesetzt werden.

Aktueller Wert am CAN-Netzwerkeingang.

Die UVR16x2 kennt damit die PV-Leistung. Dieser Wert steht für Regelungszwecke zur Verfügung und Irgendwer kann beginnen, das Warmwasser-Zeitprogramm durch eine Digitalisierte Smarte 4.0 Big Data AI Bot Version abzulösen. Skynet entwickelt ein Bewusstsein!

Andererseits kann der Wert durch das CMI von der UVR geloggt werden – als Teil des immer schon genutzten CAN-Loggings:

Anzeige der geloggten Daten mit Winsol (Zugriff auf lokale Logfiles): PV-Leistung, Globalstrahlung auf die senkrechte Fläche des Kollektors, Kollektortemperatur, Außentemperatur.

… bzw. kann das ‚Portal-Logging‘ auf cmi.ta.co.at konfiguriert werden …

Konfiguration des Loggings direkt am Portal cmi.ta.co.at – als mögliche Loggingquellen stehen nur UVR1611 und UVR16x2 zur Verfügung. Die interessanten CAN-Ausgänge müssen in den rechten Bereich gezogen werden – dann kann dieser Parameter in einem Profil ausgewählt werden und das Diagramm des Werteverlaufs wird online angezeigt.

… und online mitverfolgt …

Anzeige Logging-Profil auf cmi.ta.co.at. In diesem Fall werden die Daten beim Logging vom CMI an das Portal gesendet und dort gespeichert.

Würde man alle Outputwerte des Fronius-Datamanagers auf diese Art loggen, hätte man außerdem schnell die Limits betreffend Netzwerkvariablen und Loggingplätzen erreicht. Wenn man unbedingt jede Minute die Spannung zwischen Phase 1 und 2 oder die Blindleistung wissen will, verwendet man besser einen eigenen Logger, z.B. Rasperry Pi. Hier ist ein perfekt dokumentiertes Projekt: Logging der Daten von Fronius Symo mit Python über Modbus TCP, plus Datenbank und Weboberfläche.

Nur Werte, die tatsächlich auch zum  Regeln benötigt werden, sollten beim Fenster rausgeworfen und bei der Türe wieder hereingebeten werden!

Aus BUSO wird LEO: Hydraulik-Chirurgie

Es war keine ganz einfache Operation gewesen. Aber die Herztransplantation der Anlage war erfolgreich verlaufen. Der alte Gaskessel war herausgeschnitten und durch eine funkelnagelneue Sole-Wasser-Wärmepumpe ersetzt worden, die nun mit kräftigen Herzschlägen die Adern der Heizungsanlage mit warmem Wasser flutete.

Durch den gleichzeitig durchgeführten chirurgischem Eingriff im Regler-System liefen nun alle elektrischen Signale der Sensoreingänge und Schaltausgänge im CMI zusammen, wo sie im Minutentakt aufgezeichnet wurden und so ein Quasi-EKG der Anlage lieferten.

CMI (Control & Monitoring Interface): Die Logging-Zentrale ...

Das CMI (links oben) zeichnete alle Regelungssignale auf …

Und mit genau diesem EKG war Irgendwer noch nicht wirklich zufrieden. Die erhöhte Vorlauftemperatur der Wärmepumpe würde die Leistungsfähigkeit des Patienten nachhaltig gefährden.

BUSO-Log-2017-11-06

Die hohe Vorlauftemperatur der Wärmepumpe (T.WP 1) bereitete Irgendwem noch etwas Kopfzerbrechen …

Irgendwie vertrug sich das neue Herz noch nicht ganz mit dem über Jahre und Jahrzehnte gewachsenen Organismus der bestehenden Anlagenhydraulik. Wieder und wieder hatte er das EKG studiert und jedes mal war er zum gleichen Schluss gekommen: Die Durchblutung des Kombispeichers war gestört, was wiederum eindeutig mit dessen Bauweise zusammenzuhängen schien.

BUSO-Kombispeicher

Der eingebaute Warmwasser-behälter schien die natürliche Konvektion im Kombispeicher empfindlich zu stören …

Gleichzeitig war dieses Organ stark belastet. Zwei Heizkreise wurden von ihm gespeist. Und als wäre das nicht genug gewesen, war es auch noch für die gesamte Warmwasserversorgung zuständig. Andererseits gab es da einen enormen Doppel-Pufferspeicher, der vor Langeweile Däumchen drehte.

BUSO-Hydraulikschema-vorher

Historisch gewachsene Anlagenhydraulik, in der der ehemalige Gaskessel durch eine Sole-Wasser-Wärmepumpe samt LEO_2-Wärmequelle ersetzt worden war …

Und während er das Hydraulikschema hin- und herwälzte, formierte sich die Lösung vor seinem geistigen Auge. Hier musste definitv ein Bypass gesetzt werden und dort eine Rückschlagklappe. Wenn man dann an dieser Stelle noch ein Ventil einbaute und diese beiden Anschlüsse ein wenig versetzte …

BUSO-Hydraulikschema-nachher

Und so sollte die Anlagenhydraulik nach dem chirurgischen Eingriff aussehen: Ein Bypass sollte die Durchblutung im oberen Bereich des Kombispeichers verbessern. Die Heizkreise sollten zur Entlastung an die Pufferspeicher gehängt werden. Und die Herzklappen V.Lad.PS und V.Lad.KS sollten zu einer abwechselnden Durchblutung von Puffer- und Kombispeicher führen …

Schon wurde der Operationssaal vorbereitet. Der Siedler und sein Kumpel sollten diesen Eingriff mit telemedizinischer Unterstützung vornehmen. Einen solche Operation hatte noch niemand vor ihnen versucht und würde ihnen sicherlich einen Vorschlag zum Nobelpreis einbringen!

Und tatsächlich! Als der Patient das zweite Mal aus dem Tiefschlaf erwachte, ging es ihm deutlich besser. Er sollte schon fast in häusliche Pflege entlassen werden, als bei einer Nachuntersuchung eine immer noch erhöhte Rücklauftemperatur der Wärmepumpe diagnostiziert wurde, die die Arbeitszahl in den Keller drückte.

BUSO-Log-2017-12-14

Besser, aber die Rücklauftemperatur der Wärmepumpe  (T.WP 2) war immer noch zu hoch …

Verflixt! Wo kam denn das schon wieder her! Aus dem Hydraulikschema war kein Hinweis darauf zu erkennen …

So musste die Anlage Rohr für Rohr und Ventil für Ventil untersucht und mögliche Abweichungen zum Hydraulikschema ausfindig gemacht werden. Und tatsächlich, nach einer Abenteuerreise durch den staubigen Heizungskeller und einem Tauchgang in der ‚Kiste‘ fand sich unter einem dicken Wulst aus Isoliermaterial der Übeltäter: Ein Vier-Wege-Mischer!

BUSO-4-Wege-Mischer

Unter der Isolierung befand sich – auf den ersten Blick nicht zu erkennen – der Missetäter: ein 4-Wege-Mischer …

Den hatte wohl in grauer Vorzeit jemand zur Rücklaufanhebung eingebaut, die aber heute in Verbindung mit einer Wärmepumpe vollständig kontraproduktiv war …

BUSO-3-4-Wege-Mischer

Statt des im Hydraulikschema vermuteten 3-Wege-Mischers fand sich tatsächlich ein 4-Wege-Mischer in der Anlage. Dieser bewirkt im Misch-Zustand die Anhebung der Rücklauftemperatur!

Dieses kleine Gebrechen mit großer Wirkung konnte aber in diesem Fall ambulant behoben werden. Kurze Zeit später verließ der Patient bei bester Gesundheit mit einer runderneuerten Hydraulik das Spital.

BUSO-Log-2018-03-14

Und das Hydraulik-EKG entsprach nun auch endlich Irgendwessen Ansprüchen…

Krakenwanderung

Die Datenkrake ist ein nützliches Haustier in der Siedlerhütte: Sie frisst simple Textdateien – Logdateien im CSV-Format, wie sie von Winsol produziert werden – und spukt dann ihre Meinung dazu in Form von Tabellen und Bildchen aus.

Zu diesen Kunststückchen wird sie vom Krakenbändiger durch eine Reihe netter Tools motiviert:

Die Krake arbeitet genügsam im Hintergrund und erfordert wenig Aufmerksamkeit – abgesehen von extremen Ausnahmesituationen wie Firmwareupgrades, die die Logfiles-Struktur durcheinander werfen.

Ein altmodisches Biotop war lange Zeit ausreichend, und eine sehr smarte Steuerung achtete genau darauf, dass die Datenkrake nicht zuviel Energie verbrauchte:

Der Kippschalter der Krake und seine intelligente Steuerung

Der Kippschalter der Krake und seine intelligente Steuerung

Aber irgendwann wuchs der Hunger der Datenkrake und sie benötigte einfach mehr Ressourcen …

Was man in einem dünn und schwächlich anmutenden Notebook so alles findet...

Was man in einem dünn und schwächlich anmutenden Notebook so alles findet…

… und so ließ sie in ihrem neuen Biotop nieder:

Ökologisch korrektes Krakenbiotop.

Ökologisch korrektes Krakenbiotop.

Aber das Elkement packte der Ehrgeiz und ein nostaglischer Schub: die Urkrake sollte in ihrer Kippschalter-gesteuerten Heimat auch noch weiterleben dürfen. D.h. die Krake wurde trotz der ökologisch korrekt anmutendenden Züchtungsweise de facto geklont.

Hier muss nun ein Software-Tool besonders hervorgehoben werden:

Winsol: Wir wissen nicht, warum das Logo ein zerbrochenes W zeigt - funktioniert eigentlich alles super!

Wir wissen nicht, warum das Logo ein zerbrochenes W zeigt – funktioniert eigentlich alles super!

Jegliches scheinbare Product Placement in diesem Posting ist unbeabsichtigt und rein zufällig – egal ob die Logos aus Redmond oder Amaliendorf kommen.

In der grafischen Oberfläche von Winsol werden die Daten der ausgewählten (angeklickten) Siedler zum automatischen Abholen reserviert. Automatisch heißt: beim Start des PCs:

Winsol: Autostart-Einstellungen

Winsol: Autostart-Einstellungen. Geschwärzt: Die Namen jener Siedler, deren Daten man vom CMI – Control and Monitoring Interface – ‚automatisch‘ abholen möchte, zwecks weiterer Analyse durch die Datenkrake

Das automatische Abholen wird über eine Verknüpfung in folgendem Ordner durchgeführt: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

… und in den Eigenschaften der Verknüpung verbirgt sich ein Schatz!

winsol -a

Winsol: Eigenschaften der beim Setup erstellten Verknüpfung im Startup-Ordner.

Winsol: Eigenschaften der beim Setup erstellten Verknüpfung im Startup-Ordner.

Damit die Urkrake mit Kippschalter und die Turbokrake mit Touchscreen friedlich koexistieren können, sollen die Logfiles kontrolliert abgeholt werden – unmittelbar bevor die anderen Tools Powered by Microsoft & Elkement zum Einsatz kommen. Die Verknüpung wird daher aus dem Startup-Ordner verschoben und dafür winsol mit der Option -a in der  Krakenkommandozentrale ergänzt.

Zwei Kraken nutzen dann friedlich das gleiche Datenverzeichnis für Winsol, solange nicht beide gleichzeitig den Zauberspruch winsol -a aufsagen: Jede Krake befüllt das gemeinsame Verzeichnis wechselweise – die jeweils andere Krake findet dann beim nächsten Start der Krakenauswertungen oder der grafischen Oberfläche von Winsol automatisch die aktuellen Daten vor!

Diese Vorgangsweise wird möglicherweise vom Softwarehersteller nicht supported.

Was sich die Siedler noch wünschen würden, wäre ein Befehl:

winsol -a [Siedler]

… um das Aus- und Anhaken automatisieren zu können.

Die ganz Mutigen können aber auch in Winsol.xml-Datei im Benutzerprofil schreiben um die Hakerl (Häkchen) zu automatisieren – eine möglicherweise vom Softwarehersteller nicht supportede Vorgehensweise …

Winsol: Konfigurationsdatei winsol.xml im Profil des aktuellen Benutzers

Winsol: Konfigurationsdatei winsol.xml im Profil des aktuellen Benutzers: Die automatisch / per winsol -a abzuholenden Kunden werden im Autostart-Element eingetragen. (Diese XML-Datei ist zu unterscheiden von den zusätzlichen Konfig-Dateien pro CMI / pro Kunde in den jeweiligen Datenordnern).

____________________________________________________________________

Epilog: Das Elkement begab sich auf die Suche nach lehrreichen Informationen zur Wanderung echter, biologischer Kraken. Google fragte aber, ob wir nicht nach Krötenwanderung suchen wollen … aber dann finden wir die echte Krakenwanderung: Streetart aus Hamburg!

„Des geht ned !“

Jedesmal brach es Irgendwem fast das Herz, wenn er seine geliebte Wärmepumpe im Heizraum besuchte, und die alte, schon seit einigen Jahren stillgelegte Gastherme ganz traurig und um Beachtung flehend in der Ecke stehen sah.

GT-EinsamVerloren

Die Gasleitung war gekappt, die Hydraulik abgebaut, und unlängst hatte sie bei der Erneuerung des Schuppendachs auch die letzte Verbindung zur Außenwelt – das Abgasrohr – verloren…

Mehrere halbherzige Versuche, ein neues Zuhause für das voll funktionstüchtige und bis zu ihrer Stilllegung bestens gewartete Gerät zu finden, waren fehlgeschlagen. Bis, ja bis bei einem zufälligen Treffen von Siedlern zufälligen das Gespräch auf einen zufällig kürzlich leckgeschlagenen Gaskessel kam.

Nach einer kurzen Fachsimpelei war die neue Heimat der Gastherme besiegelt und eine Kommandoaktion zum Abbau und Transport vereinbart.

GT-Handbuch

Etwas verwirrend, aber eindeutig: laut Handbuch der Gastherme war der Einbau und die Regelung für die Anlage des Siedlers möglich …

Zuvor hatte sich Irgendwer aber durch eingehendes Studium der Betriebsanleitungen von Gastherme und Regelung noch einmal versichert, dass der Einbau in die Anlage des Siedlers auch tatsächlich möglich war.

Zusammen mit einer kleinen Dokumentation, die Irgendwer rasch zu den Hydraulik- und Regelungsanschlüssen zusammengestellt hatte, ging es ab in die neue Heimat. Und alles schien auf Schiene zu sein…

GT-Transport

Bis, ja bis der ‚Freund in Blau‘ die Bühne betrat, und eine Posse ihren Anfang nahm.

Obwohl der Installateur, der den Einbau vornehmen sollte, ein Fachpartner des Herstellers der Gastherme war, beäugte er das Gerät argwöhnisch, murmelte ein paar skeptisch-abwartende Worte, schoss einige Fotos und verschwand dann wieder, um das ‚zu klären‘.

Seine Antwort war schließlich:

„Des geht so ned …!“
(Deutsch: Das ist so nicht möglich!“)

… begleitet von einem Angebot für eine zusätzliche Regelung um wohlfeile € 1.700, –, die  wohl für die Verwendung in des Siedlers Anlage nötig wäre.

Irgendwer schüttelte nur ungläubig den Kopf, als ihm das der Siedler berichtete. Der direkte Kontakt zu dem Vertreter des Herstellers (der das behauptet hatte) wurde geknüpft. Dieser erzählte eine wirre Geschichte von Firmware und Gerätetypen. ‚Die Technik‘ hätte das geprüft und dies als die einzig mögliche Lösung vorgeschlagen. Obwohl, ganz glücklich wäre er damit selbst nicht. Denn so viel Geld für ein altes Gerät zu investieren und dann noch auf ein paar Funktionen zu verzichten … Da würde er schon vorschlagen … dieses neue Gerät … um € 3.500,– … ohne Regelung … aber da könne man ja die alte Regelung verwenden …

„???!!!“

Hatte er richtig gehört? Als irgendwer den Hörer aufgelegt hatte, musste er sich kneifen. Autsch! Das war tatsächlich real gewesen. Er hatte nicht geträumt!

GT-Facepalm

Es wurde Kriegsrat gehalten mit dem Siedler, der durch diese Aussagen gehörig verunsichert worden war. Schließlich wurde eine leicht geänderte Hydraulikschaltung ausgetüftelt. Exakt die gleiche, die Irgendwer bereits mit derselben Gastherme und derselben Regelung im Einsatz gehabt hatte. – Die also funktionieren musste!

GT-Hydraulik

Der Ordnung halber informierte Irgendwer den Herstellervertreter über das Vorhaben. In einer ersten Reaktion meinte dieser:

„Des miassad geh …“
(Deutsch: „Das sollte funktionieren „).

Als Irgendwer – in der Meinung seine Informationspflicht erfüllt zu haben – bereits im Begriff war aufzulegen, hörte er noch:

„Owa i klär des nu mid da Technik und red midn Installateur …“
(Deutsch: “ Ich kläre das mit der Technik und rede mit dem Installateur …“)

Als Irgendwer dann schon glaubte, dass damit die Sache gegessen war, klingelte ein paar Stunden später noch einmal das Telefon. Der Herstellervertreter:

„I hob nu amoi mid da Technik g’redt. Des geht ah ned!“
(Deutsch: Ich habe noch einmal mit der Technik gesprochen. Das ist so auch nicht möglich!“)

Aufgrund des rasch steigenden Blutdruckes ging die fadenscheinige Erklärung von “ …  Sensor … Fehlerabschaltung … blabla …“ halb in Irgendwessen Ohrensausen unter.

Ach ja, und mit dem Installateur hatte diese Koryphäe auch noch gesprochen, was dann folgende E-Mail Nachricht an den Siedler zur Folge hatte:

„… leider müssen wir Ihnen mitteilen, dass wir Ihnen dass bauseits beigestellte Gasgerät nicht anschließen werden, da das Gerät für diese Anlage nicht geeignet ist…“

Wieder wurde Kriegsrat gehalten und beschlossen, die Sache nun endgültig selbst in die Hand zu nehmen. Die Änderungen an der Hydraulik waren einfach und letztlich in einem halben Tag gemacht. Nachdem die bestehende Regelung wie geplant angeschlossen war, sprang die Gastherme sofort an und arbeitete wie erwartet und genau so, wie in den Handbüchern beschrieben.

GT-Neue Heimat

Der Rauchfangkehrer (Schornsteinfeger 😉 ) kam und nahm die Anlage problemlos ab.

Und um dem Ganzen das Sahnehäubchen aufzusetzen, stellte sich bei einem kleinen Reglertest wenig überraschend sogar heraus, dass auch die ursprünglich geplante Hydraulikvariante ‚gegangen‘ wäre…

LEO, NEO & QUADRO: Kampf um jedes Kilowatt

Es war nun doch schon wieder einige Zeit her, seit seine Anlage in Betrieb gegangen war. Aber das war für diesen besonderen Siedler nicht das Ende des Projektes gewesen, sondern erst der Beginn. Wie ein Virus hatte die Leidenschaft von ihm Besitz ergriffen, die Effizienz seiner Anlage weiter zu steigern und der Umwelt jede nur mögliche ‚kostenlose‘ Kilowattstunde zu entreißen.

Alle Werkzeuge dazu hatte er in der Hand: das war vor allem das Online-Schema, das zu jedem Moment die aktuelle Sensorwerte und Schaltzustände der Anlage anzeigte.

NEO-OL-Schema

Während andere ihre Zeit mit Seifenopern im Fernsehen tot schlugen, liebte er es, zu allen Jahreszeiten und bei den unterschiedlichsten Wetterverhältnissen das Onlineschema zu beobachten und dabei Ideen für seine nächsten strategischen Optimierungsmaßnahmen zu wälzen …

Dann wurden auch noch alle Anlagendaten aufgezeichnet. So konnte er den Zeitverlauf lückenlos nachvollziehen, Schwachstellen ausloten und die Wirksamkeit seiner Maßnahmen sofort überprüfen.

NEO-Logging

Schließlich machte es ihm der Fernzugriff auf den Regler leicht, schnell einmal einen Sollwert oder Schaltpunkt zu verändern, um dann wieder gebannt die Resultate im Onlineschema und in den Monitoringdaten zu verfolgen.

NEO-Fernzugriff

Manchmal fiel es ihm etwas schwer, dem obersten Grundsatz der Optimierung ‚Efficiency follows Comfort‘ zu folgen, was ihm die eine oder andere Diskussion mit seiner Familie einbrachte und ihm unmissverständlich aufzeigte, dass er die optimale Einstellung gefunden bzw. leicht überschritten hatte…

Besonders stolz war er auf eine Tüftelei, die es ihm ermöglichte mit einer minimalen Investition, die Vorlauftemperatur im Heizkreis und damit der Wärmepumpe wesentlich zu senken.

Dazu machte er sich die Bauweise seiner Flachheizkörper vom Typ 22 und 33 zunutze, die ein unten und oben offenes Gehäuse mit innenliegenden Wärmeleitblechen bildeten.

NEO-Heizkörpertypen

Mit einigen recht günstig verfügbaren PC Gehäuselüftern und Winkel-Profilen aus dem Baumarkt hatte er diese Heizkörper quasi in Konvektoren umgerüstet.

NEO-Lüfterkonstruktion

Nachdem er mit einigen Prototypen experimentiert hatte, kam er schließlich zur endgültigen Lösung, die die Luft von unten durch die Heizkörper und Wärmeleitbleche blies. Da waren sie komplett aus dem Sichtfeld und mit der relativ geringen Drehzahl auch akkustisch praktisch nicht wahrzunehmen.

NEO-Lüfter-eingebaut

Nach seiner Kalkulation konsumierte so eine Lüfterbatterie mit weniger als 5 Watt um Größenordnungen weniger Energie, als er sich durch die reduzierte Wärmepumpen-Kompressorleistung ersparte. In seinem Fall bedeutete das bei einer um mehr als 5°C reduzierten Wärmepumpen-Vorlauftemperatur eine um mehr als 200 Watt geringere Kompressorleistung.

„Saubere Lösung!“ dachte er sich, und noch dazu ohne dass ‚die oberste Direktive‘ verletzt worden war 😉 …

Ingenieurssoftware-Archäologie

Ingenieurssoftware hat oft eine kleine aber feine Zielgruppe – ein Grüppchen, das globale Softwarekonzerne nicht unbedingt im Visier haben. Dementsprechend atmet die Benutzeroberfläche oft nolstalgisch-spartanischen Charme.

Aber auch in den Tiefen solcher Software gibt es aufsehenerregende Funde aus dem Software-Paläozoikum – genau das richtige für das Elkement, das diese Bugs versteckten Features unerbittlich erschnüffelt. Von einem Paradebeispiel aus der täglichen Schnüffelpraxis soll diese Geschichte handeln! Wie der prähistorische Schnüffler aus Ice Age ist das Elkement beharrlich … und wird aber am Ende ausgetrickst.

Was man hätte sehen sollen (in jener Software): Ein Bild der Bedienelemente einer Regelung und darüber schwebende Zahlen. Mit Rumspielen an den abgebildeten Knöpfchen hätte man das echte Gerät simulieren können.

Was man sah: Eine Fehlermeldung in einem mutmaßlich fernöstlichen Zeichensatz.

Natürlich fragt der geübte Sniffer als Erstes Google Translate um Hilfe:

Die [XY]-Gerätedatei kann nicht gelesen werden.

… und es gibt tatsächlich eine Datei xydevice.xls … die sich aber mit Excel lesen lässt (?!) … also zumindest lassen sich die überwiegend fernöstlichen Zeichen in den Tabellen darin betrachten.

Nächster Schritt: Wahlloses Durchtesten der üblichen Fallstricke für Software aus vergangenen Epochen? 32bit versus 64bit? Administrator-Rechte? Dateiberechtigungen? Muss eine alte Windows-7-Maschine wiederbelebt werden? … und tatsächlich: Ein einziges Mal sieht der erschöpfte Schnüffler ganz kurz die Animation der XY-Regelung: Beim ersten Test auf einer paläozoischen Maschine (Windows 7 und 32bit). Leider ist der Test nicht reproduzierbar, also wird unerschrocken weitergeforscht.

Ein professionelles Schnüffelwerkzeug – Microsoft Sysinternals Process Monitor – zeigt, dass die Software erfolgreich auf die rätselhafte Datei zugreift:

Process Monitor: Prüfung Zugriff auf xls-Datei durch Anwendung

Kurz vor dem Zugriff arbeitet sich die Software durch Datenbanktreiber (‚JET‘) für Office-Dateien – die letzte davon ist msexcl40.dll – damit kann eine XLS-Datei wie eine Datenbank abgefragt werden.

Aber in dieser Schnüffelspur sieht man keine Fehlermeldung: Die xls-Datei wird geschlossen, bevor das Popupfenster mit Fehlermeldung erscheint … also ist die Anwendung halbwegs kontrolliert mit dem Fehler fertig geworden und hat ihn richtig ‚gehandled‘.

Das Elkement bzw. die Datenkrake haben langjährige einschlägige Erfahrung im wilden Basteln mit Konstrukten aus Excel- / Access- und Textdateien, die zu fragilen Datenbanken vereinigt werden. D.h. im Programmierer aus der fernen Zeitzone erkannte das Elkement eine verwandte Seele. Es versuchte, sich in diesem Lao Tse der Office-Programmierung hineinzufühlen. Beim einzig erfolgreichen Start des Programms waren einige XML-Dateien erzeugt worden. Soweit erahnbar durch Zeichenvergleich, wurden aus der xls-‚Datenbank‘ Einträge zu einem Gerät bestimmten Typs gelesen und in die XML-Datei geschrieben.

Aber was ging schief? Der Schnüffler der nächsten Tiefe wird gestartet – der Windows Debugger WinDbg (Teil der Debugging tools for Windows). Mit Reverse-Engineering-Halbwissen stolpert das Elkement zur nächsten unhandled oder handled exception – und wieder fällt msexec40.dll unangenehm auf:

Output Windows Debugger - Fehler bei Datenbankzugriff - msexec40.dll

Und da war sie endlich – die google-bare Fehlermeldung im Microsoft-O-Ton:

Unexpected error from external database driver (1).

So richtig optimistisch machte dieser eher generisch und schlicht gehaltene Text ja nicht. Aber man glaubt es kaum – es gab tatsächlich einen relativ neuen Microsoft-Artikel, der exakt diesen Fehler im genau passenden Kontext auflistet. In einem Überblick über  Betriebssystem-Updates von Herbst 2017 wird über ein Problem mit älteren JET-Datenbanktreibern für xls-Dateien brichtet – über einen neuer Fehler, der genau seit diesem Windows-Updates auftritt:

Microsoft-Artikel - Problem mit JET-Treiber / xls-Dateien nach Update

Damit kann endlich eine plausible Erklärung für den einzig erfolgreichen Test formuliert werden: Die Software wurde auf diesem länger nicht gestarteten Windows-7-Computer getestet – exakt als die Updates der letzten Monate noch nicht installiert worden waren, inklusive dem in diesem Artikel erwähnten Update.

Auch der dezente Hinweis von Microsoft, doch einen neueren Datenbanktreiber zu verwenden – neuer als Stand Office 2007 – passt dazu: Die ausführbaren Dateien der prähistorischen Softwaren waren alle ca. 10 Jahre alt.

Wie der possierlich-zappelige Schnüffler aus Ice Age wurde das Elkement damit mit einem Dilemma konfroniert und ausgetrickst: Um die Sicherheit nicht zu gefährden [Bitte Buzz Words passend einsetzen: Cyber Security – Internet of Things] wurde das unerbittliche Windows Update nicht mehr deinstalliert. Damit bleibt nur zu hoffen, dass entweder Lao Tse den Datenbanktreiber austauscht oder dass Microsoft, wie im Artikel angekündigt, das prähistorische Feature wieder aktiviert.

Aus BUSO wird LEO

Und so begab es sich, dass ein Siedler gedankenverloren seinen Blick über die schon in die Jahre gekommene Heizungsanlage schweifen ließ. Fast jede der Komponenten weckte eine kleine Erinnerung in ihm. Besonders diese große „Kiste“, wie er sie nannte, die in einer Ecke seines Kellers stand und zwei hervorragend gedämmte 1000-Liter Pufferspeicher verbarg.

BUSO-Kiste

Dazu gehörten ursprünglich 45m2BUSO-Solardach‚-Fläche auf seinem Schuppen, die er zusätzlich zu seiner ‚klassischen‘ Solaranlage vor mehr als einem Jahrzehnt montiert, aber inzwischen wieder stillgelegt hatte.

BUSO-Schuppen

Mit den Solaranlagen hatten sich auch schon einige Regelungen angesammelt: Neben einer UVR1611 aus BUSO-Zeiten, hing da auch noch eine RESOL-Regelung an der Wand. Und beide regelten ganz individuell ihren Teil der Anlage.

BUSO-Regelung-alt

Ja, und nicht zu vergessen: der Kombi-Speicher! Das war ein Husarenstück gewesen, ihn auf die Decke des Heizraums zu stellen. Alles sauber verrohrt und isoliert.

BUSO-Kombispeicher

Der alte Gaskessel mit seinen mehr als 25 Jahren auf dem Buckel tat zwar noch ganz brav seinen Dienst, aber wie lange wohl noch?

BUSO-Gaskessel

Längere Zeit hatte er schon hin- und her überlegt, wie er das Ganze konsolidieren und auf zukunftssichere Beine stellen konnte. Bis er in den Weiten des Internetz auf die pannonischen Tüftler und LEO_2 gestoßen war, und er sich an noch etwas erinnerte, das sich im hintersten Winkel seines Gartens befand:

BUSO-Becken

Das was vom Erfinder einmal als Schwimmbecken vorgesehen worden war, diente nun schon seit geraumer Zeit als Regenwasserspeicher. Aber was sprach eigentlich dagegen, es nun zum Eisspeicher umzubauen?

„Das ist sicher eine treffliche Tüftelei für Irgendwen!“, dachte sich der Siedler als er frischen Mutes elektronische Post nach Pannonien schickte.

Seine Ideen wurden mit Irgendwessen Ratschlägen verfeinert und in ein Konzept gegossen. Und als sich dann auch noch ein Freund namens BAFA bereit erklärte, sein Vorhaben zu unterstützen, steckte er auch schon mitten in seinem LEO_2-Projekt …

Zuerst musste er dem Regenwasserbecken einen etwas stabileren Deckel verpassen, der auch in der Lage war, später den Auftrieb des Eises im gefrierenden Wasser aufzunehmen. Seine Wahl fiel auf eine Holzbalkendecke, die er einfach selbst zusammenzimmern konnte und die für diesen Fall die kostengünstigste Lösung war.

Den gesamten Innenraum legte er mit Teichfolie aus um jedes Risiko hinsichtlich Undichtigkeiten von vorne herein auszuschließen und das verfügbare Volumen zu maximieren.

Die ovale Beckenform war zwar eine kleine Herausforderung. Aber auch dafür hatte Irgendwer einen passenden Wärmetauscher samt Trägergestell ausgetüftelt. Dafür konnte sogar einen Haufen altes PVC-Rohr, der noch irgendwo herumlag,  wiederverwertet werden…

BUSO-PVC-Rohrmaterial

Nachdem er den Eisspeicherdeckel mit Rasensamen begrünt hatte, ließ nur noch der längliche Einstieg in der Mitte vermuten, dass sich da noch mehr darunter befand als nur Erde…

BUSO-Eisspeicher-Deckel

Eine Ecke im Schuppen wurde zum idealen Platz für den ‚Soleverteiler‘ …

BUSO-Soleverteiler

… und der alte BUSO-Kollektor wurde komplett auseinander genommen und neu, möglichst luftig auf dem Schuppendach arrangiert, um ihn LEO_2-tauglich zu machen.

BUSO-Kollektor

Dann wurden noch ‚einige‘ Meter Sole-Leitung verlegt und die Wärmepumpe angeschlossen.

BUSO-Wärmepumpe

Das Kommando über die Regelung übernahm fortan eine UVR16x2, die sich über den CAN-Bus vortrefflich mit der bestehenden UVR1611 und über ein CMI mit dem Internet unterhalten konnte.

BUSO-Regelung

Die UVR1611 behielt zwar ihren Platz auf dem Brettchen und ihre Ein- und Ausgänge, wurde aber fast sämtlicher ‚Intelligenz‘ beraubt, die sie an die UVR16x2 abgeben musste. Für die RESOL-Regelung war der letzte Weg alles Irdischen gekommen. Ihre überschaubare Regelungslogik fand ebenfalls in der UVR16x2 ihre neue Heimat.

Als LEO_2 dann seinen Betrieb aufnahm, war die Hydraulik auf der Heizungsseite noch nahezu unverändert. Wie sich später herausstellen sollte, waren aber auch dort Altlasten verborgen, die die Tüftler noch vor die eine oder andere Herausforderung stellen sollten.

Aber das ist eine andere Geschichte 😉 …