Auch LCDs können einbrennen.

Nachdem in letzter Zeit einmal mehr das Thema hochgekommen ist, dass LCDs/TFTs nicht einbrennen können, habe ich mich nun doch genötigt gefühlt nach den uralten Fotos auf dem Rechner zu suchen. Zugegeben, es ist wirklich aus grauer Vorzeit und es hat sich einiges getan, aber hier der Beweis:

Das Panel war schon einige Monate (wenn nicht sogar Jahre) aus der Anwendung raus und hier an einen einfachen LCD-Treiber angeschlossen, der es zum Leben erweckte. Nahm man dem Controller den Strom weg, die Hintergrundbeleuchtung aber weiter an, entspannten sich die Flüssigkristalle und sie gingen in den bevorzugten Zustand, der dem lange Zeit angezeigten Inhalt entspricht. Links oben sieht man sehr deutlich „Controller Interface“, links oben kann man das Wort „Agit“ erkennen.

Aus einer Serienaufnahme habe ich nochmal einen kurzen Clip gebastelt – man achte darauf, wie rechts oben eine Buttonleiste erscheint – „Config“, „Cal“ (?), „Gauge“, „Trend“, „Case“, „Sterile“, „Alarms“:

Mit den Angaben schwanke ich irgendwo zwischen Industriesteuerung und Medizinequipment. Unter dem vollständigen Fenstertitel „NBS Local Controller Interface“ konnte ich online leider nichts finden.

Code-Templates für AVR-Register

Warum sollte man sich für Dinge abmühen, die der Computer viel besser kann als man selbst?

Dieser Gedanke rückt viel zu oft in den Hintergrund. Auch wenn ich mich selbst immer wieder dabei erwische, Dinge manuell zu machen (weil man es halt doch nicht so oft braucht), poppt immer wieder folgender Gedanke hoch:

Wenn man einmal 2 Stunden für die Automatisierung einer 10-minütigen Aufgabe investiert, hat es sich nach 12-maliger Benutzung schon gelohnt. Mal ganz zu Schweigen von Flüchtigkeitsfehlern, Wiederholbarkeit, etc.

Mir war schon länger bekannt, dass Microchip Studio Definitionsdateien für Register mitbringt, das erste Mal aktiv genutzt habe ich sie beim updizombi (den ich im Nachhinein lieber updipuppeteer genannt hätte, weniger apokalyptisch), auf dessen Hilfsscript ein Tool entstand, das viel Fleißarbeit abnimmt:

Für die bessere Lesbar- und Wartbarkeit beim Schreiben von Registern habe ich mir angewöhnt, die Namensdefinitionen der Bits zu nutzen. Dafür liegt dann mindestens die Register Summary des Chips auf dem zweiten Bildschirm:

Das Abtippen ist reine (nervige, aber sinnvolle) Fleißarbeit. Nach einigen Jahren hat dann doch die Faulheit – oder Motivation? – gesiegt und es ist ein zusammengehacktes Script entstanden, das die beim Microchip Studio mitgelieferten Definitionsdateien in Codetemplates umwandelt.

Die Ausgabe sieht dann wahlweise so

...
/// Module USART - USART
/// Register group USART0 - USART
/// Register UDR0 - USART I/O Data Register 0
UDR0 = ;
/// Register UCSR0A - USART Control and Status Register A
UCSR0A = (0<<RXC0) | (0<<TXC0) | (0<<UDRE0) | (0<<FE0) | (0<<DOR0) | (0<<UPE0) | (0<<U2X0) | (0<<MPCM0);
/// Register UCSR0B - USART Control and Status Register B
...

oder so

...
/// Module USART - USART
/// Register group USART0 - USART
/// Register UDR0 - USART I/O Data Register 0
UDR0 = 
/// Register UCSR0A - USART Control and Status Register A
UCSR0A = 
      (0<<RXC0) // USART Receive Complete
    | (0<<TXC0) // USART Transmitt Complete
    | (0<<UDRE0) // USART Data Register Empty
    | (0<<FE0) // Framing Error
    | (0<<DOR0) // Data overRun
    | (0<<UPE0) // Parity Error
    | (0<<U2X0) // Double the USART transmission speed
    | (0<<MPCM0); // Multi-processor Communication Mode
