Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?

Damit ich benachrichtigt werde, wenn die NSA oder jemand anders per SSH auf meinen Server einbricht, kann dieses Script dienen, welches eine Pushover Nachricht an das Handy oder iPad sendet wenn jeman sich per SSH auf den Raspberry Pi einloggt. Als Basis diente diese sehr ausführliche Seite die sowas mit Pushbullet realisiert hat.

Diese pushover-ssh.sh Datei „Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?“ weiterlesen

Klingel-Signal-Erkennung FS20 KSE an Sprechanlage für Pushover Benachrichtigung an iPhone auf dem Raspberry Pi via Fhem und CUL erstellen

Wollte schon immer auf meinem Handy benachrichtigt werden, wenn jemand an der Haustür klingelt. Bekomme nun immer eine Pushover-Benachrichtigung an alle iPhones und iPads. So kann man in den Keller oder in den Garten mit Handy gehen, und man erfährt, wenn der Postbote oder Besuch klingelt und der Raspberry Pi hat auch etwas zu tun.

Mit dem FS20 KSE geht das in nur 15 Minuten. Also die (alte) Sprechanlage 20140412-162749.jpg geöffnet. Von innen sieht sie so aus, voller Hightech: 20140412-162802.jpg

20140412-162817.jpg

Nun die zwei Drähte von der KSE an die passenden Kontakte geschraubt (parallel zum Summer), der andere Kanal bleibt leer. Spannungversorgung ist nicht nötig.20140412-162833.jpg
Alles wieder zuschrauben. In der fhem.cfg noch folgende Einträge machen und restarten:

# XXXX durch Hauscode ersetzen
define fl_klingel_1 FS20 XXXX 00
attr fl_klingel_1 IODev myCUL
attr fl_klingel_1 room Flur
attr fl_klingel_1 group Klingel

define FileLog_fl_klingel_1 FileLog ./log/fl_klingel_1-%Y.log fl_klingel_1
attr FileLog_fl_klingel_1 logtype text
attr FileLog_fl_klingel_1 room Flur
attr FileLog_fl_klingel_1 group Klingel

# XXXX durch Hauscode ersetzen
define fl_klingel_2 FS20 XXXX 01
attr fl_klingel_2 IODev myCUL
attr fl_klingel_2 room Flur
attr fl_klingel_2 group Klingel

define FileLog_fl_klingel_2 FileLog ./log/fl_klingel_2-%Y.log fl_klingel_2
attr FileLog_fl_klingel_2 logtype text
attr FileLog_fl_klingel_2 room Flur
attr FileLog_fl_klingel_2 group Klingel
#
# Benachrichtigung wenn es an der Haustür klingelt
# Folgende log Einträge werden geschrieben:
#
# 2014-04-12 12:09:21 FS20 fl_klingel_1 on
# 2014-04-12 12:09:21 FS20 fl_klingel_2 on
# 2014-04-12 12:09:22 FS20 fl_klingel_1 off
# 2014-04-12 12:09:22 FS20 fl_klingel_2 off

# -token- und -user- durch passende token und user ersetzen
define klingenOnPush notify fl_klingel_1:on* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel an' https://api.pushover.net/1/messages.json");;\
}
attr klingenOnPush group Klingel
attr klingenOnPush room Flur

# -token- und -user- durch passende token und user ersetzen
define klingenOffPush notify fl_klingel_1:off* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel aus' -F 'sound=siren' https://api.pushover.net/1/messages.json");;\
}
attr klingenOffPush group Klingel
attr klingenOffPush room Flur

Nach einem Restart sieht es in Fhem so aus:
Bildschirmfoto 2014-04-12 um 16.54.17

Für die Empfänger-Seite wird noch ein CUL USB-Stick benötigt
20140415-174204.jpgder wie folgt für den Empfang in Fhem eingebunden werden muss.

Wenn nun jemand an der Tür klingelt, wird innerhalb von ein paar Sekunden die Pushover-Benachrichtigung an das Handy versendet. Eine wenn der Klingeltaster gedrückt wird und eine wenn der Klingelschalter losgelassen wird. So sieht es auf dem iPhone aus:20140412-170739.jpgCool.

Jetzt fehlt noch der Rückkanal, das wenn jemand klingelt, der Summer betätigt werden kann. Dazu fehlt mir aber der drahtlose Empfänger mit Relais. Was könnte ich da nehmen?
20140415-174218.jpg

Java Rätsel des Monats

Wenn wir diese Java Klasse compilieren und ausführen:

Welche Lösung bzw. Aussage ist richtig?

1. Es wird immer folgende Ausgabe gemacht, egal was in der wieSiehtDieMethodeAus()
ergänzt wird:
Hallo Welt!
Hallo Welt!
Hallo Welt!

2. Es wird „nichts“ ausgegeben.

