Um JSON Files zu bearbeiten, gibt es das JSON-PlugIn. Damit können JSON-Dateien bearbeitet werden und auch die Syntaxhervorhebung ist schön.
„JSON Editor Plugin für Eclipse (Mars.2 Release (4.5.2))“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Anleitungen zu allen Themen.
Um JSON Files zu bearbeiten, gibt es das JSON-PlugIn. Damit können JSON-Dateien bearbeitet werden und auch die Syntaxhervorhebung ist schön.
„JSON Editor Plugin für Eclipse (Mars.2 Release (4.5.2))“ weiterlesen
Manchmal möchte man auch in openHAB die Wetterdaten des Heimatortes (oder auch jeden exbeliebigen Ort) anzeigen und dann bei Frost oder so über Regel reagieren wie z.B eine Nachricht versenden.
Das abfragen von Wetterdaten geht mit der API von OpenWeatherMap. Dort können kostenlos bis zu 60 Abfragen pro Minute gemacht werden. In einer Sekunde ändert sich das Wetter in der Regel nicht wesentlich. Ich frage eh nur alle halbe Stunde die aktuellen Daten ab.
Also zuerst anmelden bei OpenWeatherMap und den API Key in die openhab.cfg Datei kopieren: „Raspberry Pi: Wie können Wetterdaten in openHAB von OpenWeatherMap angezeigt werden?“ weiterlesen
Node-RED, ein Tool von IBM mit einem grafischer Editor als Herzstück. Damit geht Programmiern sehr flink.
Node-RED läuft auf dem Raspberry Pi (BPlus) ziemlich gut. Die Installation ist gut auf der node-RED Homepage beschrieben oder auch hier auf deutsch. Man muss nur darauf achten, das die richtige Version für den Raspberry Pi gewählt wird. Ich hatte nicht die Version für die B Version installiert, das führte dann beim starten zu einer Fehlermeldung.
Also für den Raspberry Pi (B) wie hier beschrieben vorgehen: „Node-RED von IBM für den Raspberry Pi auf Jessie“ weiterlesen
Kann unter OpenHAB auf einem Raspberry Pi mit Homematic/Homegeare und FS20 Binding gleichzeitig über einen CUL betrieben werden? Die kurze Antwort: Leider NEIN.

Und hier die lange Beschreibung mit Vorgehen. „Kann OpenHAB auf einem Raspberry Pi gleichzeitig Homematic/Homegeare und FS20 Binding über einen CUL verwenden?“ weiterlesen
Manchmal möchte man openHAB einfach über die Oberfläche neu starten. Das geht wie folgt.

Zuerst eine System.rules Datei im rules Verzeichnis erstellen, mit dieser Regel:
„Raspberry Pi: Wie kann in openHAB ein restart Schalter eingebaut werden?“ weiterlesen
Wer eine Fritzbox hat, kann dort auch Telefonbücher anlegen, so das beim Anruf eine E-Mail versendet wird. Bei mir wird bei Anruf auch eine Pushover Nachricht auf das Handy gesendet und der Name und die Nummer mit openHAB via Karotz angesagt, so das ich schon hören kann, wer anruft.

Das läuft über das openHab Fritzbox 064 Binding ganz gut. Von dem Bindig wird aber bisher nur das erste Telefonbuch aus der Fritzbox ausgelesen. Wer ein anderes benutzt muss die Daten exportieren und in dem ersten Telefonbuch wiederherstellen, da es keine löschen Funktion in der Fritzbox gibt.
Bei mir war noch das Problem, das viele Telefonnummern (über 600) Blanks, Bindestriche und Klammern enthielt. Z.B. (0)511-123 456 und die wird bisher in dem Binding nicht erkannt. Deshalb habe ich einen kleinen Konverter geschrieben, der alle Blanks, (,),- löscht und auch alle Nr. die kein +49 haben und mit 0 beginnen mit dem gültigen prefix +49 ohne 0 ergänzt. Weitere Regeln können leicht angepasst werden.
In diesem Java Programm, kann man auch sehen, wie mit einem SAXBuilder ein JDom Dokument erzeugt gelesen und verändert werden kann. Hier das Programm: „Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder“ weiterlesen
Wie sieht denn morgens so der Stromverbrauch aus?

