Frage an die Datenkrake: Was ist wo in Winsol?

Kürzlich erreichte die Siedler ein Hilferuf eines anderen UVR-Tüftlers – ausgelöst durch brisante Berichte von der Krakenwanderung:

Wie schafft es die Datenkrake, dass unterschiedliche Windows-Benutzer die gleichen Log-Dateien in Winsol verwenden und die gleiche setup.xml-Datei?

Die ganz kurze Antwort: Indem unterschiedliche Windows-Benutzer in Ihren Winsol-Grundeinstellungen den gleichen Logfile-Ordner eintragen. Dann schreibt jeder Benutzer die Logfiles in den gleichen Ordner und verwendet auch die gleiche setup.xml-Datei.

Nach den Infos zur letzten CMI-Firmware-Upgrade (2.09 – 20.April 2018) ist das jetzt auch eine unterstützte Vorgansgweise:

Unterstützt exklusiven Schreibzugriff auf Kundenordner:
Wird von mehreren Computern (Programminstanzen) auf denselben Kunden im gemeinsamen Datenpfad zugegriffen, wird ein gleichzeitiges Bearbeiten verhindert. An allen beteiligten Computern muss dazu dieselbe Version von Winsol verwendet werden.

Folgendes ist eventuell noch zu beachten:

Frühere Winsol-Versionen haben die Logfiles im Windows-Programme-Ordner abgelegt bzw. haben das zumindest versucht. Nachdem Microsoft das aus Sicherheitsgründen nicht mehr erlaubt, gab’s eine u.U. vewirrende Umleitung in einen ‚versteckten‘ Ordner im Profil des jeweiligen Benutzers (VirtualStore). Näheres zu den Speicherorten in dieser Geschichte. Installiert man eine neuere Winsol-Version neu, liegt der Standardordner jetzt auch ‚wirklich‘ und sichtbar im Benutzerprofil; aktualisiert man eine ältere Winsol-Version, wird eventuell noch der VirtualStore verwendet. Je nachdem, wie man ‚in den Logfile-Ordner schaut‘, sieht man dann die Logfiles im Profil oder im Programme-Ordner. In letzterem Fall sieht es also so aus, als ob alle Benutzer in den gleichen Ordner schreiben würden:

Standard-Ordner in älteren Winsol-Versionen (Winsol 2.07, aktualisiert von früheren Versionen, Windows 10 32bit). Direkt im Windows Explorer sieht man keine Logfiles im Ordner Program Files – im Gegensatz zum Winsol-Dialog. Erklärung: Der tatsächlich verwendete Ordner ist
C:\Users\[Benutzer]\AppData\Local\VirtualStore\Program Files\Technische Alternative\Winsol
(Weitere Details hier.)

Wenn man immer sofort nach der Winsol-Installation einen Nicht-Standard-Ordner außerhalb des Benutzerprofils und außerhalb anderer spezieller Systemordner einstellt, braucht man sich damit nicht zu beschäftigen.

Zusätzlich zum Logfile-Ordner gibt es noch einen weiteren Ordner mit den persönlichen  Winsol-Einstellungen – der war ‚immer schon‘ im Windows-Benutzerprofil zu finden: Hier wird das Cookie für den Zugriff auf das CMI-Webportal abgelegt und in der (benutzerspezifischen) Winsol.xml-Datei wird der Pfad zu den Logdateien eingestellt. Dieses Cookie muss einmalig kopiert werden oder jeder Windows-Benutzer muss sich einmal mit dem / seinem Portalbenutzer anmelden.

Ordner mit den persönlichen Winsol-Einstellungen in C:\Users\[Benutzer]\AppData\Roaming\Technische Alternative\Winsol – dieser Speicherort kann / braucht nicht geändert zu werden.

Verwaltet man mehrere ‚Winsol-Profile‘ / Kunden, dann werden deren Logdateien im Ordner Infosol abgelegt. Für welche Kunden Logfiles automatisch (winsol -a) abgeholt werden, wird auch in der Winsol.xml festgelegt –  die betreffenden Kunden werden in einem XML-Tag alle namentlich erwähnt:

Inhalt der Winsol.xml-Datei. Der Tag Autostart enthält die Liste der abzuholenden Kunden, als Werte der Attribute K1, K2 etc.

Will man nun tatsächlich hier dauernd rumklicken – d.h. bestimmte Kunden beim automatischen Abholen mit winsol -a einmal dazunehmen und dann wieder ausschließen – dann müsste man entweder:

  • winsol.xml zwischen den verschiedenen Windows-Benutzern synchroniseren oder
  • Die ‚Abhollliste‘ irgendwo zentral speichern und alle winsol.xml-Dateien mit Scripts anpassen.

 

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!

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.

Unfreundliche Anwendungen mit schlechtem Benehmen

(… oder: Endlich wieder ein Beitrag aus der Akte-X-Serie…)

Das Elkement ist eine typische IT-Security-Abteilung und versucht daher den produktiven Ingenieursabteilungen die tägliche Arbeit so mühsam wie möglich zu machen.

So wurde auf dem Chefingenieurs-Notebook das neueste Windows-10-Feature gleich ausprobiert – Controlled Folder Access. Windows 10 Defender wacht über Zugriffe auf definierte Ordner und wehrt Angriffe von unfreundlichen Applikationen ab.

Und als ebensolche wurden gleich Winsol (und dann auch TAPPS) eingestuft:

Fügt man Winsol.exe in der Windows Defender Konfiguration zur Liste der erlaubten Anwendungen hinzu (Allow an App), ist der Spuk vorbei.

Beim Testen dieser Funktionen wurde das Elkement auf folgendes fundamentale Rätsel der Winsol-Konfiguration aufmerksam: Wo werden die Winsol-Daten eigentlich per Default gespeichert? …. ein jahrelang vernachlässigtes Forschungsgebiet! Die Siedler hatten ja in jeder Winsol-Installation immer gleich ihren eigenen speziellen Logfile-Ordner eingestellt – dort wo z.B. die hungrige Datenkrake auf die Logfiles wartet.

In einer frischen Winsol-Installation begegnet einem aber dieses Mysterium:

Aus Winsol heraus betrachtet – beim Versuch den Standardordner zu ändern, sieht man die neuesten Logfiles in C:\Program Files\Technische Alternative\Winsol\LogX (rechts im Bild). Direkt im Explorer (links im Bild) sucht man den LogX-Ordner aber vergeblich, ebenso wie die Infosol-Ordner mit den Kundendaten:

Bevor sich das Elkement mit so etwas theoretisch beschäftt, wird einmal geschnüffelt mit Microsoft Sysinternals Process Monitor.

Aha! Winsol greift in Wirklichkeit auf einen Unterordner VirtualStore im Benutzerprofil zu – hier gibt es eine ‚Umleitung‘ (REPARSE):

Die Logfiles verstecken sich somit hier:

C:\Users\[Benutzer]\AppData\Local\VirtualStore\Program Files\Technische Alternative\Winsol

Dieser VirtualStore ist ein seit Vista genutztes Sicherheits-Features, wenn Anwendungen etwas zu ‚anmaßend‘ sind. Hier ein Beispiel:

…  in most cases when a developer tells his program to save data in the Program Files folder, for example, program settings, he has completely forgotten that program settings should be a per-user thing! … In other words, a well-behaved application should instead save its settings in the
C:\Users\<User Name>\AppData\Local\<Manufacturer>\<Product>\<Product Version>

Ever since Windows Vista, applications that are not running with raised privileges that try to write to the Program Files (or Program Files (x86)) folder will in fact write to the VirtualStore folder, unknowingly.

Es gibt es aber auch einige offizielle Winsol-Einstellungen pro Benutzer im Ordner:

C:\Users\[Benutzer]\AppData\Roaming\Technische Alternative\Winsol

Hier wird z.B. das Cookie für die Anmeldung am Webportal abgelegt – aber eben nicht die Logfiles.

