Lecker Kohlrabi (Kalarepa) Mindmap
#Vollkommenheit #Mindmap
Wie wird ein #One-Wire-Server #owhttpd auf #WR-703N unter #openWrt installiert?
Die Installation wie in beschrieben ist Voraussetzung. Der Server wird mit dann wie folgt gestartet.
/usr/bin/owhttpd --debug -d /dev/ttyUSB0 -p 4444
Ausgabe:
...
DEBUG: ow_daemon.c:EnterBackground(166) main thread id = 2006708224
CONNECT: ow_avahi_link.c:OW_Load_avahi_library(72) No Avahi support. Library libavahi-client couldn't be loaded
CONNECT: ow_dnssd.c:OW_Load_dnssd_library(136) Zeroconf/Bonjour is disabled since dnssd library isn't found
CALL: ow_parsename.c:FS_ParsedName_anywhere(95) path=[]
DEBUG: owlib.c:SetupTemperatureLimits(79) Globals temp limits 0C 100C (for simulated adapters)
DEBUG: ow_ds9097U.c:DS2480_initialize_repeatedly(267) Attempt #0 to initialize the DS9097U
DEBUG: ow_ds9097U.c:DS2480_big_reset_serial(356) Send the initial reset to the bus master.
DEBUG: ow_tcp_read.c:tcp_read(64) attempt 1 bytes Time: 5.000000 seconds
DEBUG: ow_tcp_read.c:tcp_read(114) read: 1 - 0 = 1
...
Hier sieht man auch, das der USB9097 als DS9097U erkannt wird.
Der Server ist nun über Port 4444 und der IP erreichbar.
Obwohl man besser den Port 4304 verwendet, da er in der IANA (Internet Assigned Numbers Authority) für owserver registriert ist. Also ohne debug und mit den „richtigen“ Port /usr/bin/owhttpd -d /dev/ttyUSB0 -p 4304
Z.b. Eingabe im Browser http://198.2.1.1:4444 listet das Verzeichnis auf:

Klick auf die 28… oder http://198.2.1.1:4444/28.A29D8A040000 zeigt die Temperatur in Grad Celsius an:

Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?
Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.
Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).
Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?
Folgende Package installieren und reboot.
opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver
OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.
Ein Verzeichnis erstellen:
mkdir /mnt/1wire
USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:
...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...
Oder mit lsusb
Ausgabe ua:
...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...
Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:
owfs -d /dev/ttyUSB0 -m /mnt/1wire/
Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.
cd /mnt/1wire
ls
Ausgabe der Verzeichnisse:
28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system
Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.
cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375
Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20
Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228
Oder…
Habt ihr noch Fragen oder Anregungen?
Projekt: Raspberry Pi mit Schalter HM-LC-Sw1PBU-FM (in „Brotdose“ eingebaut) über Fhem Server für Druckerschaltung integriert
Hatte noch eine unterputz Homematik Schalter HM-LC-Sw1PBU-FM rumliegen, da er nicht in mein Schalterprogramm passt. Wollte ihn nun einer sinnvollen Verwendung zuführen. Damit der Laserdrucker nicht immer angeschaltet ist, wird der nun über diesen Schalter, der in einer zweckentfremdeten wasserdichten „Brotdose“ installiert wurde angesteuert. Hier ein paar Fotos:
Drückt man den Schalter, geht der Drucker an und schaltet sich nach 10 min wieder automatisch aus. Das anschalten geht auch über die Fhem Gui.
Folgender Code muss in die fhem.cfg eingefügt werden:
define az_drucker_kurz_an notify az_drucker_schalter:on* define az_drucker_aus at +00:10:00 set az_drucker_schalter off
attr az_drucker_kurz_an group Drucker
attr az_drucker_kurz_an room Arbeitszimmer
define FileLog_az_drucker_schalter FileLog ./log/az_drucker_schalter-%Y.log az_drucker_schalter
attr FileLog_az_drucker_schalter group Drucker
attr FileLog_az_drucker_schalter logtype text
attr FileLog_az_drucker_schalter room Arbeitszimmer
Später wird das noch automatisiert, das der Drucker automatisch angeht, wenn ein Druck ausgelöst wird und sich dann wieder autom. ausschaltet. Dazu habe ich jetzt schon mal CUPS und AirPrint auf dem Raspberry Pi laufen. Das Script und die Beschreibung kommt dann bald hier…
Wie werden alle installierten Packages auf dem Raspberry Pi angezeigt, gespeichert und gezählt?
Manchmal wird eine Liste aller installierten Packages benötigt. Für ein Backup oder so. Es gibt da wie so oft mehrere Möglichkeiten.
Auf dem Raspberry Pi können solche Listen mit dem Packagemanager dpkg erstellt werden.
Also mit
dpkg --get-selections | grep -v deinstall
werden alle Packages ausgebeben, z.B.
...
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
...
um mit
dpkg --get-selections | grep -v deinstall > installierte-package.txt
wird die Liste in die Datei installierte-packag.txt gespeichert.
Oder wenn die lange Liste eingeschränkt werden soll, z.B. alle Packages mit cups im Dateiname:
dpkg --get-selections | grep cups
ergibt diese Liste:
...
bluez-cups install
cups install
cups-bsd install
cups-client install
cups-common install
cups-filters install
cups-pdf install
cups-ppdc install
ghostscript-cups install
libcups2:armhf install
libcupscgi1:armhf install
libcupsdriver1:armhf install
libcupsfilters1:armhf install
libcupsimage2:armhf install
libcupsmime1:armhf install
libcup dc1:armhf install
printer-driver-hpcups install
python-cups install
...
Soll das install nicht erscheinen, dann mit dem Stream-Editor sed z.B.
dpkg --get-selections | sed 's:install$::' > installierte-package-nur-name.txt
Wer eine noch ausführlicher Liste mit Beschreibung benötigt, kann diese mit
dpkg --list erzeugen. Z.b.:
...
ii cups 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - server
ii cups-bsd 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - BSD commands
ii cups-client 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - client programs (SysV
ii cups-common 1.5.3-5+deb7u1 all Common UNIX Printing System(tm) - common files
ii cups-filters 1.0.18-2.1 armhf OpenPrinting CUPS Filters
ii cups-pdf 2.6.1-6 armhf PDF writer backend for CUPS
ii cups-ppdc 1.5.3-5+deb7u1 armhf Common UNIX Printing System(tm) - PPD manipulation util
ii curl 7.26.0-1+wheezy8 armhf command line tool for transferring data with URL syntax
...
Die ersten beiden Zeichen in jeder Zeile geben den Paketstatus an ( ii bedeutet installiert ).
Wer also nur die installierten haben möchte, muss
dpkg -l | grep '^ii'
verwenden. Wenn noch mehr Kontrolle über die Liste braucht, kann auch dpkg-query verwenden:
dpkg-query -W -f '${status} ${package} ${version} \n' | sed -n 's/install ok installed //p'
z.B.:
...
cups 1.5.3-5+deb7u1
cups-bsd 1.5.3-5+deb7u1
cups-client 1.5.3-5+deb7u1
cups-common 1.5.3-5+deb7u1
cups-filters 1.0.18-2.1
cups-pdf 2.6.1-6
cups-ppdc 1.5.3-5+deb7u1
...
Wenn ein Debian System mit gleichen Package und Versionsnummern erstellt werden soll, kann man eine Liste mit
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i
in folgendem Format erzeugen:
Package Name=Version und A (wenn automatisch installiert)
Z.b.:
...
cups=1.5.3-5+deb7u1
cups-bsd=1.5.3-5+deb7u1 A
cups-client=1.5.3-5+deb7u1 A
cups-common=1.5.3-5+deb7u1 A
cups-filters=1.0.18-2.1 A
cups-pdf=2.6.1-6
cups-ppdc=1.5.3-5+deb7u1 A
...
Die Liste kann dann wie in http://www.debian-administration.org/article/669/ beschrieben, wieder geladen werden mit:
(ungetestet)
$ cat restore-package-versions
#!/bin/sh
list=$1
shift
aptitude -q -R --schedule-only install $(awk < $list '{print $1}')
aptitude -q -R --schedule-only markauto $(awk < $list '$2=="A" {split($1,A,"=");print A[1]}')
Wer nur die Anzahl der installierten Package ermitteln möchte, kann die Ausgabe mit grep zählen (-c count):
dpkg -l | grep '^ii' -c
bei mir: 910
Wie wird ein Bluetooth Dongle an einem Raspberry Pi in Fhem integriert?
Hatte noch ein Bluetooth Dongel von Belkin liegen.

Der kann wie folgt an dem rPi angeschlossen werden.
Erst mal das System aktualisieren und das bluetooth Pakage mit ein paar Tools installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman
Dann den Raspberry Pi runter fahren und den USB-Bluetooth Adapter einstecken (siehe Foto oben).
Nach dem Hochfahren können alle USB Geräte gelistet werden mit lsusb. In meinem Fall:
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 050d:0012 Belkin Components F8T012 Bluetooth Adapter
Bus 001 Device 005: ID 1f75:0916
Ob das Gerät läuft kann mit /etc/init.d/bluetooth status getestet werden, Ausgabe wenn alles ok ist:
[ ok ] bluetooth is running.
Jetzt können wir nach Geräten in Reichweite suchen mit hcitool scan. Bei mir ist nur ein Telefon gefunden worden
Scanning ...obwohl es mehr gib. Also etwas gewartet und Befehl wiederholt
XX:2F:80:3F:14:XX SL910
Scanning ... ok, jetzt ist alles vorhanden.
XX:2F:80:3F:14:XX SL910
XX:51:C9:EF:B5:XX iMac
XX:D1:CB:E9:33:XX iPhone 5
So jetzt haben wir mit dem hcitool scan die IP Adressen der erreichbaren Bluetooth Geräte ermittelt. Jetzt können wir die IP Anpingen um zu sehen ob das Gerät erreichbar ist mit
sudo l2ping -c 1 XX:D1:CB:E9:33:XX
wenn das Gerät erreichbar ist kommt:
Ping: XX:D1:CB:E9:33:XX from XX:00:3A:69:11:XX (data size 44) ...
44 bytes from XX:D1:CB:E9:33:XX id 0 time 6.09ms
1 sent, 1 received, 0% loss
wenn am Gerät Bluetooth ausgeschaltet ist oder das Gerät nicht mehr in Reichweite ist kommt als Ping Ergebnis
Can't connect: Host is down
Die Bluetooth IP kann auch z.B. im iPhone unter Einstellungen-Allgemein-Info-Bluetooth abgelesen werden.
Dann habe ich mal die Reichweite getestet. Geht nur ein paar Meter. In der Küche mit einer Wand geht es schon nicht mehr. Und in der Stube geht es auch nicht in jeder Ecke.
So, jetzt noch in Fhem integrieren mit:
define iPhone5_Bluetooth PRESENCE local-bluetooth XX:D1:CB:E9:33:XX 10 60
(10 = check interval, alle 10s nach Gerät suchen mit ping ,
60 = present check interval, alle 60s nach Gerät suchen wenn vorhanden)
Nach einem reread wird es auch wie erwartet angezeigt:
Unter state wir die Erreichbarkeit angezeigt mit present und wenn es nicht in Reichweite ist mit absent.
Welcher Bluetooth Dongel hat die Beste Reichweite und ist günstig? Wie setzt ihr Bluethooth ein?
Wie können eigene Menüeinträge im Fhem-Server auf einen Raspberry Pi und andere Plattformen erstellt werden?
Wenn man in der Fhem-Web-Gui eigene Menüeinträge auf der linken Seite erzeugen will, wie hier z.B. gezeigt

brauch man nur in der fhem.cfg folgende Zeile erstellen (alles in einer Zeile):
|
1 2 |
attr WEB menuEntries restart,cmd=shutdown+restart,update,cmd=update,updatecheck, cmd=update+check,reloadMyUtils,cmd=reload+99_myUtils.pm |
Dann einmal die Konfigurantion neu einlesen mit rereadcfg und schon sind die definierten Menüpunkte vorhanden.
Welche Menüpunkte habt ihr erstellt?
Index aller veröffentlichten Beiträge zum Raspberry Pi
Hier eine Übersicht der veröffentlichten Beiträge zum Raspberry Pi. Sortiert nach den Neuesten zu erst:
- Mit Mac OS X einen CUL CC1101 868 Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden
- Wie wird der JeeLink an einen Raspberry PI mit Fhem installiert bzw. eingebunden?
- Wie wird der Speicher des Raspberry Pi für die Nutzung ohne Monitor (mit SSH) optimiert?
- Wie kann ein laufender Raspberry Pi ein backup seiner eigenen SD-Karte anfertigen?
- Wie kann ein USB-Stick ext4 formatiert und am Raspberry Pi automatich angeschlossen (gemounted) werden?
- Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
- Wie können die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
- Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
- Wie kann auf einem Raspberry Pi ein Sicherheits und Spam-Schutz als IDS “fail2ban” installiert werden?
- Wie kann ein aus dem Internet geladenes *.deb Archive auf einem Raspberry Pi installiert bzw. gelöscht werden?
- Wie kann die installierte Version auf dem Raspberry Pi angezeigt werden?
- Was kann getan werden, wenn die NTP-Zeitsynchronisation (Atomzeit) auf dem Raspberry Pi mit ntpdate not found fehlschlägt?
- Wie lege ich auf einem Raspberry Pi den default Drucker für lpr (line print) fest?
- Wie können von einem Raspberry Pi Dateien in die Dropbox per Kommandozeile hochgeladen bez. gelöscht werden?
- Wie kann Webmin auf einem Raspberry Pi installiert werden?
- Wie können E-Mails vom Raspberry Pi (rPi) inklusive Anhang mit mutt versendet werden?
- Wie können die installierten Versionen der Packages/Programme auf einen Raspberry Pi angezeigt werden?
- Wie können nicht AirPrint fähige Drucker mit Raspberry Pi als AirPrint Server via CUPS Server eingerichtet werden?
- Wie kann die BackTrack Linux Penetration Testing und Security Auditing Linux Distribution Kali auf einem Raspberry Pi installiert werden?
- Wie kann ich auf einem Mac den Fortschritt beim kopieren auf einer SD-Karte mit DD für einen Raspbeery Pi erkennen?
- Wie kann ein Backup einer SD-Karte (von einem Raspberry Pi) in eine Datei auf einem Mac OS X gesichert werden?
- Wie kann auf einem Raspberry Pi (rPi) ein Bootloader “BerryBoot v2.0″ ohne Monitor über VNC installiert werden?
- Wie kann ein VNC-Server auf ein Raspberry Pi installiert und mit VNC-Client von Mac, iPad und Windows darauf zugegriffen werden?
- Wie kann ich den Textbasierten superschnellen Browser Lynx auf dem Raspberry Pi installieren?
- Raspberry Pi 5 LED Mindmap
- Wie kann auf einem Raspberry Pi ein Subversion und Apache Server installiert werden?
- Wie kann der Jenkins Server auf dem Raspberry Pi installiert werden?
- Wie werden täglich automatisch und unbeaufsichtigt aktuelle Sicherheits updates auf den Raspberry Pi geladen und installiert?
- Wie kann die Betriebstemperatur eines Raspberry Pi ausgelesen werden?
- Wie nehme ich einen Raspberry Pi inkl. Java auf einem Mac in Betrieb?
Welches Thema fehlt noch?
Ziele TOP 10 Mindmap
Wie wird der Speicher des Raspberry Pi für die Nutzung ohne Monitor (mit SSH) optimiert?
Der Raspberry Pi (Model B) hat 512 MB RAM die sowohl die CPU als auch die GPU benutzen können. Default wird der RAM Speicher zwischen CPU und GPU mit 448 MB zu 64 MB aufgeteilt. Das kann noch optimiert werden wenn z.B. kein Monitor verwendet wird und nur mit SSH gearbeitet wird.
Nach Aufruf von
sudo raspi-config
zum Menüpunkt 8 Advanced Options gehen und Select wählen.

Dann unter A3 Memory Split und Select

Dann im Textfeld eingeben, wieviele MB vom Speicher der Grafikkarte zugewiesen werden sollen. Der minimale Wert von 16 erlaubt der CPU 496 MB Speicher zu benutzen.
So hat der rPi ca. 50 MB mehr zur Verfügung wie das SYSMON Plugin von Fhem zeigt:
und nachher
![]()
Den Anstieg des RAMs ist auch im Diagramm gut sichtbar

Wenn die Einstellung ohne raspi-config gemacht werden soll, kann auch die /boot/config.txt Datei auf gpu_mem=16 gesetzt werden. Nach reeboot stehen die neuen Einstellungen bereit.
Kennt ihr noch weitere Optimierungen?
Wie kann ein laufender Raspberry Pi ein backup seiner eigenen SD-Karte anfertigen?
Wenn an dem rPi ein USB-Stick angeschlossen ist kann ein backup der SD-Karte auf den USB-Stick angefertigt werden mit:
sudo dd if=/dev/mmcblk0 of=/media/usb1/backup/rp-sicherung.img bs=1MB
Das ganze dauert bei mir, mit einem ext4 formatierten 32GB-Stick (USB 3.0) ca. 12 min:

Das kann auch durch ein script automatisch ausgeführt werden. Das werde ich bei Gelegenheit mal ausprobieren. Oder habt ihr eine andere bzw. bessere Lösung bzw. script? Dann bitte URL oder Script hier posten.
Wie kann ein USB-Stick ext4 formatiert und am Raspberry Pi automatisch angeschlossen (gemounted) werden?
Der rPi hat zwei USB Ports und an jedem kann ein USB-Stick angeschlossen werden. Wie das gemacht werden kann, steht in der ausführlichen Anleitung.
Es geht aber auch mit usbmount, disk-utility und webmin. Also erst einmal ein paar Tools installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ntfs-3g hfsutils hfsprogs usbmount gnome-disk-utility
In /var/log/messages schauen wo der USB-Stick eingebunden wird. Normal /dev/sda1.
Dann den USB Stick mit ext4 formatieren.
mkfs -t ext4 /dev/sda1
In Webmin den mount anlegen unter:

Und den mount wie folgt bearbeiten:

Dann wir beim speichern in /etc/fstab der folgenden Eintrag erstellt:

So das auch beim nächsten Neustart der USB-Stick automatisch gemountet wird.
Will man den USB-Stick entfernen:
sudo umount /media/usb1
Oder will man die UUID anzeigen:
sudo blkid /dev/sda1
Rechte setzen mit:
sudo chown pi:pi -R /media/usb1
sudo chmod a+w -R /media/usb1
Top 20 Programmiersprachen 2014 #Mindmap
Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
Wie können Benachrichtigungen von einem Fhem-Server unter Raspberry Pi und auch anderen Programmiersprachen (Bash, Perl, PHP, Web…) an ein Handy versendet werden. Z.B. will man benachrichtigt werden wenn die Tür geöffnet wird oder wenn der Speicherplatz auf dem Rechner voll ist. Oder wenn die Temperatur unter 0 Grad ist oder oder…
Das geht mit Pushover. Es wird die kostenplichtige App (ein paar Euro) einmalig benötigt, und dann kann man diese REST-API kostenlos nutzen:

In Fhem in der fhem.cfg kann dann ein Eintrag erstellt werden, der z.B. täglich um 18 Uhr eine Nachricht versenden, wenn die Batterie von einem Gerät (hier Pulse von Withings) kleiner als 50 Prozent der Accu-Ladung ist. Versendete Nachrichten kommen innerhalb von wenigen Sekunden auf den Mobilen Geräten an. Es könnte also auch leicht alle 10 Sekunden abgefragt werden.
Es muss auf der Pushover-Seite nach der Anmeldung eine Application angelegt werden. Von der Seite erhält man dann auch den API-Token und auf der Hauptseite den User-Key. Die müssen hier ersetzt werden:
define pushPulseAccuStand at *18:00:00 {\
my $temp=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($temp < 50){\
system ("curl -s -F 'token=--API-TOKEN' -F 'user=--USER-KEY---' -F 'message=Accu von Pulse beträgt: $temp.' -F 'title=Fhem: Accu Status zu Pulse' http://api.pushover.net/1/messages.json");;}\
}
Es gibt nun auch ein Fhem Modul, was die Nutzung mir dem Pushover Service vereinfacht.
Es muss nun kein curl mehr verwendet werden. Es reicht ein zwei Zeiler.
Erst das Device definieren und dann die Befehle absetzen. Z.B. täglich um 12 Uhr eine Nachricht senden "Pulse laden":
define Pushover1 Pushover TOKEN KEY
define at_Push at *12:00 set Pushover1 msg 'Titel' 'Pulse laden' '' 0 ''
Oder täglich um 12 Uhr Accu Warnung wenn kleiner als 70% Ladung:
define pushPulseAccuStandPulse at *12:00:00 {\
my $accu=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($accu < 70){\
set Pushover1 msg 'Titel' 'Pulse laden, da nur noch $accu Prozent.' '' 0 ''\
}\
}
Habt ihr noch weitere Anwendungsgebiete? Dann bitte als Kommentar.
Resilienz Mindmap
Stressreport Mindmap – Deutschland
Wie können die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
Dafür gibt es ein fertiges Modul in Fhem. Es müssen nur die zwei Zeilen mit den device, userid und publickey aus der Web-Oberfläche von Withings (alt)
define withings withings [device]
define withings> withings [userid] [publickey]
in der fhem.cfg ergänzt werden und ein restart des Fhem-Servers durchgeführt werden.
Dann kamm es bei mir zu folgender Fehlermeldung:
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/32_withings.pm line 9, <> line 3.
BEGIN failed--compilation aborted at ./FHEM/32_withings.pm line 9, <> line 3.
An der Fehlermeldung kann man erkennen das JSON für Perl auf den Rasperry Pi nicht installiert war.
In der Modulbeschreibung steht auch das „JSON, LWP::Simple and Digest::MD5 have to be installed on the FHEM host“. Also noch ein paar Module neu installieren mit
sudo apt-get install libjson-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl
auf der Konsole. Nach einem Restart, super es wird mein Gewicht angezeigt 🙁

Wie bekomme ich diese Gewichts-Daten nun in ein schönes Diagramm? Hat schon jemand eine passende gplot Datei? Dann bitte hier posten.
Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
Der Fhem-Server läuft bei mir unter OpenWrt. Nun möchte ich in auf einem Raspberry Pi neu installieren. Vorbedingung ist ein laufender rPi unter Debian wheezy.
Zu erste Perl und einig libs installieren. Dann das Debian Package (8,8 MB) von der Fhem Seite runterladen und installieren. Zu guter letzt die Berechtigungen setzen.
|
1 2 3 4 5 6 7 8 9 |
mkdir download cd download sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl wget http://fhem.de/fhem-5.7.deb sudo dpkg -i fhem-5.7.deb cd /opt sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem cd ~ ln -s /opt/fhem/ fhem |
Nach eingabe der URL http://[ip-vom-rpi]:8083 wird man mit der GUI des Fhem-Servers begrüßt:
Dann noch ein in dem Browser-Eingabe von Fhem oben, ein update und restart eingeben um den Fhem-Server auf dem neuesten Stand zu bringen.
Fhem kann auf der Konsole mit folgenden Befehlen gestartet oder gestopt werden. Auch der jeweilige Status kann abgefragt werden.
|
1 2 3 |
sudo /etc/init.d/fhem start sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem status |

