3. Es wird Hallo Welt! ausgegeben

4. Es kann durch Anpassung, nur in der Methode wieSiehtDieMethodeAus() folgende Ausgabe erzeugt werden?
Was in Java alles geht!
Was in Java alles geht!
Was in Java alles geht!

Dein Vorschlag in Form von 1,2,3 oder 4 bitte posten. Nur Mut!
Hier nun die Lösung:
„Java Rätsel des Monats“ weiterlesen

Wie wird wswebcam auf dem Raspberry Pi neu compiliert und installiert?

Mit sudo apt-get install fswebcam wird wie man mit fswebcam --version feststellen kann die Version von 2011 von fswebcam installiert:
fswebcam 20110717

Da meine alte Logitech Cam nicht läuft, habe ich erst einmal auf die neueste Version upgedated. Also die Quellen holen und neu compilieren mit:

Es wird folgender Error ausgegeben:
configure: error: GD graphics library not found

Also noch die libgd neu installieren mit:
sudo apt-get install libgd2-xpm-dev

Dann nochmal

ausführen.
Ok, Ausgabe nun:...
hecking for getpagesize... yes
checking for working mmap... yes
checking for gdImageCreateTrueColor in -lgd... yes
checking for gdImageStringFT in -lgd... yes
checking for gdImageJpeg in -lgd... yes
checking for gdImagePngEx in -lgd... yes

Buffer type ........... 16 bit
PNG support ........... yes
JPEG support .......... yes
Freetype 2.x support .. yes
V4L1 support .......... yes
V4L2 support .......... yes

configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Dann ein make zum compilieren und make install.
Dann checken ob die neue Version installiert wurde, mit
fswebcam --version Ausgabe:
fswebcam 20140113

Nun noch mit rm -rf fswebcam/ das Verzeichnis löschen.

Ok, die Cam wird erkannt, lsusb ergibt:
Bus 001 Device 004: ID 046d:0840 Logitech, Inc. QuickCam Express

Aber es kommt mit fswebcam test.jpg zu folgenden Fehler und es wird kein Foto erstellt:
Bildschirmfoto 2014-03-27 um 21.20.38
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 360x296.
Error starting stream.
VIDIOC_STREAMON: Broken pipe
Unable to use mmap. Using read instead.
--- Capturing frame...
Timed out waiting for frame!
Speicherzugriffsfehler

Da muss ich dann mal ander mal schauen, was das nun wieder ist.
Oder habt IHR eine Idee?

Fix, siehe diesen neuen Blogeintrag. Das müsste auch hier laufen, oder?

Wie kann auf einem Raspberry Pi die neueste Java 1.8 Version von Oracle installiert werden?

Zuerst das System des Raspberry Pi updaten und neu starten mit:

Schauen, welche Version jetzt installiert ist mit java -version:

Entweder über den den Packetmanager:

oder per Hand, dann so:

Dann das JDK 1.8 von der Oracle Seite downloaden. Die Seite wurde nach hier verschoben. Es wird die Linux ARM v6/v7 Hard Float ABI Version mit 83 MB benötigt.
Bildschirmfoto 2014-03-27 um 18.08.58

In das Download Verzeichnis wechseln und mit scp die Datei auf den rPi kopieren z.B.:

Dann in den rPi wechseln und und das Archive in das /opt Verzeichnis entpacken, das dauert ein paar Minuten:

Nun Java aktivieren und das Archive löschen mit:

Bildschirmfoto 2014-03-27 um 20.33.14
sudo update-alternatives --config java
# Auswahl 1 für Version 1.8 eingeben

Bildschirmfoto 2014-03-27 um 20.32.41

Und checken ob es geklappt hat mit java -version ergibt nun:

Java 1.8.0 ist nun erfolgreich installiert.

Wie kann Webmin auf einem Raspberry Pi auf die neueste Version (1.680.1) aktualisiert werden?

Den laufenden Webmin aufrufen mit https://{IP-Adresse}:10000/

Aktuelle Version von Webmin feststellen über die Webmin Download-Seite.
Dann über das Menü: Webmin-Webmin-Konfiguration->Webmin aktualisieren
Bildschirmfoto 2014-03-14 um 17.19.24
In den Webmin aktualisieren Dialog die Aktuelle URL eingeben:
http://prdownloads.sourceforge.net/webadmin/webmin_1.680_all.deb
Bildschirmfoto 2014-03-14 um 17.18.52
Dann auf Webmin aktualisieren klicken und ca. 10 min warten:
Bildschirmfoto 2014-03-14 um 17.18.24

Webmin ist echt cool! Oder?

Wie wird ein VdS-zertifizerter Funk-Rauchmelder #HM-SEC-SD von #HomeMatic in #Fhem auf einem #Raspberry Pi eingebunden?

