Treibt ABBA – „Don’t Shut Me Down“ den BTC Kurs auf über 50 k ?

Wer kennt nicht das Problem. Man wartet auf den Eingang einer Zahlung oder auf das neue ABBA Album und schaut mehrfach ob sie/es schon da ist.

Oder wie lautet mein Kontostand?

Oder auch in diesem Fall, gib mir eine Nachricht, oder schalte den Button grün, wenn eine „Buy me a Coffee“ Spende eingegangen ist.

Oder mache das Licht an, wenn eine BTC Zahlung eingegangen ist. Oder für Hochzeit, den QR-Code neben der Kamera aufhängen und bei einzahlung ein Foto auslösen 😉

Oder, oder oder … „I Still Have Faith In You“ …

All das macht dieser kleine Flow. Und warum soll das Dashboard nicht den Kontostand anzeigen?

„All the things I could do
If I had a little money
It’s a rich man’s world
Money, money, money
Must be funny
In the rich man’s world
Money, money, money
Always sunny
In the rich man’s world
Aha

Die Funktion ist einfach, in dem Funktions-Node die BTC Adresse eingeben. Die wird dann über die Web-API von https://mempool.space/ abgefragt. Ohne Anmeldung und Paswort möglich. Und schon kann man alles schalte was man will in Abhängigkeit des Kontostand! Cool. Bin ja gespannt, wann der obere Button für den Kaffee eine Aktion auslöst.

Das kanns Du leicht über die Buy my a coffee: bitcoin:bc1qj4grttyhk2h5wqask3nku70e3qtycssz5kvw5l tun. … I Still Have Faith In You „Treibt ABBA – „Don’t Shut Me Down“ den BTC Kurs auf über 50 k ?“ weiterlesen

Java: Array von Dubletten und null entfernen mit HashSet und zurück

Gesund oder Krank - Impfbeginn in Deutschland

Ergebnis: „Java: Array von Dubletten und null entfernen mit HashSet und zurück“ weiterlesen

CO2-Ampel Auswertung

Hier mal die Auswertung zur CO2-Ampel die auf einem Raspberry Pi läuf. Von fast einem halben Jahr Dauerlauf (23.1.-5.6.2021) im Arbeitszimmer mit max. 2 Personen mit 374374 Messwerten (jede Minute). Der Mittelwert beträg 693 ppm. Da hätte ich jetzt weniger erwartet, da ich immer rechtzeitig gelüftet habe, wenn ich einen zu hohen Wert gesehen haben.

Max. 2515 ppm und min wie nicht anders zu erwarten 400 ppm.

Ergebnisse der Umfrage oder finde Dubletten auf dem Raspberry Pi mit fdupes

Vielen Dank für das Feedback zu meiner kleinen Umfrage. Für mich ist es sehr interessant, das über 85 % der Teilnehmer mehr zum Thema Raspberry Pi haben wollten. Auf Platz 2 folgt NodeRed / Hausautomatisation mit 60 %. Platz 3 Planespotting mit 24 %. Was mich aber erstaunt, ist die Altersstruktur der Leser, das ich mal mit „für Ältere“ zusammenfassen möchte:

Dann mal gleich was zum Pi, läuft aber auch auf dem Mac. Wie finde ich doppelte Dateien auf dem Rechner? Wenn es große Videos oder Bilder sind, wird auch viel Speicher verbraucht. Einfach das Tool fdupes installieren mit:

sudo apt install fdupes

Nun kann es auf Verzeichnisse angewendet werden. Z.B. im Verzeichnis wir mal das test-dubletten-suchen durchsucht was wie folgt aussieht:

Aufruf:

fdupes test-dubletten-suchen/ -r -1 -S

Ergebnis: … „Ergebnisse der Umfrage oder finde Dubletten auf dem Raspberry Pi mit fdupes“ weiterlesen