...

aus.

Den Code und Details zur Benutzung gibt es im Git-Repository. Mal sehen, welche Tülchen in dem Dunstkreis sonst noch entstehen.

Gefällt mir nicht.

Hey YouTube, wer ist eure Zielgruppe?

Dass es die Benutzer eurer Plattform nicht sind, wurde schon öfter gezeigt bzw. bewiesen. Um wen es geht? Werbetreibende, also Geld.

Ein für User praktisches Hilfsmittel um vor dem Ansehen eines Videos (oder zumindest innerhalb der ersten paar Sekunden) zu erkennen, ob es inhaltlich taugt, kontrovers oder ziemlicher Mist ist war die Anzeige der Likes/Dislikes sowie dem Ratio.

Weil YouTube/Google/Alphabet natürlich die Positivität ihrer Plattform verbessern will (im Sinne von höhere positive finanzielle Zahlen) wurde der öffentliche Dislike-Counter entfernt. Für die jeweiligen Creator bleibt der Zähler allerdings sichtbar. Aber auch Benutzer müssen nicht unbedingt blind sein: Erweiterungen wie Return YouTube Dislike haben sich Schattenkopien der Statistiken per API geholt und führen nun selbst Buch.

Inwieweit das noch repräsentativ ist kann ich leider nicht einschätzen, wie brauchbar die Zahlen in Zukunft sein werden wird die Zeit zeigen, ich hoffe zwar, denke aber ehrlicherweise nicht, dass der offizielle Counter wieder zurück kommt.

Wenn es YouTube tatsächlich um Positivität gehen würde, wäre es sinnvoll, wenn statt einem „destruktiven Daumen“ konstruktive Kritik (abseits der Kommentare) geben würde. Sprich: Drückt man den Daumen nach unten, muss man es begründen (sei es multiple choice oder Texteingabe). Auf die Weise könnte man tatsächlich etwas verändern und einem „einfach nur weil dagegen“ würde zumindest eine kleine Hürde in den Weg gelegt.

Der Aufhänger für diesen Post?

Als sehr seltener „Creator“ bin ich gestern wieder durch den Uploadprozess gegangen und bin über folgende Option gestolpert:

Da muss wohl noch eine Übersetzung angepasst werden.

Shooting the messenger

Aus mehrfach aktuellem Anlass – und nachdem auch die Politik aktuell wieder heult, dass im letzten Jahr wieder massiv gecybert wurde.

Liebe Unternehmen: Bekommt eure Security und vor allem euer Verhalten gegenüber Sicherheitsforschenden endlich mal in den Griff.

Nachdem es bei Golem und Heise zu lesen war und es nicht der erste Fall von „Shooting the messenger“ dieses Jahr war und mir ehrlich gesagt mittlerweile der Kamm ein wenig schwillt, mal (m)eine Meinung und Erfahrung zum Thema Sicherheitsforschung und der Umgang von Unternehmen mit der Thematik.

Der Vollständigkeit halber (und nein, das soll keine Prahlerei sein): ja, auch ich habe schon Sicherheitslücken entdeckt und gemeldet. Details sind sind an der Stelle unwichtig, zur groben Einordnung, zwei Meldungen hatten IIRC einen CVSS-Score von 7,4 und 8,6.

Was ich in der Kommunikation mehrfach beobachten konnte waren folgende Reaktionen in dieser Reihenfolge:

  • „Kann gar nicht sein“
  • „Warum glauben Sie, dass es eine Sicherheitslücke gibt?“
  • „Oh.“
  • (vermutlich hektischer Griff zum Telefonhörer, keine Reaktion – nach längerem Warten und mehreren Rückfragen)
  • „Wir haben es gefixt, bitte prüfen“

Meine Gedanken dazu: Ok, ok, es kann ja jeder daherkommen und Dinge behaupten. Aber selbst mit einer groben Beschreibung was falsch läuft, sollte jemand der/die „security“ in der Mailadresse hat entweder seine Kompetenz nutzen oder entsprechende Ressourcen im eigenen Betrieb aktivieren.

