Gestern hatte ich in diesem Blogeintrag von einer BPMN Imagemap berichtet. Habe jetzt im Internet einen coolen kostenlosen CSS Generator gefunden, der das gleiche macht, nur mit CSS. Hier ein Beispiel: „Wie kann eine BPMN 2.0 Map mit CSS Image Map Generator als Image-Map erzeugt werden?“ weiterlesen
Wie werden klickbare BPMN 2.0 Image-Map als Menü-Navigation erstellt?
Wollte mal eine Image-Map mit einem BPMN 2.0 Prozessmodell erstellen.
Klick auf die User-Task führt direkt zu den Zielen.
Ähnlich zu der klickbaren Mindmap.
So kann HTML einfach für notwendige BPMN 2.0 Doku. verwendet werden. Ohne kostenpflichtige Tools.
Gelöst wird das einfach mit HTML, eine gute Anleitung gibt es auf Selfhtml.org unter dem Punkt „Verweis-sensitive Grafiken“ (Image Maps).
Welche ist besser? Was fehlt?
Hier der HTML Code für das obige Beispiel und die BPMN 2.0 zum download als ZIP Archive (wenzlaff-de-menue.bpmn).
<img id="menue-tw" src="http://blog.wenzlaff.de/wp-content/uploads/2014/05/wenzlaff-de-menue.png" border="0" width="685" height="425" orgWidth="685" orgHeight="425" usemap="#image-maps-2014-05-22" alt="" />
<map name="image-maps-2014-05-22" id="image-maps-2014-05-22">
<area id="1" alt="wenzlaff.info" title="wenzlaff.info" href="http://www.wenzlaff.info" shape="rect" coords="284,36,340,82" style="outline:none;" target="_self" />
<area id="2" alt="kleinhirn.eu" title="kleinhirn.eu" href="http://www.kleinhirn.eu" shape="rect" coords="287,89,343,130" style="outline:none;" target="_self" />
<area id="3" alt="Mindmaps" title="Mindmaps" href="http://www.wenzlaff.de/mindmaps.html" shape="rect" coords="281,142,350,181" style="outline:none;" target="_self" />
<area id="4" alt="Reisen" title="Reisen" href="http://www.wenzlaff.de/reise.html" shape="rect" coords="281,190,350,240" style="outline:none;" target="_self" />
<area id="10" alt="wenzlaff.de" title="wenzlaff.de" href="http://www.wenzlaff.de" shape="rect" coords="126,126,190,175" style="outline:none;" target="_self" />
</map>
Finale BPMN 2.0 CUPS Drucklösung für den Raspberry Pi als *.bpmn
Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
BPMN 2.0 Diagramm: Version 2 zur Raspberry Pi CUPS Drucklösung
Hier nun die 2. Version im Gegensatz zu Version 1.
Ist die nun deutlicher?
Erste-Hilfe-Rettungskette Mindmap
OS X-Update Mavericks 10.9.3 und iTunes 11.2 soeben erschienen
Top 10 Mindmap der häufigsten Todesursachen Jugentlicher
CDI Mindmap
Wie kann der Raspberry Pi auf die neue Debian Version Jessie upgedated werden?
Aktuell ist die Linux Wheezy Version. Wer aber neue Funktionen ausprobieren will, kann den Raspberry Pi auch auf Jessie updaten. Wenn auch noch nicht alles so stabil sein soll, bekommt man doch einfach die neuesten Versionen. Z.b. PHP 5.5.12. Diese Version wird aber noch nicht zeitnah mit Sicherheitsaktualisierungen versorgt und hat den Status Testing.
Es braucht nur die folgende Datei angepasst zu werden:
sudo nano /etc/apt/sources.list
Wo „wheezy“ steht auf „jessie“ ändern und speichern. Dann den update Vorgang starten mit:
sudo apt-get update && apt-get dist-upgrade && apt-get autoremove
Es kommen dann während der Installation einige Fragen die beantwortet werden müssen, ob Service usw. restartet werden sollen. Dann nach ca. eine Stunde kann mit
sudo apt-get autoclean
die Reste entfernt werden und das System neu gestartet werden:
sudo shutdown -r now
Dann evl. noch checken ob alles ok ist mit:
sudo apt-get check
So hat man jetzt auch die aktuellste PHP Version, testen mit
php -v
Erzeugt nun:
PHP 5.5.12-1 (cli) (built: May 11 2014 09:41:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Wie wird ein Serienbrief mit Open Office 4.1 erstellt?
1. Zuerst ein Tabellendokument erstellen. Und das ist wichtig, es muss ein Tabellendokument *.ods sein. Z.b die Test-Daten.ods
2. Das Textdokument erstellen. Ein neues Textdokument öffnen.
3. F4 Taste drücken um die Datenquelle zu öffnen oder auf das Toolbar Icon drücken.
4. Im linken Feld mit der rechten Maustaste das Kontexmenü öffnen und über Registrierte Datenbanken gehen und die Datei als Datenquelle registrieren bzw. verbinden:
5. Dann im Menü unter Extras-Serienbrief-Assistent… die Felder in das Dokument einfügen und das Dokument wie gewünscht drucken.
6. Evl. noch kontrollieren ob Datenbank bearbeiten gehen und im Menü Bearbeiten-Datenbank-Verbindungsart checken ob Tabellenelement gewählt ist.
Fehlt noch was in der Beschreibung?
Wie kann auf einem Raspberry Pi alle mDNS/DNS-SD Services mit avahi-browse gelistet werden?
Es gibt eine avahi-browse, mit dem kann auf einem Raspberry Pi alle Services im lokalen Netz angezeigt werden. Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Und keine Angst, Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.
Dazu die avahi-utils installieren mit:
sudo apt-get install avahi-utils
Dann kann mit
avahi-browse -at
die Liste aller im LAN registrierten Services auf der Konsole ausgegeben werden.
Will man nur die Domänen anzeigen, geht das mit:
avahi-browse -Dt
Eine ganz ausführliche Liste mit aufgelösten IP usw. gibt es mit
avahi-browse -art
Weitere Parameter zu dem avahi-browse können mit
man avahi-browse
ausgegeben werden. Hier eine Mindmap zu dem Thema:
Wie kann eine Apple Freigabe mit Netatalk und Bonjour (Zeroconf) für den Finder auf dem Raspberry Pi mit AFP installiert werden?
Siehe auch neueren Eintrag.
Um mit Apple-Rechner (Mac OS X, Yosemite 10.10.2) per Freigaben mit dem Finder auf dem Raspberry Pi zugreifen zu können, kann Netatalk verwendet werden. So würde eine Freigabe z.B. aussehen:
Das System aktualisieren und avahi-daemon und netatalk installieren:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install avahi-daemon netatalk |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/afpd.conf |
Am Ende anfügen bzw. das # am Anfang entfernen:
1 |
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/AppleVolumes.default |
vor der Zeile „End of File“ folgenden Eintrag ergänzen um die Public Freigabe zu erzeugen, sonst ist nur das Home-Verzeichnis des Users freigegeben:
1 |
folder/share/Public Public options:upriv perm:0776 |
Nun noch die Datei
1 |
sudo nano /etc/avahi/services/afpd.service |
mit folgenden Inhalt anlegen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> </service-group> |
Der Eintrag in der Zeile mit model= legt das Icon fest. Möglich Werte sind da: Mac (default), AirPort, AppleTV1,1, iMac, MacBook, MacBookAir, MacBookPro, Macmini, MacPro, PowerBook, PowerMac und Xserve.
Beide Services noch restarten:
1 2 |
sudo service avahi-daemon restart sudo service netatalk restart |
Nach ein paar Sekunden kann auf die Verzeichnisse „normal“ Zugegriffen werden.
Die Freigabe für „Apple Time Machine“ kommt dann in einem anderen Blogeintrag.
Soll der avahi beim Neustart des Pi automatisch starten? Dann noch ein:
1 2 |
sudo update-rc.d avahi-daemon defaults sudo update-rc.d netatalk defaults |
Optional, mal testweise schauen ob alles nach einen reboot läuft
1 2 3 4 5 6 7 |
sudo reboot now # nun müssten beide Services laufen sudo /etc/init.d/avahi-daemon status # ok, da kommt eine ausgabe, nun noch netatalk testen mit ps ax | grep netatalk # liefer z.B. wenn er läuft # 1232 pts/0 S+ 0:00 grep --color=auto netatalk |
Viel Spaß
Mindmaps 2014 bis Mai und Mindmap Clouds soeben mit JaMoPP generiert.
Hier mal eben mit JaMoPP die neuen Mindmaps für 2014 bis Mai und die Mindmap-Clouds mit Eclipse Kepler generiert.
bis 1.5.2014
http://www.wenzlaff.de/mindmaps-2014.html
Kleinhirn
2013
http://wenzlaff.de/mindmaps-2013.html
http://www.wenzlaff.de/mindmap-cloud-2013.html
2012
http://wenzlaff.de/mindmaps-2012.html
http://www.wenzlaff.de/mindmap-cloud-2012.html
Alle als Cloud.
Jabber Mindmap
Habe Psi getestet. Freeware gibt es für Win und Mac. Erster Jabber Chat hat damit geklappt. Wer mehr will, nimmt den adium oder schaut sich diese Mindmap an 😉
H2 Datenbank #Mindmap
Top 10 Next Generation #Projektmanager #Mindmap
Wie kann ein Jabber Client auf Raspberry PI unter Fhem eingerichtet werden?
Account auf jabber.de anmelden.
Evl. noch einen Jabber Client installieren um den Account zu testen. Für Mac z.B. adium.im verwenden. Dann auf der Kommandozeile im rPi ein paar Module installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libnet-jabber-perl libnet-xmpp-perl libxml-stream-perl libauthen-sasl-perl libnet-ssleay-perl libnet-jabber-bot-perl libdigest-sha-perl
In der fhem.cfg folgende Zeile eintragen:
(Achtung, den Username in der define Zeile ohne @jabber.de angeben)
define Jabber_Client Jabber jabber.de 5222 JABBERUSER PASSWORT 1 0
attr Jabber_Client OnlineStatus available
attr Jabber_Client PollTimer 2
attr Jabber_Client RecvWhitelist JABBERUSER@jabber.de
attr Jabber_Client ResourceName FHEM
attr Jabber_Client userReadings 1
attr Jabber_Client room Jabber
Details zu den Parametern sind in der Fhem commandref zu finden.
Speichern und restart von FHEM. Im Raum Jabber schauen:
Dann in der Kommandozeile von Fhem z.B.:
set Jabber_Client msg JABBERUSER@jabber.de Hallo Fhem Welt!
Habe ich noch was vergessen? Weiter Tips?
BPMN 2.0 validieren und Fehler beheben
Das folgende Diagramm sollte eher die Funktion der CUPS Drucklösung auf dem Raspberry Pi darstellen.
Ist aber kein gültiges bzw. valides BPMN 2.0 Diagramm. Wenn das Diagramm validiert wird, gibt es folgende 8 Fehlermeldungen und 4 Warnungen. Wenn schon BPMN 2.0 Standard verwendet werden soll, dann sollte es auch valide sein.
Deshalb hier der 1. Versuch der valide ist:
Bei Gelegenheit kommt noch eine Version mit Swimlane. Oder habt Ihr einen anderen Vorschlag?
Die TOP 5: Wie werden auf dem Raspberry Pi alle angelegten Nutzer angezeigt?
Evl. will man ja mal schauen, ob nicht ein unbekannter einen Nutzer angelegt hat 😉
Um alle im System angelegten Nutzer anzuzeigen gibt es viele Möglichkeiten.
Die Nutzer werden in der Datei /etc/passwd
abgelegt.
Jede angezeigte Zeile hat dieses Format:
Name:Passwort:User-ID:Group-ID:Kommentar:Verzeichnis:Shell
Es gibt viele Seiten, die alles genau beschreiben, hier eine kleine Auswahl:
- itDozent
- nixCraft
- selfLinux
- galileocomputing
Aber jetzt zu den TOP 5 Befehlen, die die Nutzer ausgeben (alle mit cat /etc/passwd
), aber nur die User:
cut -d: -f1 /etc/passwd
at /etc/passwd | cut -d: -f1
sed 's/:.*//' /etc/passwd
cat /etc/passwd | awk -F : '{print $1}'
awk -F: '{print $1}' /etc/passwd
Kennt ihr auch noch einen? 😉
Java EE 7 #Mindmap
Wie kann auf dem Raspberry Pi angezeigt werden, wer am System angemeldet ist und was sie/er gerade tut?
Oder, wer kennt einen kürzeren Linux Befehl auf der Konsole als?
w
Cool! w zeigt Informationen über die gerade eingeloggten Benutzer und ihre Prozesse an. Auch die aktuelle Zeit, die Zeit, seit der das System läuft, wie viele Benutzer gerade angemeldet sind und die durchschnittliche Systemlast der letzten 1, 5 und 15 Minuten.
Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?
Wollte schon immer einen eigenen LDAP-Server haben. Da es heute regnet, habe ich mir einen mal auf dem Raspberry Pi eingerichtet. Hier gibt es eine gute Anleitung (auf englisch) zum installieren eines Ldap Servers. Analog dazu habe ich mal eine Anleitung zum openLDAP in deutsch angelegt. Erste mal eine Mindmap zum Thema:
Kurz ist folgende nötig (BPMN 2.0):
„Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?“ weiterlesen
Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?
Folgende 24/7 Drucklösung wird hier beschrieben.
Es können alle Dateien die in einem Dropbox Verzeichnis kopiert werden, automatisch in PDF-Dateien umgewandelt werden. Diese PDF Dateien werden in ein weiteres Dropbox Verzeichnis bereitgestellt. So ist über Dropbox ein platformübergreifender Zugriff möglich. Einfach die zu druckenden Dateien in das Verzeichnis kopieren. Der Drucker muss dazu nicht an sein.
Auch können mit dieser Lösung über iPhone, iPad… Dokumente über AirPrint gedruckt werden auch wenn der Drucker nicht AirPrint-Fähig ist. Das läuft über den CUPS-Server.
Der Drucker muss nicht immer an sein, da der Druckvorgang im Spooler des Raspberry Pi landet. Wenn der Drucker angeschaltet wird, werden die Dokumente gedruckt. Es ist rund um die Uhr ein Drucker erreichbar.
Es werden also PDF Dateien erzeugt und es wird der angeschlossene Drucker über CUPS „normal“ verwendet. Das heißt es kann von jedem Gerät, auch iPhone und iPad gedruckt werden!
Was ist dafür zu tun?
Zuerst mal ein Überblick.:
Eine valide BMPN 2.0 Version ist hier zu finden.
„Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?“ weiterlesen
Wie kann die Copyright-Anzeige, nach SSH Login auf dem Raspberry Pi verkürzt werden?
Beim Anmelden mit SSH auf den Raspberry Pi wird jedes mal diese Meldung ausgegeben.
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Die habe ich gelöscht und durch eine für mich sinnvolle Bezeichnung welches Gerät es ist angepasst. So kann ich beim anmelden leichter sehen, mit welchem Gerät ich mich verbunden haben. Dazu einfach mit
1 |
sudo nano /etc/motd |
die Datei wie gewünscht bearbeiten.
Ich habe da z.B. nur
Raspberry Pi Testgerät
oder für mein Produktionssever
Raspberry Pi PROD (FHEM, CUPS-Druckserver, Mail)
drinnen. So sieht man den Baum im Wald!
TOP 6 Listen #Mindmap
Wie kann ein Dashboard auf dem Raspberry Pi für Fhem eingerichtet werden?
Wie kann per Karotz eine Sprachausgabe (Klingelbenachrichtigung) über Fhem und Raspberry Pi mit PushingBox realisiert werden?
Seit langem habe ich einen Karotz und schon einige Beiträge darüber hier veröffentlicht. Nun wollte ich ihn mal in Fhem für die Hausautomatisation einsetzen.
Habe nun eine generelle Lösung über die kostenlose PushingBox realisiert.
Es können jegliche Textausgaben auf den Karotz gemacht werden. Bei mir läuft eine Ansage, wenn es an der Haustür klingelt. Es könnte auch jede Stunde die Temperatur von Karotz angesagt werden oder … (weitere Ideen als Kommentar).
Was ist also nötig?
1. Die kostenlose App PushingBox auf den Karotz über die Karotz Seite installieren. Es ist diese App, die auch über die Suchefunktion im englischen Store gefunden werden kann. Klickt man dann auf die installierte App, findet man dort die Install id die wird für weiter installation benötigt.
2. Einen kostenlosen Account bei PushingBox mit dem Google-Account einrichten.
3. Im Menü auf My Services klicken und auf Add a Service Button klicken:
Dann den Karotz Service auswählen mit klick auf den Button „Select this Service“.
4. Im folgenden Dialog den „Namen der Karotz configuration“ eingeben, der kann frei gewählt werden und der InstallID eintragen. Die kann wie unter 1. beschrieben ermittelt werden. Die Sprache auswählen, damit Karotz auch deutsch spricht einstellen und klick auf „Submit“.
5. Dann unter „My Scenarios“ über den Button „Add an Action“ hinzufügen. Bei dem Parameter folgenden Text eingeben: $nachricht$
Der Service Name ist frei wählbar. Nach dem speichern erscheint in der Tabelle die DeviceId die später noch verwendet wird.
Jetzt einmal auf den „Test“ Button klicken. Karotz muss nun „Nachricht“ sagen. Wenn das alles läuft, kann es an die Einrichtung in Fhem gehen.
6. In der 99_Utils.pm (oder besser eine neue anlegen 99_myUtils.pm analog zu 99_Utils.pm) folgende Funktion ergänzen und abspeichern. Neueste Version kann auch von GitHub geladen werden.
#
# Sendet eine Nachricht an Karotz.
#
# Aufruf z.B.: {Set_Karotz_Nachricht('Device ID','Hallo herzlich Willkommen zu Hause')}
#
sub
Set_Karotz_Nachricht
{
my ($devid, $text) = @_;
Log 5, ">>> Set_Karotz_Nachricht: $text";
Log 5, ">>> ---------------------------------------------------------------------------------";
system("curl -d \"devid=$devid&nachricht=$text\" http://api.pushingbox.com/pushingbox");
return "OK, sende die Nachricht:\"$text\" an Karotz.";
}
7. Fhem restarten und in der Kommandline die Funktion testen mit (?? durch DeviceID ersetzen):
{Set_Karotz_Nachricht(‚v??????????‘,’Hallo herzlich Willkommen zu Hause‘)}
und return. Schon spricht Karotz!
8. Jetzt kann diese Zeile in die gewünschten Abläufe in Fhem integriert werden.
Z.b. wenn es klingelt:
define klingenOffPush notify fl_klingel_1:on* {\
Set_Karotz_Nachricht('v???????','Hallo, es hat an der Haustür geklingelt.');;\
}
wird nun die Meldung: „Hallo, es hat an der Haustür geklingelt.“ von Karotz ausgegeben.
Hast Du noch weitere Anwendungsfälle, dann hinterlasse einen Kommentar?
Wie kann auf dem Raspberry Pi der SSH Zugang per RSA Key eingerichtet werden?
Wer keine Lust hat immer das Passwort einzugeben, und wer auf der sicheren Seite stehen will, kann sich mit dem RSA Key anmelden. Dazu wie hier ausführlich beschrieben auf den Raspberry Pi per SSH anmelden (evl. für alle anderen User auch wiederholen) und in das .ssh
Verzeichnis anlegen und dahin wechseln mit:
1 2 |
mkdir .ssh cd .ssh |
Wer noch RSA Keys benötigt, die können mit
1 |
ssh-keygen -t rsa |
im .ssh
Verzeichnis erstellt werden.
Auf dem Raspberry Pi die Datei
1 |
sudo nano ~/.ssh/authorized_keys |
anlegen oder ergänzen mit dem (USER)/.ssh/id_rsa.pub des Quell Rechners.
In der
1 |
sudo nano /etc/ssh/sshd_config |
sicherstellen, das diese Einträge auf yes bzw. no stehen und alle einkommentiert sind:
1 2 3 4 |
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys |
SSH neu starten mit
1 |
sudo /etc/init.d/ssh restart |
Konsole offen lassen, und von einer neuen Konsole versuchen, ob der Login nun ohne Passwort geht. Sonst in der anderen Konsole den Fehler suchen.
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 geöffnet. Von innen sieht sie so aus, voller Hightech:
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.
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:
Für die Empfänger-Seite wird noch ein CUL USB-Stick benötigt
der 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:Cool.
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?
Top 7 Mindmap der Kundengespräche
Wenzlaff.de hatte im letzten Monat (März) über eine Millionen (1.285.669) Zugriffe (hits)
Eclipse Versionen Mars, Luna, Kepler, Juno, Indigo, Juno… Mindmap
Das Java Rätsel läuft noch ein paar Tage!
Java Rätsel des Monats
Wenn wir diese Java Klasse compilieren und ausführen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class RaetselDesMonats { private static final String HALLO_WELT = "Hallo Welt!"; public static void main(String[] args) throws Exception { wieSiehtDieMethodeAus(); String welt = "Hallo Welt!"; System.out.println(welt); System.out.println("Hallo Welt!"); System.out.println(HALLO_WELT); } private static void wieSiehtDieMethodeAus() throws Exception { // nur hier Anpassungen möglich } } |
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
Für Eclipse gibt es 45 Sprachen dank Babel Language Packs
Eclipse kann auch in 45 Sprachen und auch auf deutsch umgestellt werden. Es gibt da ein Projekt Babel Language Packs. Habe es mal testweise auf deutsch umgestellt. Ist in deutsch zu 89 % übersetzt.
Nach restart einmal schauen, und dann gleich wieder zurück auf englisch 😉
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:
1 2 3 |
sudo git clone http://github.com/fsphil/fswebcam cd fswebcam sudo ./configure --prefix=/usr |
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
1 |
sudo ./configure --prefix=/usr |
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:
--- 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:
1 2 3 4 5 6 |
sudo apt-get update sudo apt-get upgrade sudo apt-get clean sudo rpi-update sudo ldconfig sudo reboot |
Schauen, welche Version jetzt installiert ist mit java -version
:
1 2 3 |
java version "1.6.0_27" OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1+rpi1) OpenJDK Zero VM (build 20.0-b12, mixed mode) |
Entweder über den den Packetmanager:
1 |
sudo apt-get update && sudo apt-get install oracle-java8-jdk |
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.
In das Download Verzeichnis wechseln und mit scp die Datei auf den rPi kopieren z.B.:
1 |
scp jdk-8-linux-arm-vfp-hflt.tar.gz root@192.0.0.0:/root |
Dann in den rPi wechseln und und das Archive in das /opt Verzeichnis entpacken, das dauert ein paar Minuten:
1 |
sudo tar zxvf jdk-8-linux-arm-vfp-hflt.tar.gz -C /opt |
Nun Java aktivieren und das Archive löschen mit:
1 2 3 4 5 |
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_33/bin/javac 1 sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_0_33/bin/java 1 rm jdk-8-linux-arm-vfp-hflt.tar.gz sudo update-alternatives --config javac # Auswahl 1 für Version 1.8 eingeben |
sudo update-alternatives --config java
# Auswahl 1 für Version 1.8 eingeben
Und checken ob es geklappt hat mit java -version
ergibt nun:
1 2 3 |
java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode) |
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
In den Webmin aktualisieren Dialog die Aktuelle URL eingeben:
http://prdownloads.sourceforge.net/webadmin/webmin_1.680_all.deb
Dann auf Webmin aktualisieren klicken und ca. 10 min warten:
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:
So, mit zwei Schrauben hängt er nun im Server-Raum an der Decke …
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:
Aus gehts mit set Rauchmelder_Team alarmOff
:
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
Cool, jetzt kann der VdS-zertifizerte Funk-Rauchmelder
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.
JavaFX TOP 11 Neuerungen ggü. Swing Mindmap
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.
TOP 10 Java 8 Mindmap oder was gibt es Neues in Java 8?
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();
}
}
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:
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:
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:
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):
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:
1 2 3 4 5 6 7 8 |
Year New Moon First Quarter Full Moon Last Quarter Jahr Neumond Vollmond 2014 Jan 1 11:14 Jan 8 03:39 Jan 16 04:52 Jan 24 05:19 Jan 30 21:39 Feb 6 19:22 Feb 14 23:53 Feb 22 17:15 Mar 1 08:00 Mar 8 13:27 Mar 16 17:09 Mar 24 01:46 Mar 30 18:45 Apr 7 08:31 Apr 15 07:42 t Apr 22 07:52 Apr 29 06:14 A May 7 03:15 May 14 19:16 May 21 12:59 |
und 2015
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Year New Moon First Quarter Full Moon Last Quarter Jahr Neumond Vollmond 2015 Jan 5 04:53 Jan 13 09:47 00h01m Jan 20 13:14 Jan 27 04:48 Feb 3 23:09 Feb 12 03:50 Feb 18 23:47 Feb 25 17:14 Mar 5 18:06 Mar 13 17:48 Mar 20 09:36 T Mar 27 07:43 Apr 4 12:06 p Apr 12 03:44 Apr 18 18:57 Apr 25 23:55 May 4 03:42 May 11 10:36 May 18 04:13 May 25 17:19 Jun 2 16:19 Jun 9 15:42 Jun 16 14:05 Jun 24 11:03 Jul 2 02:20 Jul 8 20:24 Jul 16 01:24 Jul 24 04:04 Jul 31 10:43 Aug 7 02:03 Aug 14 14:54 Aug 22 19:31 Aug 29 18:35 Sep 5 09:54 Sep 13 06:41 P Sep 21 08:59 Sep 28 02:50 t Oct 4 21:06 Oct 13 00:06 Oct 20 20:31 Oct 27 12:05 Nov 3 12:24 Nov 11 17:47 Nov 19 06:27 Nov 25 22:44 Dec 3 07:40 Dec 11 10:29 Dec 18 15:14 Dec 25 11:11 |
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 )
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 …
Wie wird der JeeLink an einen Raspberry PI mit Fhem installiert bzw. eingebunden?
1. JeeLink in rPi USB stecken.
2. Checken ob er erkannt wurde mit lsusb in der Konsole.
Ausgabe:
...
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
...
3. Weitere Infos in der Boot-Log mit dmesg ausgeben.
Ausgabe:
...
[ 9.069977] usb 1-1.2: Detected FT232RL
[ 9.075480] usb 1-1.2: Number of endpoints 2
[ 9.109559] usb 1-1.2: Endpoint 1 MaxPacketSize 64
[ 9.115965] usb 1-1.2: Endpoint 2 MaxPacketSize 64
[ 9.156771] usb 1-1.2: Setting MaxPacketSize 64
[ 9.168775] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
...
An der Ausgabe kann der verbundenen Port erkannt werden ( hier /dev/ttyUSB0 ).
4. Den JeeLink in der fhem.cfg eintragen mit dem ermittelten Port:
define myJeeLink JeeLink /dev/ttyUSB0
In Fhem gibt es für den JeeLink eine Modul-Beschreibung.
Nachdem der Fhem-Server restartet wurde, ist der JeeLink vorhanden:
Details:
Und die Events werden ausgegben. Hier nur das allgemeine rauschen von irgendwelchen Sensoren die auf der 868 MHzFrequenz senden:
Unter Mac Maverick iOS 10.9.1 den Speicherort für Backups von iTunes für iPhone, iPad… von SSD auf Festplatte oder ähnlich verschieben
Zuerste den Backup Ordner lokalisieren, wo bisher die Backups gespeichert werden.
Das geht über das Menü: iTunes-Einstellungen-Geräte
mit der Maus, dann eine Backup Datei in der Listbox selektieren und mit der Rechten-Maustaste im Kontextmenü „Im Finder Anzeigen“ wählen.
Unten den Pfad ablesen:
z.B.:
~/Library/Application Support/MobileSync/Backup
Dann iTunes schließen.
Alle backups aus den obigen Ordner in den neuen Ziel-Ordner auf die Festplatte verschieben
Neues Festplatten Verzeichnis anlegen z.B.:
mkdir /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup
Den alten Ordner löschen:
rmdir ~/Library/Application Support/MobileSync/Backup
Dann einen Symbolischen-Link mit ln -s im Terminal erzeugen (Pfad anpassen).
Also z.B.:
ln -s /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup ~/Library/Application\ Support/MobileSync/Backup
Nun kann iTunes wieder gestartet werden, und alle Backups werden jetzt immer dort gespeichert und die kopierten sind auch wieder da.
Für die iTunes Media siehe auch hier.