Zusammengefasst: Möchte man jetzt die aktuelle Winsol-Installation auf einen anderen PC übertragen oder lokal den Ordner ändern – und in mehrfacher Hinsicht ’sicher‘ konfigurieren, also sicher vor Hackern und vor allem für sich selbst auffindbar, geht der unerschrockene Monitoring-Bastler so vor:

  • Winsol wird auf dem Ziel-PC neu installiert.
  • In den Grundeinstellungen wählt man einen Ordner außerhalb von ‚Programme‘ – am besten dort, wo man auch andere Projektdateien speichert – also in einem Ordner für den eine regelmäßige Sicherung erfolgt (Z.B.: Cloud und externe Festplatte)
  • In diesen neuen Ordner werden die Dateien aus dem alten Winsol-Ordner kopiert, also alle ‚eigenen‘ Logdateien, exportierte CSV-Dateien und ggf. auch die Unterordner anderer Kunden im Ordner Infosol. (Das gilt nur dann uneingeschränkt, wenn auch die gleiche Winsol-Version verwendet wird – vor ca. 1 Jahr gab es ja eine subtile mehrstufige ‚Migration‘ bedingt durch Regler- und Software-Updates.)
  • Um sich das einmalige Anmelden am Portal zu sparen, kann auch der Inhalt von C:\Users\[Benutzer]\AppData\Roaming\Technische Alternative\Winsol kopiert werden.
  • In Controlled Folder Access in Windows 10 muss Winsol.exe in die Liste der erlaubten Anwendungen eingetragen werden (oder der Logfile-Ordner ausgenommen – sicherer ist, nur Winsol zu erlauben).

_______________

Nachtrag 2018-01-31: Die Tests wurden mit der Winsol-Version 2.07 durchgeführt, kurz bevor die Version 2.08 zur Verfügung gestellt wurde. 2.07 war auf diesem PC ein Upgrade einer früheren Version.

Installiert man Winsol 2.08 neu (auf Windows 10), dann wird mittlerweile als Standardordner ein Unterordner im Profil vorgeschlagen – gutes Benehmen wie von Microsoft empfohlen 😉

C:\Users\[Username]\Documents\Technische Alternative\Winsol

Bewusstseinsebenen einer Simulation

Kürzlich wurde hier eine Weissagung des Orkrakels präsentiert …

… mit einer eher spröden und trockenen Beschreibung technischer Fakten. Nachdem sich dieses Siedlerblog immer noch in der Sommerphase befindet, soll es jetzt um den philosophisch-spirituellen Überbau dazu gehen.

Das Orkrakel operiert auf unterschiedlichen Bewusstseinsebenen – und deren exponentiell ansteigende Komplexität müssen dem Simulator immer bewusst sein.

Auf der untersten Ebene geht um das, was die Siedler einmal gelernt haben: Physik. Hier werden Temperaturwellen im Boden berechnet und das Orkrakel führt penibel Buch über diverse Energieströme und Energiespeicher. Es geht also darum, wie ‚die Natur‘ in Folge unumstößlicher Gesetzmäßigkeiten reagiert: Temperaturdifferenzen erzeugen Wärmeströme, umverteilte Energien ändern Temperaturen im Tanks, und die Leistungszahl der Wärmepumpe folgt den Grundsätzen der Thermodynamik. Hier hat die Orakelkrake eigentlich alles unter Kontrolle – was uns gleich zur nächsten Ebene bringt …

… hat doch das Orkrakel auch die Aufgabe, dem Wirken der Universalregelung gerecht zu werden. Man könnte meinen, das sollte die Krake im kleinen Tentakel haben – ist ja eh alles Programm-Code. Was die theoretische Intention der Regelung betrifft, stimmt das auch irgendwie. Aber das Orkrakel muss Annahmen über diverse, scheinbar harmlose Regelparameter machen – deren kleinste Änderung sich fatal auswirken können. Um das mit einer lebensnahen Analogie zu verdeutlichen: Wie in den modernen Theorien der Grundlagenphysik hat man so viele Parameter, an denen man schrauben kann, so dass man praktisch alles erklären kann. Man braucht z.B. nur ein klein wenig an den Hystereseeinstellungen für das Aufheizen des Hygienespeichers zu drehen, um die Arbeitszahl auf eine Art zu beeinflussen, die Vieles in den Schatten stellt, was die Ebene ‚Physik‘ an unsicheren Parametern zu bieten hat.