Gleiches gilt für Punkt zwei. Muss man als unbezahlte(r) dritter wirklich immer einen proof of concept darlegen? War bei mir bis jetzt immer der Fall. Leute, es eure Sicherheit. Euer Kapital, eure Verantwortung. Muss man wirklich eure (bitte entschuldigt die Ausdrucksweise aber etwas milderes fällt mir dazu nicht ein) Nase in den Kackhaufen drücken, auch wenn man von weitem schon sieht, dass der einfach nicht auf den Parkettboden gehört?

Das darauf folgende „Oh.“ gibt zwar ein wenig Genugtuung – aber: man im Zweifel Stunden oder gar Tage für etwas aufgewendet, was eigentlich in der verdammten Verantwortung des „zerforschten“ liegt. Seis drum. Man hilft ja gerne.

Selten oder eigentlich eher so gut wie gar nicht habe ich Proaktive Kommunikation von der Gegenseite bekommen. Warum auch: man hat ihr unliebsame Arbeit beschert und nervt dann auch noch damit, wann endlich die ureigensten Probleme gelöst sind.

Und ja, auch der letzte Punkt ist nicht erfunden. „Will review for code and food“. Man muss sich echt wundern, mit welcher Erwartungshaltung manche Menschen durchs Leben gehen. Natürlich werde ich an einer Blackbox bestätigen, dass das Teil jetzt sicher ist, obwohl die Sicherheitslücke im Zweifel nur einen kleinen Schritt zur Seite gemacht hat – und zum Schluss noch „Haftung“ dafür zu übernehmen. Ja ne, is klar Kollege.

Eine andere Beobachtung (allerdings schon ein paar Jahre her): Es kann durchaus schwierig sein jemanden zu erreichen, der/die sich tatsächlich überhaupt verantwortlich für Sicherheit fühlt. Auf Anfragen über Kontaktformulare oder zentrale Mailverteiler wurde nicht reagiert und es war social engineering erforderlich, um einen Kontakt aufzubauen.

Was läuft falsch?

Die für mich markantesten Punkte sind:

  • Es ist erstaunlich schwierig, einen Kommunikationskanal aufzubauen
  • Man muss mehr beweisen als eigentlich nötig wäre
  • Probleme werden heruntergespielt oder die Tragweite verkannt
  • Um die Analogie „Daten sind das Öl des 21. Jahrhunderts“ auszuschlachten: Die Gewinne sind wichtig, aber für eine Tankerhavarie gibt es weder einen Notfallplan noch eine schnelle Eingreiftruppe. Zerstöre Ökosysteme: kann man nichts machen, das bringt der Fortschritt halt mit sich
  • Obwohl man hilft, bleibt man Bittsteller oder ein Störfaktor
  • Es gilt das Schubkarrenprinzip: Es bewegt sich nur was, wenn man schiebt

Grundsätzlich kann man es wie folgt zusammenfassen: Die Erwartungshaltung der beiden Parteien divergiert.

Zugegeben: ich habe den Eindruck, dass es (auch dank DSGVO und den damit verbundenen Strafen) etwas besser geworden ist und auch die Angst vor der Veröffentlichungen etwas größer geworden sind.

Dennoch ist die noch recht junge security.txt Stand Oktober 2021 leider noch nicht so richtig etabliert.

Liebe Unternehmen, bitte beachtet:

Sicherheitsforschende…

  • …machen das ggf. in deren Freizeit
    (nicht sie binden eure die Zeit, ihr macht das mit ihrer)
  • …sind nicht die Ursache eurer Probleme
  • …haben euch gegenüber keine keine Verpflichtung oder Bringschuld
  • …haben erst einmal keine persönlichen Vorteile, euch zu helfen
  • …haben kein Interesse, euch ans Bein zu pinkeln
    (sonst würden sie die Lücke gleich woanders verkaufen)
  • …sollten euch nicht erklären müssen, wie ihr es richtig macht
  • …sollten euch nicht den Hintern hinterher tragen müssen
  • …wollen sich nicht und lassen sich nicht gerne verarschen lassen