Eine Tasse Kaffee zwei Toast und etwas Staubsaugen muss auch sein.
Hier das Diagramm, das mit openHab auf einen Raspberry Pi und einer Homematic Steckdose vermessen wurden. „Leistungsmessung (Kaffee, Toast, Staubsaugen) am morgen mit OpenHab und Raspberry Pi“ weiterlesen
Auf dem Raspberry Pi läuft openHab. Wie können da die Wemo Geräte eingebunden werden.
Zuerst die Wemo Binding installieren mit
|
1 |
sudo apt-get install openhab-addon-binding-wemo |
und dann im Log nach den erkannten Geräten suchen. Dann eine Wemo.items Datei anlegen mit diesem Inhalt (Sensor Nr. anpassen)
|
1 2 3 4 5 |
// Netz Schalter Switch wemoSchalter "Wemo Schalter" {wemo="Socket-1_0-1111111111111"} // Bewegungssensor wenn bewegung erkannt 1 sonst 0 Switch wemoBewegung "Wemo Bewegung [MAP(an-aus.map):%d]" {wemo="Sensor-1_0-1111111111111"} |
Und in der Sitemap Datei
|
1 2 3 4 |
Frame label="Wemo" { Switch item=wemoSchalter Text item=wemoBewegung icon="selfMotion" } |
Im Transform Verzeichnis noch eine an-aus.map Datei anlegen mit diesem Inhalt:
|
1 2 |
1=An 0=Aus |
Schon ist der Netzschalter und der Bewegungsmelder aktiv:
Vor einiger Zeit hatte ich schon mal beschrieben wie man die Flugzeugsignale (Transponder) mit dem Raspberry Pi empfängt und nach Flightradar24.com, de.FlightAware.com und Planefinder.net gleichzeitig senden kann. In der Zwischenzeit gibt es Debian mit der Version Jessie und einige neue Versionen der Feed-Software. Hier nun eine Anleitung wie in ca. 1 Stunde alles auf einem Raspberry Pi installiert werden kann. Zuerst einmal ein Architektur Überblick:
Wie kann an einem Raspberry Pi auf dem openHab unter Debian Jessie läuft, die Homematic Geräte mit einem CUL angebunden werden. Da meine Homatic Geräte alle unter Fhem liefen, musste jedes Gerät resetet und neu gepeert und angelernt (gepairt) werden. Und es soll die Heizung, Brandmelder, Leistungsmesser und die Tür und Fensterkontakte ja laufen, sonnst kommt noch jemand ungebeten ins Haus 😉
Dabei muss man darauf achten, zuerst die Schalter mit den Heizungsventilen zu pairen und dann zum Schluss an die CUL Zentrale pairen. Anders läuf es nicht. Auch ist es wichtig, die für das Betriebssystem richtige Homegeare Version zu installieren.
„OpenHab: CUL an Homematic über Homegear auf dem Raspberry Pi unter Debian – Jessie“ weiterlesen
Auf der Website taeglicheszit.at gibt es täglich ein Zitat des Tages. Für diesen Service gibt es auch eine JSON Schnittstelle.
Die kann wie folgt genutzt werden, um täglich das Zitat anzusagen und per pushover zu versenden.
Voraussetzung ist das OpenHAB installiert ist und läuft.
Dann eine Karotz.items Datei im items Verzeichnis anlegen mit dem Inhalt von zwei Variablen für das Zitat und den Autor:
|
1 2 |
String ZitatDesTages "[%s]" { http="<[http://taeglicheszit.at/zitat-api.php?format=json:86400000:JS(getZitatDesTages.js)]" } String ZitatDesTagesAutor "[%s]" { http="<[http://taeglicheszit.at/zitat-api.php?format=json:86400000:JS(getZitatDesTagesAutor.js)]" } |
Die Variablen werden einmal am Tag automatisch aktualisiert.
Dann brauchen wir noch zwei Dateien im transform Verzeichnis für die JSON Auswertung: getZitatDesTages.js mit dem Ihhalt
|
1 |
JSON.parse(input).zitat; |
und getZitatDesTagesAutor.js mit dem Inhalt
|
1 |
JSON.parse(input).autor; |
Wie kann der Karotz
in der Hausautomatisation eingesetzt werden?
Der Karotz kann die Uhrzeit ansagen, Radio und MP3 Dateien abspielen, RFID Tags lesen, ein Signal LED schalten, Fotos machen, Videos aufnehmen und vieles mehr. Hier mal die Steuerungsseite die ich mit openHAB für den Karotz erstellt habe:
Wie wird der Karotz nun von einem Raspberry Pi über openHAB angesteuert? „Wie wird der Karotz von einem Raspberry Pi über OpenHAB angesteuert?“ weiterlesen
Wer schnell auf der Konsole seines Raspberry Pi oder Mac (da heißt es cal), einen Kalender anzeigen will, kann das schnell mit
|
1 |
ccal |
machen. CCAL ist ein direkter Ersatz für das Standard-Kalenderprogramm von Unix. Es unterstützt Farben und die tägliche, wöchentliche und jährliche Erinnerung an Termine.
Einfach auf der Konsole
|
1 |
ccal |
eingeben und schon erscheint dieser schöne Kalender:
Es geht noch besser, ein ganzes Jahr mit „Wie kann ein Kalender auf der Konsole eines Raspberry Pi mit ccal unter Jessie angezeigt werden?“ weiterlesen
Wie hier schon öfter mal beschrieben, nun eine aktuelle Version unter Jessie.
Debian Raspbian Jessie Lite laden und auspacken
„Wie läuft die Installation von OpenHAB auf einem Raspberry Pi unter Jessie?“ weiterlesen
Wie kann man schnell von der Komandozeile das Wetter grafisch abfragen? Das geht mit finger. Wenn finger noch nicht installiert ist ein „Mit dem Internetprotokoll finger das Wetter (Temp. in Celsius, Wind usw.) auf dem Raspberry Pi, Windows, Linux oder Mac anzeigen“ weiterlesen
Seit ein paar Wochen gibt es eine neue Version von des Virtual Radar Servers. Wie wird eine vorhandene Installation die auf einem Mac OS X läuft und Daten von einem Raspberry Pi empfängt nun aktualisiert?
Was ist Neu? „Wie wird VirtualRadar auf die Neueste Version 2.3.1 upgedated?“ weiterlesen
Bei mir läuft nun seit einigen Wochen die Dump1090 dev1.15 Version auf dem Raspberry Pi. Wie kann diese nun aktualisiert werden?
Wie hier schon kurz beschrieben, „Dump1090 auf dem Raspberry Pi aktualisieren (da Lufthansa und UFO sich ja näher kommen)“ weiterlesen
Was ist zu tun, wenn auf einem Raspberry Pi bei einem
|
1 |
sudo apt-get update |
der folgende Fehler erscheint:
„GPG error: http://repo.mutability.co.uk wheezy Release: The following signatures were invalid: KEYEXPIRED“
Da ist ein GPG Key abgelaufen. Der Key kann wie folgt aktualisiert werden: „Was ist zu tun, wenn auf einem Raspberry Pi bei apt-get update der folgende Fehler erscheint: „GPG error: http://repo.mutability.co.uk wheezy Release: The following signatures were invalid: KEYEXPIRED““ weiterlesen
Wollt mal wissen, wie weit maximal der Transponderempfang von Flugzeugen von Langenhagen mit dem Raspberry Pi aus möglich ist. Der max. Empfang hängt von der Erdkrümmung und dem Gelände ab. Wenn Berge vor der Nase sind, ist in die Richtung leider kein Empfang möglich. Aufgrund dieser Umstände ist nicht mehr als 450 Km / 250 nautical miles möglich.
Um diese Frage zu beantworten gibt es die Seite heywhatsthat.com.
Dort kann man sich eine Grafik generieren lassen.
1. http://www.heywhatsthat.com/ aufrufen und auf den Tab oben New Panorama klicken.
2. Dann die latidude und longitude eingeben, oder den Ort suchen lassen. Dann unter 3. die Höhe der Antenne in Meter angeben. Bei 4. kann noch ein frei zu wählender Titel eingegeben werden. Unter der Grafik auf Metric stellen und auf Submit request klicken.
Dann kommt für 2 Minuten ein Werbebanner und dann die Ergebnisseite. „Raspberry Pi Dump 1090: maximaler Transponder Empfang“ weiterlesen
Manchmal will man die manpages offline lesen.
Da bietet sich das PDF Format an. Eine manpages als PDF kann leicht erzeugt werden mit:
|
1 2 3 |
man -t [Name des Programm bzw. Befehlt] | ps2pdf - > [Name der PDF Datei die erzeugt wird] # z.B. für rrdtool man -t rrdtool | ps2pdf - > rrdtool.pdf |
Die UML 2.5 Umgebung Papyrus läuft auch unter Eclipse Mars.1 und bietet u.a. folgende Diagramme:
Die Installation läuft „Papyrus 1.1.3 UML 2.0 Designer läuft auch unter Eclipse Mars.1“ weiterlesen
Für die aktuelle Eclipse Mars.1 Version
gibt es einen kostenlosen UML 2.5 Designer. Mit ihm können ua. folgende Diagramme modelliert werden, wie auf der Homepage zu sehen:
„UML Designer 5.0 für Eclipse Mars.1 installieren“ weiterlesen
Ja, wie können Flug Diagramme in Fhem integriert werden?
In diesem Blogbeitrag wurden Flugdiagramme erstellt. Wie können die nun z.B. so in Fhem integriert werden?
Die Diagramme einfach als Weblink in der fhem.cfg einfügen: „Raspberry Pi: Wie können Flug Diagramme die mit RRDtool erstellt wurden in Fhem integriert werden?“ weiterlesen
Der beginn eines neuen Jahres ist auch ein guter Zeitpunkt, für die Erfassung von einigen Flugdaten die der Raspberry Pi empfängt, wie z.B. ADS-B Message Rate, ADS-B Anzahl Flugzeuge, ADS-B max. Bereich, ADS-B Tracks, CPU Temperatur mit RRDtool (Round-Robin-Database) zu verarbeiten.