Git switch auf dem Raspberry Pi 4 B installieren – oder wie compiliere ich GIT

In der aktuellen Version von git auf dem Pi fehlt z.B. der git switch Befehl. Der ist zwar im Status: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
Deshalb will ich mal eben die aktuelle Version von Git auf einem Raspberry Pi 4 B installieren. Ich nehme mal die 2.30.0-rc1.

Das reicht für die meisten. Dann hat man aber nicht die aktuellste Version, die derzeit v2.30.0-rc1 ist. Wer aber z.B. experimentelle Befehle wie switch ausprobieren will, kann sich in 2 Stunden selbst auf einen Raspberry Pi Zero oder auf einem Pi 4 B in 10 Minuten eine Version zusammen bauen.

Hier kann man die aktuellste Version sehen https://github.com/git/git/releases:

Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden? Hier die Schritte: „Git switch auf dem Raspberry Pi 4 B installieren – oder wie compiliere ich GIT“ weiterlesen

PDF Dateien zusammenfügen und extrahieren auf dem Raspberry Pi 4 B mit pdfunite und pdfseparate

Manchmal möchte man schnell ein paar PDF Dateien in eine PDF-Datei zusammenfügen. Oder man möchte aus einer PDF-Datei eine Seite als PDF extrahieren. Das geht sehr einfach mit diesen Befehlen. Die Installation habe ich ja hier schon beschrieben.

Also nun zu den ersten Fall. Wir verwenden das pdfunite Programm:

Wir fügen drei PDF Dateien (Beispiel Dateien: bbom.pdf, important-job-factors.pdf (3 Seiten), perfusionindex.pdf) zu einer einzigen neuen Datei zusammengefügte.pdf zusammen: „PDF Dateien zusammenfügen und extrahieren auf dem Raspberry Pi 4 B mit pdfunite und pdfseparate“ weiterlesen

CO2 Podcast Folge 3: Script zur Sendung

Da nicht jeder meinen Podcast wenzlaff.de im Apple-Store, Spotify und bei Google abonniert hat (warum eigentlich nicht?) und es auch nicht hier online hören möchte:

Folgt nun hier das Script zur letzten Sendung als Text.
Die gestellten und beantworteten Fragen:

1. Was ist Kohlenstoffdioxid oder CO2?
2. Wie ist das vorkommen?
3. Wie ist die Bedeutung?
4. Wo wird CO2 verwendet?
5. Wie ist das vorkommen von CO2 in Räumen?
6. Was sind so normale Werte beim Atmen?
7. Gibt es eine Korrelation mit Bakterien und Viren wie Covid-19?
8. Wie teilt die DIN die Raumluft ein?
„CO2 Podcast Folge 3: Script zur Sendung“ weiterlesen

Weil heute Sonntag ist: Java CO2 MQTT Client

Weil heute Sonntag ist. „Freut euch immer„! Nun ein kleiner Java CO2 MQTT Client um auch auf allen Betriebssystemen mit Java die CO2 Daten zu empfangen. Nicht nur für den Raspberry Pi auch Mac und Windows (ungetestet;-)).

Das selbstausführende JAR laden (siehe unten) und starten mit:

java -jar TWCo2Monitor-0.0.1-SNAPSHOT-jar-with-dependencies.jar [PI-Rechner Name/Adresse]

Hier mal eine Ausgabe auf einem Raspberry Pi W Zero:

Der MQTT Client besteht nur aus ein paar Zeilen Java Code: „Weil heute Sonntag ist: Java CO2 MQTT Client“ weiterlesen

„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab

Teslas SpaceX-Astronauten sind nun von der ISS auf dem Rückweg zur Erde und werden heute Abend in Florida landen. Wer sich das live anschauen will, kann das über den live Stream der NASA um 20:48 Uhr tun.

Heimreise aus 400 Kilometern Höhe.

Mein Raspberry Pi trackt ja die Position der ISS wie hier berichtet.