Herangehensweise

An der Stelle sei hervorgehoben: das sind keine verbindlichen Ratschläge, dafür habe ich weder die Expertise noch eine Autorität. Ein recht interessanten Artikel zum Thema bietet z. B. Heise Online.

Aus meinen bisherigen Erfahrungen halte ich für sinnvoll:

  • Diskretion bewahren
  • Wenn es nicht viel Aufwand ist, bereits ein proof-of-concept vorbereiten – die meisten Unternehmen werden euch nicht glauben. Je schnell man das „Oh“ erreicht, desto besser
  • So früh wie möglich Entdeckungen dokumentieren, auch wie man sich durchhangelt
    • Screenrecordings sind dank OBS mittlerweile sehr einfach zu erstellen und sicher auch schönes Futter, sollte man es beim Congress auf die Bühne schaffen 😉
    • Ist etwas physisches im Spiel: Video möglichst ohne Schnitte um zu zeigen, dass es keinen doppelten Boden gibt
  • Wenn Daten Dritter im Spiel sind: So viel wie nötig, so wenig wie möglich sehen/speichern, möglichst früh anonymisieren. Metainformationen reichen bereits oft für den „Aha-Effekt“
    • Wenn man nicht/schlecht anonymisieren kann: Kryptographie für die Dokumentation verwenden.
  • Zeitlich nachvollziehbar und nicht manipulierbar dokumentieren
    • Hashes von veröffentlichbaren Dokumenationen (Daten Dritter müssen irreversibel geschützt sein) auf nicht verfälschbaren Plattformen (z. B. Twitter) veröffentlichen, dadurch hat man einen Zeitstempel
    • Verschlüsselte Daten in ein öffentliches (z. B. Git) Repo packen
  • Noch vor der ersten Kontaktaufnahme prüfen
    • Wer ist steht einem gegenüber?
      • Gibt es eine Vulnerability-Kultur (Bug bounty-Programme, CVE)
      • Würde man für sie arbeiten wollen?
      • Sind sie schon durch Behandlung von Hackern in Erscheinung getreten?
  • Die erste Kontaktaufnahme gilt zum Aushandeln eines sicheren Kommunikationsweges, keine Details („Ich habe (vermutlich) eine Sicherheitslücke gefunden, bitte senden Sie mir eine verschlüsselte Mail mit Ihren Public Keys an …“)
  • Es kann sinnvoll sein, anonym oder unter Pseudonym an Firmen heranzutreten um Angriffsfläche zu verringern
  • Mit der ersten verschlüsselten Mail die „Spielregeln“ festlegen
    • Freundlich aber bestimmt bleiben („ich will euch nichts Böses, aber ihr müsst etwas machen“)
    • Auch wenn umstritten: CVSS-Score ermitteln und kommunizieren
    • Typ des Disclosures ansagen (Responsible oder Coordinated, siehe auch den oben verlinkten Heise-Artikel)
    • Durchführbaren aber festen Zeitrahmen/Meilensteine festlegen
      • Nicht vertrösten lassen, aber Verzug mit guter Begründung gewähren lassen
    • Konsequenzen beim Verstreichen von Fristen festlegen
      • Zero-Days sind nicht die beste Option
      • Zusammenarbeit mit Plattformen, Benachrichtigung von potenziell geschädigten Partnern/Kunden (nicht im Sinne von Endverbrauchern), Medien
    • Von vorne herein proaktive Rückmeldung des Gegenüber einfordern
    • Wenn es einem wichtig ist: Belohnung aushandeln
  • „Alles was Sie sagen, kann und wird gegen Sie verwendet werden“ gilt für beide Richtungen
  • Security Advisories vor der Veröffentlichung zum Gegenlesen verlangen (eigene Erfahrung: bei einer Stand ziemlich großer Unsinn und wurde trotz deutlichem Hinweis nicht korrigiert)
  • Wenn man zu Meetings eingeladen wird: jemanden im Hintergrund nach Pressemeldungen Ausschau halten lassen
  • Soweit wie sinnvoll möglich kooperieren – es geht um die Sache, nicht um Befindlichkeiten