Es gibt da ein gutes Script, welches die Installation erleichtert und Diagramme wie z.B. dieses von Silvester auf Neujahr in Hannover erstellt:
Und so wird es installiert „Raspberry Pi: Coole DUMP1090 Diagramme zur Flugstatistik mit rrdtool“ weiterlesen
Seit dem 24.12.2015 gibt es eine neue Piaware Software. Mit folgenden Kleinigkeiten ab 2.1.4
Wir wird die Version nun upgedated? Einfach auf der Pi Konsole:
|
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get upgrade # Programm downloaden wget http://flightaware.com/adsb/piaware/files/piaware_2.1-5_armhf.deb # neue Version updaten sudo dpkg -i piaware_2.1-5_armhf.deb # und ein Restart sudo /etc/init.d/piaware restart |
Dann auf der Seite checken, ob die neue Version erkannt wird:
Super, das läuft. Auch werden jetzt ab dem 18.12.2015 die MLAT Verbindungen angezeigt. „Raspberry Pi: Wie wird das letztes Update in 2015 für Piaware 2.1.5 installiert“ weiterlesen
Mal was anderes als Java. Die Programmiersprache COBOL läuft auch auf dem Raspberry Pi. Es gibt eine kostenlose Version, GnuCobol das in 5 Minuten installiert werden kann.
|
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install open-cobol |
Es wird die Version 1.1.0 von GnuCobol (OpenCobol) installiert. Dass kann man leicht auf der Konsole testen mit:
|
1 |
cobc -V |
So, nun wollen wir wie üblich erst einmal ein erstes COBOL Programm compilieren. Dazu erstellen wir die hello.cob Datei mit diesem Inhalt:
|
1 2 3 4 5 6 |
000100* hallo.cob GnuCobol Beispiel 000200 IDENTIFICATION DIVISION. 000300 PROGRAM-ID. hallo. 000400 PROCEDURE DIVISION. 000500 DISPLAY "Hallo Welt". 000600 STOP RUN. |
„Raspberry Pi: COBOL in 5 Minuten installieren oder „Back to the Future““ weiterlesen
Installieren eines mosquitto Servers auf dem Raspberry Pi geht in 10 Minuten aber die weitere Konfiguration dauert dann schon ein wenig. Ziel dieses Blog Eintrags soll es sein, das Fhem über den MQTT-Server liest.
Später kommt dann ein ESP8266 der das Klingelsignal an der Haustür aufnimmt und drahtlos an Fhem via MQTT sendet. Hier mal die Architektur:

Aber jetzt erst einmal die Vorarbeiten:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
sudo apt-get update sudo apt-get upgrade # die schnelle Version, installiert den mosquitto Broker in Version 0.15 und den Client sudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl mosquitto-clients # Optional, wer den aktuellsten 1.4.5 MQTT Broker haben will, muss ihn wie folgt aus dem mosquitto Repo installieren: wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list # oder für jessie sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list sudo apt-get update sudo apt-get install mosquitto # Test ob der Server läuft sudo service mosquitto status # Starten und Stopen geht so sudo service mosquitto stop sudo service mosquitto start # Perl Version ausgeben perl -v # Ausgabe: This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int # Perl MQTT Module installieren, das dauert ein wenig sudo cpan install Net::MQTT:Simple sudo cpan install Net::MQTT:Constants # In der Fhem.cfg das Gerät wie folgt angeben define klingel dummy define mqtt MQTT 127.0.0.1:1883 define mqtt_klingel MQTT_BRIDGE klingel attr mqtt_klingel subscribeSet fhem/flur/klingel/set attr mqtt_klingel publishState fhem/flur/klingel attr mqtt_klingel room Flur # Fhem restart sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem start |
So, nun ist das MQTT Gerät vorhanden:
„Raspberry Pi: MQTT Server mosquitto installieren und Daten in Fhem über MQTT empfangen oder „Wie werte ich Haustür klingeln aus?““ weiterlesen
Wer Lua Scripte in den ESP8266 Flashen will, kann den kostenlos erhältlichen ESPlorer installieren. Da es ein Java Programm ist, läuft es auf Windows, Mac und Linux. Bei mir läuft es im Moment unter Mac OS X El Capitan super.
Die Installation ist einfach.
Es muss nur von dieser russischen Seite das aktuelle Archive geladen werden und nach dem entpacken das ESPlorer.jar mit einem doppelklick gestartet werden. Java muss natürlich installiert sein. Nach dem Starten finden wir eine schöne GUI vor.
Es können nun mit Syntax Hervorhebungen Lua-Scripte geschrieben und einfach hochgeladen werden. Auch einige andere nützliche Funktionen sind vorhanden. Hier ein teil der Orginal Feature Liste: „ESP8266: ESPlorer für Lua Scripts“ weiterlesen
Wollte schon immer mal LUA in den ESP8266 flashen. Um billig mit einem Reed-Kontakt und einem Server den Status des Schalters drahtlos über WLAN abzufragen.
Also erst einmal eine LUA Firmware für den ESP8266 „bestellt„, da ich keine Lust hatte es selbst zu kompilieren.