Zusätzlich hat so eine Regelung ja selbst verschiedene Bewusstseinsebenen – oft Benutzer und Experte genannt. Letztere ist eine Art Pseudo-Schutz, der den Inhaber der Regelung mit komplexen Passwörtern wie 0000 zumindest vor sich selbst / vor den Konsequenzen des reflexartigen Irgendwo-Hinklickens schützt. Auf der Benutzerebene gibt es aber kein Halten: Hier darf man sich austoben, was beispielsweise die persönlichen Temperaturbedürfnisse betrifft – die das Orkrakel natürlich nicht vorausahnen kann, ebensowenig wie das vor allem in der Übergangszeit beliebte manuelle Hineinregeln.

[Lebensform in meinem Haus] stellt immer auf ‚Sonne‘. Können Sie was machen, dass sich dann gar nichts ändert?

Und damit sind wir eigentlich schon an der Spitze der Pyramide angelangt – beim heiligen Gral der Simulationskunst:

Es geht um die alte Frage: Wie nutzen (menschliche) Lebensformen ein Heizungssystem?

Duschen Sie beispielsweise auf elementare Art – auch um 03:00 früh? Und muss das elementare Duscherlebnis auch für 10 Gäste in Serie gewährleistet werden – am Morgen nach der kältesten Silvesternacht seit 100 Jahren? Ereignisse wie diese könnte man noch als ein klassisches und seltenes first world problem abtun – und natürlich werden die zukünftig so intelligenten smarten Systeme aufgrund der Facebook-Postings der Partygäste diesen Bedarf vorausahnen und entsprechend reagieren, den Speicher mittels Notheizung auf 90°C aufheizen und vorher per Smartphone-App über die drohende Arbeitszahl-Katastrophe informieren.

Interessanter sind da eigentlich die langfristigen Prognosen über das Siedlerverhalten. Kann die künstliche Intelligenz auch aufgrund genetischer Daten (aus der Cloud des Gesundheitsministeriums) ableiten, wie die Nachkommen die Siedlerhütte nutzen werden?

Angesichts von all dessen fühlt sich so ein kleines Orkrakel schnell überfordert. Es bleibt da doch lieber bei seinem konservativen Ansatz, prinzipiell einen Worst-Case-Winter zu simulieren und im Zweifelsfall dann auf die Intelligenz der Lebensformen zu setzen (im Sinne von Hausverstand) nach dem Motto: Wenn der Jahrhundertwinter kommt, dann warte ich vielleicht die 20 Minuten bis das Wasser wieder warm ist.

Die Datenkrake – ein Formwandler

Die Siedler sind immer wieder fasziniert von den seltsamen Lebensformen, die sich rund um die Siedlerhütte so tummeln. Auch altbekannte Spezies sind immer wieder für eine Überraschung gut!

Wie wir alle wissen, sind Kraken ja wahre Formwandler:

(…was an ihrem fehlenden Rückgrat liegt – aber soweit wollen wir diese Metapher nicht ausreizen…)

Jedenfalls zeigt auch die hauseigene Krake eine erstaunliche Wandlungsfähigkeit – ein Glück angesichts solcher Herausforderungen:

Wenn Irgendwer mit diversen anderen Lebensformen kämpft, dann vergisst er Zeit, Raum und vor allem dem Wissenschaftsoffizier zu melden, dass sich die Sensorlandschaft der Siedler über Nacht grundlegend verändert. Das Elkement steht dann vor der Herausforderung, der Krake wieder neu beizubringen, wie sie z.B. jetzt erkennen soll, ob die Wärmepumpe gerade läuft oder nicht. Soll man die Anforderung der Wärmepumpe heranziehen? Oder die Anforderung der Solepumpe? Oder doch eine Temperaturdifferenz und den Durchfluss im Solekreis?