Habe von meinen netten Kollegen einen Gutschein erhalten 🙂 Dafür habe ich mir ua. diesen Funk-Rauchmelder HM-SEC-SD gekauft, hier die Ansicht von hinten, mit eingelegten Batterien:

20140311-174018.jpg

So, mit zwei Schrauben hängt er nun im Server-Raum an der Decke …
20140311-174036.jpg

Jetzt noch nach dieser Anleitung in Fhem anmelden. Obwohl ich bisher nur einen Rauchmelder haben, ist er mit einem virtueller Aktor als Teamlead verbunden (Variante 2). So kann über set Rauchmelder_Team alarmOn der Alarm getestet werden:
Bildschirmfoto 2014-03-11 um 17.39.16
Aus gehts mit set Rauchmelder_Team alarmOff:
Bildschirmfoto 2014-03-11 um 17.38.58
Zuvor aber anlernen und peeren:

set HMLAN_1 hmPairForSec 600
define TeamDev CUL_HM 111111
set TeamDev virtual 1
set Rauchmelder_Team peerChan 0 az_Brandmelder single set

Bildschirmfoto 2014-03-11 um 17.37.00

Cool, jetzt kann der VdS-zertifizerte Funk-Rauchmelder
Bildschirmfoto 2014-03-11 um 18.15.30 von überall angeschaltet werden.

Aber erst noch eine Benachrichtigung bei Brandalarm versenden per Pushover. Dazu ua. in der fhem.cfg folgenden Code einfügen und den Token und User ersetzen:


# Benachrichtigung bei Brandmelder an
#

define pushBrandmelderAn notify az_Brandmelder:smoke-Alarm.* {\
system ("curl -s -F 'token=xxxxxxxxx' -F 'user=xxxxxxxxxx' -F 'message=Brandmelder Alarm' -F 'title=Fhem: Brandmelder ist an' -F 'priority=1' -F 'sound=1' https://api.pushover.net/1/messages.json");;\
}
attr pushBrandmelderAn group Brandmelder
attr pushBrandmelderAn room Arbeitszimmer

Kann dann so als Alarmmelder dienen.

Neue FritzBox Firmware 6.05 (eher Bug fix als Neue Features)

Es gibt eine neue Firmware für die FritzBox, mit diesen Angaben vom Hersteller:
Die Update-Datei "FRITZ.Box_7490.113.xx.xx.image" in
diesem Verzeichnis enthält das aktuelle FRITZ!OS (Firmware)
für die FRITZ!Box 7490.

Achtung: Diese Update-Datei ist nur für FRITZ!Box 7490 geeignet!
Beachten Sie die Hinweise zur Durchführung des Updates am Ende dieser Datei.

Produkt: FRITZ!Box 7490
Version: FRITZ!OS 6.05 (113.06.05)
Sprache: deutsch
Release-Datum: 06.03.2014

Neue Features: - Verbesserungen für DSL, Internet, WLAN, Telefonie, Sytem, Mediaserver und USB (6.05)
Version: FRITZ!OS 6.05 (113.06.05)
Sprache: deutsch
Release-Datum: 06.03.2014

Neue Features: - Verbesserungen für DSL, Internet, WLAN, Telefonie, Sytem, Mediaserver und USB (6.05)

Installation hat super geklappt.

Sieht aber eher nach einem Bugfix, als nach neuen Features aus.

Wie kann mit dem Mac OS X unter Eclipse ein JavaFX Programm erstellt werden, da Swing in Java 8 deprecated ist?

Es muss die JavaFX lib dem Classpath hinzugefügt werden. Die liegt auf dem Mac unter:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar

Dann z.B. ein Klasse von javafx.application.Application ableiten und die start Methode überschreiben. Wir wollen nur einen Button anzeigen, der seinen Text bei klick ändert. Hier der ganze JavaFX Code:


package de.wenzlaff;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

// Classpath um JavaFX jfxrt.jar ergänzen, es liegt in:
// /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar

public class StartFxGui extends Application {

private Button button;

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage stage) throws Exception {

button = new Button("Mein erstes JavaFX Programm!");
button.setOnAction(new EventHandler() {

@Override
public void handle(ActionEvent arg0) {
button.setText("cool");
}
});

VBox root = new VBox();
root.getChildren().add(button);
Scene scene = new Scene(root, 200, 200);
stage.setScene(scene);
stage.show();
}
}

Und hier das Foto mit dem Ergebnis:
Bildschirmfoto 2014-03-05 um 20.21.19

Was geschied wenn der Button geklickt wird?
Bildschirmfoto 2014-03-05 um 20.21.38

Wie kann das blinken der LED am CUL abgeschaltet und damit Strom gespart werden?

Wer einen CUL am Raspberry Pi hat wo Fhem läuft, den nervt evl. das blinken der LED.
Das kann aber mit dem folgenden Befehl abgeschaltet werden:

set myCUL led 00

Also mit zweimal 00 und dann auf set klicken:
Bildschirmfoto 2014-03-04 um 20.52.41

Man kann die LED auch wieder an oder auf blinken schalten mit:

aus 00
an 01
blinken 02

So kann man auch Strom sparen, immerhin 20 mA ;-). Das macht im Jahr wieviel?

Wie kann ich den die LEDs am rPi ausschalten?

Wie kann die neue SYSMON Funktion ShowValuesText auf den Fhem Server mit Raspberry Pi für Pushover und E-Mail genutzt werden?

Das coole Tool SYSMON im Fhem Server kann nun auch seit ein paar Tagen seine Informationen als Text mit der Funktion SYSMON_ShowValuesText wiedergeben. Diese Infos können dann wie hier als HTML Tabelle auch per E-Mail oder Pushover versendet werden:

Bildschirmfoto 2014-03-04 um 18.59.03

Ich habe es in meiner täglichen Pushover Benachrichtigung eingefügt, so bekomme ich immer um 12 Uhr diese Meldung direkt auf mein Handy bzw. iPad:
Bildschirmfoto 2014-03-04 um 18.57.50

Hier der entsprechende Code, für die fhem.cfg:

#
# Fhem: Um 12 Uhr täglich den rPi Systemstatus versenden
#
define pushSystmonStatus at *12:00:00 {\
my $sysinfo=SYSMON_ShowValuesText('sysmon', ('date:Datum', 'cpu_temp:CPU Temperatur: °C', 'uptime_text:System up time:', 'fhemuptime_text:FHEM up time', 'ram:RAM', 'idletime_text:idle time', 'stat_cpu_text:CPU'));;\
system ("curl -s -F 'token=-dein Token-' -F 'user=-dein User' -F 'message=$sysinfo' -F 'title=Fhem Systemstatus' http://api.pushover.net/1/messages.json");;\
}

Wenn man alle Parameter haben will, kann man auch einfach nur sysmon verwenden:
my $sysinfo=SYSMON_ShowValuesText('sysmon')
Für die Pushover Benachrichtigung wird aber nicht alles angezeigt, da die max. Anzahl an Zeichen bei 512 liegt. Aber für E-Mail oder andere Zwecke gehts.

Noch weitere Ideen?

Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden

Der CUL-V3-OEM CC1101 für 868 Mhz von Busware mit fester lambda/4 Mikroantenne wird ohne Firmware geliefert. CUL V3 – ATMega32U4 Prozessor, 2,5 kB RAM, 32 kB Flashmemory, 1 kByte EEPROM, Herstellungs Video):
20140303-205015.jpg

Zuerst muss also der CUL mit einer aktuellen Firmware geflasht werden, so wie
hier für Mac OS X beschrieben. Also die aktuelle culfw 1.55 Firmware oder neuer laden und in ein Verzeichnis entpacken.

Dann brauchen wir noch das Programm zum flashen der Firmware, welches wir mit
sudo port install dfu-programmer
auf der Konsole installieren können.

Testen ob der Programmer richtig installiert wurde geht mit
$ dfu-programmer
Ausgabe: „Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden“ weiterlesen

Eclipse (altgr. ἔκλειψη ‚Sonnenfinsternis‘, ‚Finsternis‘, ‚Verdunkelung‘) vs. Neumond lat. interlunium

Wer wissen will, wann Neumond bzw. Vollmond ist, kann die Daten von -2000 bis in das Jahr 4000 auf den Tabellen der NASA nachschlagen.

Z.b. im Jahr 2014:

und 2015

Die Daten sind da in UTC (koordinierte Weltzeit) angegeben. Für Deutschland muss dann zu den Zeitangabe noch zwei Stunden jeweils hinzugezählt werden. So das der Neumond 2014, der der Frühjahrs-Tagundnachtgleiche am nächsten kommt, auf den 30. März um 18:45+2= 20:45 Uhr fällt.

Der Neumond findet weltweit zum selben Zeitpunkt statt (der aber in verschiedenen Zeitzonen verschiedenen Ortszeiten entspricht).

Der neue Arduino-Clone ist heute eingetroffen: „Schokuino“ ( neue essbare Nanotechnologie )

20140225-090947.jpg

Der neue Arduino-Clone „Schokuino“ wurde mir heute von den lieben Kollegen zum Abschied überreicht. Das Arduino-Logo mit den 2 x + gefällt mir auch besser als das Orginal. Welche CPU da wohl verbaut wurde? Bahlsen-CPU aus Hannover oder eine von Dauerbrot.de? Der Kuchen inkl. Leiterbahnen hat auch sehr lecker geschmeckt.

Da bleibt nach 7 Jahren kein Auge trocken 😉 Danke … keeping in touch …