Nachtrag, Januar 2022:

Die Hacker*innen von zerforschung hatten auf dem rc3 einen guten Talk zum Thema.

Auch wenn ich mich bei ihrem Argument „keine Druckmittel/Erpressung“ in Hinblick auf Konsequzenzen beim Verstreichen von fristen etwas ertappt fühlte, bleibe ich dabei: aufgrund bisheriger Erfahrungen ist ein Mittel, das man in Erwägung ziehen kann – wenn man nicht von vorne herein gemeinsam mit einer Vertrauensperson arbeitet, was je nach „Gewicht“ des Fundes und Breite des eigenen Rückens sehr sinnvoll sein kann.

Chapeau, Canon! Der MG6150 bleibt stark.

Man kennt die Geräte, die man immer wieder kaufen würde, egal wie überholt sie mittlerweile sind. Meine aktuelle Knipse ist da so ein Kandidat (die ich selbst dem Nachfolger bevorzugen würde). Bei Laserdruckern wäre das ganz klar mein Brother, den ich mir zum Studium zulegte und noch nie aus eigenem Antrieb mucken machte (der Papierstau mit dem Briefumschlägen sei ihm verziehen). Allerdings hatte der in den knapp 10 Jahren auch nur einen Toner und somit unter 10000 Seiten durch.

Bei Tintenstrahldruckern und Scannern sind meine Favoriten – vermutlich auch ein wenig der Nostalgie geschuldet – der Agfa SnapScan 600 und der Canon BJC-7000. Vermutlich auch, weil es die ersten Geräte waren, auf die ich Zugriff hatte. Gefühlt ist der Scanner noch immer der schnellste – auch bei hohen Auflösungen – den ich je erlebt habe. Eine Krankheit bei dem Teil war das Nachlassen der Helligkeit der verbauten Leuchtstofflampe (vor allem, wenn man vergessen hat das Scanprogramm zu beenden). Mit LED-Beleuchtung heute kein wirkliches Problem mehr, aber Agfa zählte die glücklicherweise wohl zu den user-servicable parts: Mit einem Kugelschreiber konnte man die Glasplatte herunternehmen (und sie bei der Gelegenheit auch innen putzen), lediglich eine kleine Plastikblende verdeckte die T5-Leuchtstoffröhre, die es in jedem Elektromarkt für 8 Mark (oder Euro, Umrechnung vermutlich 1:1) gab. Weißabgleich laufen lassen und das Teil werkelte wieder für ein paar Jahre.

Der BJC-7000 hatte zwei geniale Eigenschaften: riesige Tintenpatronen und eine Fixiereinheit.

Mein Vater druckte damit Klassensätze und brauchte vielleicht vielleicht 3 oder 4 Patronen im Jahr, dank Fixiereinheit hätte man die Dokumentenauflage durch ein Wasserbecken ersetzen können. Das Papier wäre dann zwar wellig, aber der Druck blieb dank Lackschicht sauber. Die Druckqualität war für damalige Verhältnisse erstklassig – nicht nur, weil es optional auch eine 6-farbige Patrone für Halbtondruck von CMY gab.

Danach kam länger nichts und dann der Canon iP3000, mit relativ vielen Features (IIRC Duplexdruck, CD-Druck) und sehr günstig im Verhalten.

Heute habe ich allerdings einen neuen Meister gefunden – und das, obwohl ich kein Freund von Multifunktionsgeräten bin. Der Canon MG6150. Allerdings begrüßte er mich erst einmal mit einem Fehler: 5B00, Tintenrestbehälter voll. Schon länger hat er davor gewarnt, jetzt ging er final in den Streik.