Generell erfordert die scheinbar so volksschulmäßig simple Mittelwertbildung einiges an FingerspitzenTentakelgefühl: Abgesehen von Raum- und Außentemperatur sind die meisten Mittelwerte nur sinnvoll in Messintervallen, in denen bestimmte Bedingungen erfüllt sind. In die mittlere Vorlauftemperatur des Heizkreises sollten natürlich nur Werte einfließen, die gemessen wurden während die Heizkreispumpe läuft – andererseits müssen aber die Werte während der sommerlichen Kühlphasen ausgenommen werden. Vor allem muss die Krake lernen, welche Sensorwerte evtl. als Fehler zu werten sind!

Um das Elkement zu verwirrend, fügt Irgendwer aber nicht nur dauernd neue Sensoren hinzu, sondern ändert fieserweise auch die Rollen etablierter Sensoren. So wird schnell einmal eine neue Wandheizung eingebaut und was der (Regelungs-)Welt bisher als Radiatorheizkreis bekannt war, wird nun zu einem neuen Wandheizkreis.

Aber auch das Elkement selbst ist an der ständigen Krakenmutation nicht unschuldig: Während sich Irgendwer lange zufrieden gab mit zwei unterschiedlichen ‚Logging-Quellen‘ – der UVR1611 / UVR16x2 – und einigen manuell gemessenen Werten, hat das Elkement einen Zähler-Zoo herangezüchtet und schreckt nicht davor zurück, die Krake ihre Tentakel direkt in das Innere der Wärmepumpe vordringen zu lassen. All das erzeugt neue Logfiles mit Daten, die zu anderen Zeitpunkten in anderen Zeitintervallen gemessen werden und die von der Krake mit den UVR-Daten verknüpft werden müssen.

Datenkrake: Tentakel in der Wärmepumpe

Insbesondere die früher manuell abgelesenen Daten waren der Krake ganz besonders schwer beizubringen: Irgendwer war zwar ein verwegener Messdatenableser, weigerte sich aber beharrlich, jeden Tag exakt um 00:00:00 Energiewerte aufzunehmen. Da die dumme Wärmepumpe entweder an oder aus ist, macht eine Interpolation der Werte wenig Sinn und das Elkement musste jene erwähnten Mittelwerte für irgendwelche seltsamen Zeitintervalle berechnen.

Aber nicht nur irgendwelche Experimente fordern die Krake heraus: So mancher Hersteller von Steuerungen kommt ja hin und wieder auf die Idee, ’schnell einmal über die Feiertage‘ die Struktur der Loggingdaten mit einem Firmwareupdate durcheinanderzuwirbeln! Die Tentakel der Krake müssen dann bis zum Äußersten gedehnt werden, um die Daten wieder richtig einzusammeln.

Wie regelmäßige Leser dieses ‚Wissenschaftsblogs‘ erahnen werden, muss natürlich jeder dieser Laborversuche ausführlich dokumentiert und nachvollziehbar qualitätsgesichert werden. Gerade bei Tierversuchen gibt es ja sehr strenge Auflagen!

Nach langem Tüfteln – und dem Konsum vieler klischeehafter Filme über künstliche Intelligenz – hat das Elkement jetzt der Datenkrake ein paar weitere Metaebenen verpasst: Die DNA der Krake – also die Beschreibung der Logdateien und Sensoren, wird in einer separaten Vor-Krake abgelegt. Schonungslos wird hier jeder Messfauxpas von Irgendwem dokumentiert: So enthält die Vor-Krake eine Tabelle, in der man Zeitbereiche findet mit Kommentaren wie Irgendwie bastelt und hat versehentlich die Sicherung ausgeschaltet.

Aus der Vor-Krake entsteht dann ‚per Knopfdruck‘ die Große Krake, die automatisch Logdateien in der richtigen Reihenfolge frisst. Nach der Entschlüsselung der Kraken-DNA lässt sich diese auch klonen und frisst auch die CSV-Dateien anderer Siedler.

Nur wenn man diese Vorgeschichte kennt, kann man die kindliche Freude des Elkementes nachvollziehen, wenn die sehr schlichte Benutzeroberfläche dann das Durchklicken der wichtigen Kennwerte für LEO_2-Anlagen erlaubt – für Tage, Monate, Jahre oder Heizsaisonen.

Datenkrake: Excel-Auswertung