Mit dem NodeRed-Flow wird ja ein Webservice für die Position verwendet und direkt abgefragt. Es gibt aber auch noch einen eigenen NodeRed Flow. Dieser Node, ist nicht defaultmäßig vorhanden und muss erst in NodeRed installiert werden (suche nach node-red-contrib-iss-location). Eine Code Analyse hat gezeigt, das der Node die gleiche OpenNoitify API abfragt. Die Parameter heißen bei der Rückgabe des Flows nur etwas anders: lon, lan, name (der name ist der Timestamp)

Hier nun der Code des Flow mit dem eigenen ISS Node (siehe Foto oben), der genau das gleiche tut wie der erste. Er schreibt die Positions-Daten der ISS in eine Datei im CSV-Format.

Und hier der ganze NodeRed-Flow zum importieren „„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab“ weiterlesen

Installieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero

Jekyll baut statische HTML-Webseiten anhand von einfachen Textdateien, die eingelesen werden. Dabei handelt es sich um Layout-Dateien und Inhaltsdateien. Jekyll generiert aufgrund der Layout-Vorlagen die statischen HTML-Webseiten. Das funktioniert sogar live während der Entwicklung, da Jekyll einen eigenen Server mitbringt.

Jekyll ist auf einem Raspberry Pi schnell installiert. Jekyll läuft unter Ruby und bietet eine Menge importer.

Dann musste ich noch in der Datei Gemfile.lock die Version i18n (1.8.2) setzen und in der Gemfile den Eintrag gem „jekyll“ machen.

Dann habe ich auch noch den Importer installiert: „Installieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero“ weiterlesen

Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter

Wer die Covid-19 Daten per Twitter als Online-Ticker für Deutschland haben will, kann mit dem Raspberry Pi und Node-RED den folgender Flow verwenden. Es werden jede Stunde die aktuellen Werte abgefragt, und bei Änderung per Twitter versendet. Hier der nötige Flow:

So sieht der Twitter Eintrag aus, er kann auch für alle Länder angepasst werden:

Hier der nötige Quellcode: „Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter“ weiterlesen

„Maven Command Plugin“ nun in Version 0.0.1 auf MavenCentral verfügbar

Das „Maven Command Plugin“ ist nun in Version 0.0.1 auf MavenCentral hochgeladen und verfügbar.

Über diese Koordinaten kann das Plugin eingebunden werden:

Und hier ist es zu finden:

Wie kann JSON in Java „schnell“ erzeugt werden?

Da heute ein arbeitsfreier Tag ist, schon mal eine kleine Vorbereitung („ARBEIT“) für den Einsatz im Projekt ab Montag. Da wollen wir JSON Objekte verwenden. Für die JSON Erzeugung mit Java gibt es viele Möglichkeiten und Libs. Hier mal ein kleines Beispiel mit der 68 kB großen json.org Lib.

Zuerst in der pom.xml die Lib eintragen:

und dann einen kleine JUnit 5 Test.

Also einfach ein JSONObject Objekt erstellen und mit put die Key und Value Werte eingeben. Für die put Methode gibt es viele Möglichkeiten: „Wie kann JSON in Java „schnell“ erzeugt werden?“ weiterlesen

Wie kann in Java ein ical Termin (ics Datei) erzeugt werden?

Wer mit Java ical Termine erzeugen will, kann das gut mit der ical4j Lib machen. Es muss dazu in der pom.xml dieser Eintrag hinzugefügt werden.

Dann wollen wir zuerst mal ein paar Zeilen für den JUnit Test dafür schreiben:

Wir brauchen noch die Kalender Klasse, die hier kopiert werden kann: „Wie kann in Java ein ical Termin (ics Datei) erzeugt werden?“ weiterlesen

Raspberry Pi: Um welche Uhrzeit wird immer der 1. Kaffee am Tag gekocht?