Nach einem längeren Kampf, das Teil in den Servicemode zu versetzen – die Anleitung auf easyfixs.blogspot.com ist leider etwas irreführend: Man darf nicht die Powertaste beim Einstecken des Stromes halten und dann x-mal auf Stopp drücken (und danach die Powertaste loslassen), sondern muss wie folgt vorgehen (Gedächtnisprotokoll, habe das Gerät nicht hier):

  1. Unbeleuchtete Stop-Taste suchen, drücken und halten
  2. Powertaste drücken und halten
  3. Stop-Taste (noch immer unbeleuchtet) loslassen
  4. Stop-Taste n-mal (IIRC 5 oder 6x) drücken (Modellabhängig, je nachdem ob das Modell der MG6000er-Serie einen Scanner hat oder nicht), die Power- und Status-LED schalten mit jedem Druck um
  5. Power-Taste loslassen

Danach taucht der Drucker als USB-Device auf und das Service-Tool lässt sich bedienen.

EEPROM-Druck und erwartungsgemäß ist der Resttintentank bei 100,2 %, bei der nächsten Zahl muss ich stocken und frage „Vielleicht ist es ein Fehler oder ich lese es falsch, aber hat der Drucker wirklich über 27000 Seiten durch?“ – „Ja kann sein, den haben wir ja auch schon gut 10 Jahre und drucken auch regelmäßig“.

Also sollte da tatsächlich kein Bit in der Zahl gekippt sein: Respekt. Der kann was.

Meine ehrliche Empfehlung war, eine passende Wanne oder zur Not ein Backblech unter den Drucker zu legen (damit es keinen „happy little accident“ auf dem Schreibtisch gibt) und ihn so lange weiter nutzen, bis er wirklich tot ist.

Ob der stete Einsatz von Originaltinte einen Unterschied gemacht hat, kann ich nicht bewerten. Bei Tinten von Drittherstellern habe ich habe ich Erfahrungen, wobei hier natürlich auch die Frage gestellt werden muss: was ist billig und was ist günstig?

HL-340 – man bekommt, was man bezahlt

Wie günstig oder vielmehr billig kann ein USB auf RS-232-Wandler sein?

Preislich lag das Teil bei 5,69 Euro mit Versand und einen Tag nach der Bestellung auf dem Tisch:

Da das Gehäuse halbtransparent ist, sieht man auch ein bisschen, was drin ist:

Nicht viel, um ehrlich zu sein. Auf dem Bild nicht ganz so gut zu erkennen: es ist wohl ein chip on board, zumindest sieht man einen schwarzen Blob. Nicht verwerflich, auch nicht unbedingt ein Merkmal von schlechter Qualität, sondern einfach ein Zeichen für Massenfertigung im Endstadium – und solange das Teil funktioniert habe ich nichts daran auszusetzen.

Am PC meldet sich das Teil als „USB-SERIAL CH340“ (VID: 1A86, PID: 7523), FTDI Chips zu faken lohnt sich offensichtlich nicht mehr, die CH340 sind mir bisher auch nicht als besonders unzuverlässig in Erscheinung getreten, soweit auch alles ok.

Allerdings habe ich immer noch meine Zweifel, ob das Teil hält, was es verspricht – ob da tatsächlich ein RS-232-kompatibles Signal rauskommt? Das Multimeter kurz an Pin 3 rangehalten: 0 V. Nope.

Das Oszi sagt ebenfalls nein:

Im Endeffekt ist es nur ein invertierter 5 V-TTL-UART in der Hoffnung dass das Gegenstück mit den Pegeln klarkommt. Auf der anderen Seite muss man hoffen, dass der kleine CH340 auch echte RS-232-Signale (also mit +12 V/-12 V) aushält.

Bisher habe ich noch nichts beobachtet, wobei der Fokus auch eher auf TX als RX stand. Mal schauen, wie das Langzeitverhalten ist (und der nächste Anschaffung wird wohl ein paar Euro mehr kosten).

Solaranlage und Heizung: sprecht miteinander!

Wie im Artikel Energieerfassung beschrieben, haben meine Eltern eine Wärmepumpe sowie eine Solarthermieanlage als Heizung. Beide für sich betrachtet funktionieren ganz ordentlich, im Zusammenspiel gibt es allerdings ein größeres Defizit, dazu mal ein Blick auf ein Diagramm für einen typischen Vormittag:

Gegen 9:05 ging die Kollektortemperatur (blau) über den Schwellenwert zum Beladen des Puffers und die Pumpen (für Kollektor und Wärmetauscher, hier nur der Wärmetauscher dargestellt) legen los.