Dazu hier einfach die E-Mail Adresse angeben und die default Einstellungen absenden. Nach ein paar Minuten kommt der Link per E-Mail: „Wie kann LUA vom Mac in den ESP8266 geflasht werden um einen Reedkontakt per WLAN abzufragen?“ weiterlesen
Wie kann das Flashen eines ESP8266 von einem Mac laufen?
Wie hier beschrieben brauchen wir pyserial und esptool. Die werden wie folgt installiert:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# pyserial # Verzeichnis erstellen und rein wechseln mkdir pyserial cd pyserial/ # Aktuelles Archive holen von https://pypi.python.org/pypi/pyserial wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz # auspacken sudo tar -xzf pyserial-2.7.tar.gz # in das Verzeichnis wechseln cd pyserial-2.7 # Installieren sudo python setup.py install # in das Verzeichnis wechseln cd pyserial-2.7 # Testen, mal alle Ports ausgeben python -m serial.tools.list_ports # Ergebnis: die Seriellen-Ports des Systems # ... # /dev/cu.usbserial # 3 ports found # Es gibt auch ein kleines Konsolen Terminal Programm, Miniterm, das kann wie folgt aufgerufen werden: python -m serial.tools.miniterm /dev/cu.usbserial -b 115200 # Ausgabe der AT Befehle: |
|
1 2 3 4 5 6 7 8 9 |
# esptool # Verzeichnis erstellen und rein wechseln mkdir esptool cd esptool # Esptool landen git clone https://github.com/themadinventor/esptool.git cd esptool # Testen, ausgeben der Programm Parameter python esptool.py -h |
Flashen einer neuen Firmware
Erster Versuch soll mal die MicroPython Firmware von hier sein.
So nun kann die Firmware geflasht werden. Dazu das Archive downloaden und in das Verzeichnis des esptool kopieren.
Vor dem Flashen muss der ESP noch in den Flash Modus geschaltet werden. Dazu den GPIO 0 auf Masse mit einem Pullup von 1KOhm gegen Plus schalten.
Dann das flashen starten:
|
1 2 3 4 5 6 |
python esptool.py -p /dev/cu.usbserial write_flash 0x00 firmware-combined.bin Connecting... Erasing flash... Wrote 318464 bytes at 0x00000000 in 31.0 seconds (82.2 kbit/s)... Leaving... |
Ok, das Flashen hat geklappt. Nun den Pin GPIO 0 wieder mit einem 10 KOhm an Plus 3,3 Volt legen und starten.
Nun mit einem Terminal Programm verbinden:
|
1 |
python -m serial.tools.miniterm /dev/cu.usbserial -b 115200 |
und schon haben wir MicroPython auf dem ESP. Ein erster Check mit
|
1 2 |
print("Hallo Welt, ich bin MicroPython vom ESP8266") Hallo Welt, ich bin MicroPython vom ESP8266 |
Oder ein Soft-Reset mit den Tasten Ctrl+D ausführen:
|
1 2 3 4 5 |
PYB: soft reset >>> Micro Python v1.4.2-99-g6738c1d on 2015-05-12; ESP module with ESP8266 Type "help()" for more information. >>> |
Welche Firmware ist noch gut? Oder welches Python Script ist nützlich?