Gestern hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja von einem meiner Raspberry Pi erfasst.

Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der 1. Kaffee gekocht? Die Antwort im Durchschnitt um 6:54 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage)

„Raspberry Pi: Um welche Uhrzeit wird immer der 1. Kaffee am Tag gekocht?“ weiterlesen

Raspberry Pi: Der Kaffee (кофе) ist fertig

Habe ja schon einige Artikel über die Erfassung des Kaffee قهوة  verbrauches mit dem Raspberry Pi geschrieben. Jetzt aber mal eine kleine Auswertung  nach 612 Tage oder fast 2 Jahren. Erfasst wurden 2467 Tassen an 555 Tagen. Das macht einen Durchschnitt von etwas mehr als 4 Tassen Kaffee pro Tag die gekocht wurden, Tendenz steigend, aber nicht nur von mir getrunken wurde. Hier die ganzen Messwerte.

Details zum Aufbau mit Pushover benachrichtigung siehe in diesen Artikel.


Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone

Zeitzonen

Manchmal hat man Zeitangaben z.B. aus IOT Geräten in der Form eines Strings „2018-12-10 12:14:15 UTC“. Nun müssen die Zeitangaben die in UTC verwendet werden in die lokale Zeitzone für Europa/Berlin umgewandelt werden. Das ist in der Regel eine Stunde plus. Wie geht das aber mit der Java 8 API?

„Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone“ weiterlesen

Java 8 Quickie: Alle Zeitzonen mit getAvailableZoneIds mit Java ermitteln

Zeitzonen?

Wie können alle Zeitzonen mit Java ermittelt werden? Das geht mit der Methode getAvailableZoneIds der Klasse ZoneId. Die Methode ist thread save und der Set kann zukünftig noch erweitert werden. Bei mir ist er heute 600 Einträge (IDs) groß, wie dieser JUnit Test zeigt:

@Test
public void testGetAlleZeitzonen(){
List zeitZonen = new ArrayList<>(ZoneId.getAvailableZoneIds()); zeitZonen.stream().sorted().forEach(zone -> System.out.println(zone)); assertEquals(600, zeitZonen.size());
}

Das sind die Zeitzonen IDs:

„Java 8 Quickie: Alle Zeitzonen mit getAvailableZoneIds mit Java ermitteln“ weiterlesen

Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions und Filter

Wenn man mit Lambda über eine Collection iteriert, kann man auch gleich einen Filter verwenden. Was das mit der 20 zu tun hat, kommt am 1.12.2018 hier auf dem Blog 😉

Jetzt aber hier erst mal ein Beispiel zum Filter:

Und die nötige Mindmap BE Klasse: „Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions und Filter“ weiterlesen

Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?

Wie kann eine Vaadin Spring Boot mit Hibernate Anwendung auf JUnit 5 für Eclipse Oxygene 3A umgestellt werden?

1. Deaktivieren wir die JUnit (4.12) Libs in der pom.xml:

2. Fügen wir die nötigen JUnit 5 Libs in der pom.xml hinzu:

3. Wir fügen JUnit 5 dem Buildpfad hinzu:

Es sieht dann so aus:
„Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?“ weiterlesen

Wie können UML 2.0 Klassen-Diagramme mit Spring STS (Spring Tool Suite 3.9.4) erstellt werden?

Auch in der aktuellen STS Version, der Spring IDE kann das kostenlose UML Plugin installiert werden.

Es ist super fürs Reverse Engineering, um schnell einen Überblick zu erhalten.

Das Eclipse-Plugin ObjectAid installieren über die Install URL

http://www.objectaid.com/update/current

Dann einfach ein neues Objectaid Diagramm erstellen:

Auf dem Dialog ein paar Einstellungen oder die default belassen: „Wie können UML 2.0 Klassen-Diagramme mit Spring STS (Spring Tool Suite 3.9.4) erstellt werden?“ weiterlesen