Dabei ist die Leistung vom Dach natürlich noch nicht so groß, allerdings rührt die Pumpe im Puffer erst einmal um. Folglich fällt die Temperatur im Puffer oben (grün) und die unten im Puffer (orange) steigt leicht. das bringt gegen 9:45 die Wärmepumpe auf den Plan „Wasser kalt, muss heizen“ – zu sehen an der Differenz der Grundwassertemperatur (GW diff) am Ein- und Ausgang der Wärmepumpe. Ansich ist das Vorgehen korrekt, allerdings hätte die Solaranlage den Puffer in der nächsten Stunde genauso aufgeheizt – nur eben deutlich günstiger.

Rechnet man mit einem „Einsatz“ des Wärmeerzeugers von etwa 25 Minuten bei einer Leistungsaufnahme von knapp 5,7 kW macht das pro Sonnentag 2,375 kWh. Angenommen, das passiert jeden vierten Tag sind das pro Jahr etwa 91 Tage, also 216 kWh im Jahr. Bei eher optimistischen 25 ct/kWh ergibt das 54 Euro – pro Jahr. Sinnlos verheizt.

Man sollte die beiden Geräte einfach miteinander sprechen lassen: Wenn die Solaranlage aktiv ist, soll die Wärmepumpe ruhe geben. Das kann eigentlich nicht allzu schwierig sein – die Wärmepumpe hat zum Umschiffen von Lastspitzen einen Freigabekontakt fürs EVU sowie einen Schalter vorne am Gerät für eine manuelle Freigabe, was im Schaltplan in etwa wie folgt aussieht:

Auf der anderen Seite ist der Solarregler von Viessmann/Resol. Einfach ein Relais parallel zur Wärmetauscher-Pumpe anzuschließen geht leider nicht, da die Pumpe mit Pulspaketsteuerung betrieben wird. Solch ein Signal auf die Freigabesteuerung zu geben wäre zumindest „interessant“, aber nein. Natürlich könnte man mit einem abfallverzögerten Relais oder mit ein bisschen basteliger mit Netzteil und nachgeschalteter Glättung arbeiten, aber das muss nicht sein: Der Solarregler ist für solche Fälle vorbereitet und unterstützt eine Funktion namens Parallel-Relais. Dabei wird bei Pumpenaktivität ein weiteres (Um-)Relais aktiviert.

Prima, damit könnte man einfach den L1 vom Schaltplan oben ersetzen und alles ist hoppi-galoppi! Meines Erachtens nicht ganz. Ich möchte die Systeme sinnvoll „isoliert“ haben. Deswegen ist bei einer kleinen Shoppingtour ein Steuer-Relais im Warenkorb gelandet, das wie folgt in Reihe geschaltet wurde:

Der Kontakt des Relais ist als Öffner ausgeführt, damit das Relais nur bei aktiver Solaranlage bestromt werden muss. Zusätzlich ist ein Schalter zur Übersteuerung des Relais eingebaut, für den Fall, dass etwas unvorhergesehenes mit der Solaranlage ist und man der Wärmepumpe auf jeden Fall eine Freigabe erteilen kann.

Der Auf- bzw. Umbau sieht entsprechend unspektakulär aus – die zweite Baugruppe von links ist neu:

Das Einzige was vom Umbau zeugt ist der Schalter und die Beschriftung, die nicht ganz zum Rest passen:

Einen Tag nach dem Umbau zeigte sich beim Monitoring folgendes Bild:

„Wie Sie sehen, sehen Sie nichts“ – obwohl man behaupten könnte, dass die Puffertemperatur oben den Einschaltpunkt des WP-Reglers nicht getroffen hat: die Kontrolllampe am Hilfsrelais leuchtet, sobald die Solaranlage loslegt und die Wärmepumpe bleibt ruhig, wie an der bei 0 bleibenden Temperaturdifferenz zu sehen ist. Nicht nur an diesem Tag, sondern auch an den darauf folgenden.

Zugegeben: Technisch ist das weder kompliziert noch besonders intelligent, aber man muss es halt einfach erkennen und machen – „why fix it if it ain’t broken?“

Universalsteckerleiste

An solche Situationen erinnert man sich Anno 2021 schon fast nicht mehr: Fremdes Land und zu viele Geräte, die Energiebedarf haben. Im Hotelzimmer: nur eine halbwegs erreichbare Steckdose. Da muss man sich schon fast den Wecker stellen, um alle Akkus über Nacht geladen zu bekommen.

Sollte man zwar eine hinreichend viele Steckdosen haben, scheitert es im nächsten Schritt: Anderes Steckersystem und nur ein Universaladapter. Man könnte Nagelknipser oder Büroklammern in Form bringen – aber ehrlich gesagt, dann kann man auch gleich einen Vilkus nehmen.

Vor meiner letzten – leider vorerst letzten – Langstrecken-Reise (bei der wir vermutlich in Haaresbreite daran vorbei geschrammt sind, eine böse Überraschung mit nach Hause zu bringen) wusste ich, dass es einiges geben wird, was gleichzeitig an die Steckdose will.

Die Überlegung war einfach wie fatal: was ist der kleinste gemeinsame Nenner? Kaltgerätestecker! Also einfach eine schwedische Dosenleiste mit einem Kaltgerätestecker (C14) verheiratet und eine passende Zuleitung mit B-Stecker für die USA besorgt.

Insgesamt wurden es dann 3 Varianten: einfache Schuko-Kupplung, 3-fach- und 6-fach-Steckerleiste:

Auch wenn man nicht genügend (oder keine) Zuleitungen mit örtlichem Stecker hat sind die Adapter nützlich: entweder man holt sich beim lokalen Elektronikmarkt was oder man bedient sich der Stromversorgung von sowieso nicht genutzten Geräten, wie dem Fernseher im Hotelzimmer.

Ob solch ein Aufbau auch nur annäherungsweise VDE-zulassungsfähig ist, konnte (und habe) ich noch nicht ergründet – ist aber auch egal, wird ja nicht hierzulande verwendet ;). Abgesehen davon: wer schon so manche E-Installation in Urlaubsländern gesehen hat: das hier dürfte vermutlich das geringste Problem darstellen.

Unter den Kollegen sorgte die Anordnung übrigens erst für irritierte Verwunderung und dann für Begeisterung – zumindest so viel, wie man einer Steckdosenleiste zusprechen kann.

AVR, ferngesteuert

Die AVRs der 0/1-Serie verwenden zum Programmieren und Debuggen UPDI, welches etwas vereinfacht gesprochen ein auf UART basierendes Protokoll ist.

Dementsprechend hat es nicht lange gedauert, bis es pyupdi entstanden ist. Mit diesem Tool bzw. Library reicht eine serielle Schnittstelle vom PC (mit TTL-Level) und ein Widerstand, um Programmcode auf den Mikrocontroller zu bekommen.

Neben den Programmierfunktionen bietet die Schnittstelle ebenfalls die Möglichkeit zu Debuggen. Zu dem Funktionsumfang gehört gleichermaßen das Auslesen und Schreiben von Registern. Warum das nicht einfach nutzen, um direkt über den PC die Ports und Peripherie-Module des Chips zu verwenden?

Das Schreiben und Lesen im Adressraum der CPU sind gut dokumentiert, der einzige Haken ist, dass eine etwaig geflashte Firmware weiterläuft und einem die Suppe versalzen kann (oder andersrum). Zum Debuggen gehört natürlich auch, die Ausführung der CPU anzuhalten, wozu ich allerdings keine Dokumentation bzw. Informationen finden konnte. Aber macht nichts, einiges vom Protokoll ist ja bekannt und ein bisschen Reverse Engineering bin ich ja nicht abgeneigt. Unterm Strich ist es anscheinend recht trivial: Es muss ein Key geschrieben werden und in ein „reserviertes“ Control-Register eine 1 zum Anhalten und eine 2 zum Ausführen schreiben.

Mehr Details und ein kurzes Demo-Video ist im updizombie-Repository zu finden.