Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
fun:energie-funk-mess-system_em_1000 [26.06.2014 09:56. ] – django | fun:energie-funk-mess-system_em_1000 [07.10.2020 20:00. ] – django |
---|
====== Energie-Funk-Mess-System EM 1000 ====== | ====== Energie-Funk-Mess-System EM 1000 ====== |
{{ :fun:serverschrank.png?101|Netzwerkschrank}} | {{ :fun:serverschrank.png?200|Netzwerkschrank}} |
Zum Überwachen des Gas- und Stromverbrauchs nutze ich seit Januar 2009 das [[http://www.elv.de/Empfangs-Anzeigegerät-EM-1010/x.aspx/cid_74/detail_10/detail2_15910|ELV Energie-Funk-Mess-System EM 1000]]. Ferner soll auch der variable Verbrauch meiner IT-TK-Infrastruktur dokumentiert werden, da dieser zuweilen für wüste Spekulationen Grundlage war. | Zum Überwachen des Gas- und Stromverbrauchs nutze ich seit Januar 2009 das [[http://www.elv.de/Empfangs-Anzeigegerät-EM-1010/x.aspx/cid_74/detail_10/detail2_15910|ELV Energie-Funk-Mess-System EM 1000]]. Ferner soll auch der variable Verbrauch meiner IT-TK-Infrastruktur dokumentiert werden, da dieser zuweilen für wüste Spekulationen Grundlage war. |
| |
===== Hardware ===== | ===== Hardware ===== |
{{:fun:em1010pc.png?100 |ELV EM1010}} | {{:fun:em1010pc.png?175|ELV EM1010}} \\ |
| |
Das **//Empfangs-/Anzeigegerät EM 1010//** verfügt über einen USB-Port über welchen wir später die Messwerte auslesen und in unsere MySQL-Datenbank speichern wollen. | Das **//Empfangs-/Anzeigegerät EM 1010//** verfügt über einen USB-Port über welchen wir später die Messwerte auslesen und in unsere MySQL-Datenbank speichern wollen. |
| ==== CentOS 7.x ==== |
| |
==== CentOS 5.x ==== | Informationen über den Energie-Monitor können wir mit Hilfe des Befehls ''usb-devices'' aus dem RPM-Paket **usbutils** dem System abverlangen. |
Stecken wir die Station an einen CentOS 5.x Rechner an, so wird uns dies im Syslog entsprechend dokumentiert: | |
Jan 7 19:20:35 nss kernel: usb 3-2: new full speed USB device using ohci_hcd and address 8 | |
Jan 7 19:20:35 nss kernel: usb 3-2: configuration #1 chosen from 1 choic | |
Wie auch schon meine alte Wetterstation [[wetter:ws500:start]] wird dieses Gerät auch via dem **FTDI-Kernelmodul** angesprochen. | |
Da das benötigte Kernel-Modul jedoch __nicht__ von Haus aus geladen worden ist, müssen wir ein klein wenig nachhelfen. | |
| |
Als erstes ermitteln wir die **Product-** und **Vendor-ID** unseres Gerätes: | # usb-devices |
# lsusb | <code>... |
Bus 003 Device 008: ID 0403:e0ef Future Technology Devices International, Ltd | |
Alternativ können wir diese auch wie folgt ermitteln: | |
<code># cat /proc/bus/usb/devices | |
| |
... | T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 |
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 | |
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 | D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 |
P: Vendor=0403 ProdID=e0ef Rev= 2.00 | P: Vendor=0403 ProdID=e0ef Rev=02.00 |
S: Manufacturer=ELV AG | S: Manufacturer=ELV AG |
S: Product=ELV EM 1010 PC | S: Product=ELV EM 1010 PC |
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA | C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=44mA |
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio | I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio |
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms | |
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms</code> | |
Diese beiden Werte **Vendor=0403** und **ProdID=e0ef** benötigen wir nun für die weitere Konfiguration. | |
| |
Einen ersten Start ermöglichen wir via: | ... |
# modprobe ftdi_sio vendor=0x0403 product=0xe0ef | </code> |
Im Syslog wird dies nun erfolgreich vermerkt: | |
<code>Jan 7 20:43:17 nss kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device | Mit dem Befehl **''lshw''** können wir uns ebenso anzeigen lassen, ob das Energie-Funk-Mess-System angesteckt und erkannt wird. Da der USB-Stick unter die Klasse ''generic'' fällt suchen wir gezielt nach diesen Geräte-Typus. |
Jan 7 20:43:17 nss kernel: ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected | |
Jan 7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM | # lshw -C generic |
Jan 7 20:43:17 nss kernel: usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB2 | <code> *-usb |
Jan 7 20:43:17 nss kernel: usbcore: registered new driver ftdi_sio | description: Generic USB device |
Jan 7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver</code> | product: ELV EM 1010 PC |
Damit nun beim Systemstart dieses Kernel-Modul automatisch geladen wird, legen wir uns eine individuelle **udev-Regel** an: | vendor: ELV AG |
# vim /etc/udev/rules.d/99-custom.rules | physical id: 2 |
SYSFS{idProduct}=="e0ef", SYSFS{idVendor}=="0403", RUN+="/sbin/modprobe -q ftdi_sio product=0xe0ef vendor=0x0403" | bus info: usb@2:2 |
| version: 2.00 |
| capabilities: usb-1.10 |
| configuration: driver=ftdi_sio maxpower=44mA speed=12Mbit/s |
| ...</code> |
| |
| Mit Hilfe des Befehls ''lsusb'' aus dem RPM-Paket **usbutils** können wir auch die **Produkt-** und **Hersteller**-Identifikationsnummer des Energie-Monitors ermitteln. |
| # lsusb |
| |
| Bus 002 Device 002: ID 0403:e0ef Future Technology Devices International, Ltd |
| |
| Zur Kommunikation mit dem Messadapter erfolgt über die zugehörig angelegte Geräte-Datei **''/dev/ttyUSBx''** - in unserem Konfigurationsbeispeil ist dies **ttyUSB0**. |
| # ls -alF /dev/ttyUSB* |
| |
| crw-rw----. 1 root dialout 188, 0 Oct 7 21:15 /dev/ttyUSB0 |
| |
==== CentOS 6.x ==== | ==== CentOS 6.x ==== |
Da hier bereits der notwendige //FTDI Serial Converters Driver// automatisch geladen wurde, brauchen wir hier nichts weiter mehr händisch konfigurieren. | Da hier bereits der notwendige //FTDI Serial Converters Driver// automatisch geladen wurde, brauchen wir hier nichts weiter mehr händisch konfigurieren. |
Wir können direkt die Station über die automatisch angelegten Gerätetreiberdatei //**/dev/ttyUSB0**// wie nachfolgend gezeigt ansprechen. | Wir können direkt die Station über die automatisch angelegten Gerätetreiberdatei //**/dev/ttyUSB0**// wie nachfolgend gezeigt ansprechen. |
===== Software ===== | |
==== Perl Bibliotheken ==== | |
=== perl-Device-SerialPort === | |
Da wir zum Auslesen der Verbrauchswerte auf **Perl** zurückgreifen wollen, installieren wir uns als erstes das betreffende Programmpaket zum Ansprechen des seriellen Posts **perl-Device-SerialPort**. | |
# yum install perl-Device-SerialPort | |
Was uns dieses **perl-Device-SerialPort** bietet, entnehmen wir am einfachsten dem rpm. | |
| |
# rpm -qil perl-Device-SerialPort | ==== CentOS 5.x ==== |
<code>Name : perl-Device-SerialPort Relocations: (not relocatable) | Stecken wir die Station an einen CentOS 5.x Rechner an, so wird uns dies im Syslog entsprechend dokumentiert: |
Version : 1.04 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ | Jan 7 19:20:35 nss kernel: usb 3-2: new full speed USB device using ohci_hcd and address 8 |
Release : 1.el6.rf Build Date: Thu 11 Nov 2010 05:44:11 AM CET | Jan 7 19:20:35 nss kernel: usb 3-2: configuration #1 chosen from 1 choic |
Install Date: Thu 26 Jul 2012 04:51:09 PM CEST Build Host: lisse.hasselt.wieers.com | Wie auch schon meine alte Wetterstation [[wetter:ws500:start]] wird dieses Gerät auch via dem **FTDI-Kernelmodul** angesprochen. |
Group : Applications/CPAN Source RPM: perl-Device-SerialPort-1.04-1.el6.rf.src.rpm | Da das benötigte Kernel-Modul jedoch __nicht__ von Haus aus geladen worden ist, müssen wir ein klein wenig nachhelfen. |
Size : 245573 License: Artistic/GPL | |
Signature : DSA/SHA1, Thu 11 Nov 2010 07:30:56 AM CET, Key ID a20e52146b8d79e6 | |
Packager : Dries Verachtert <dries@ulyssis.org> | |
URL : http://search.cpan.org/dist/Device-SerialPort/ | |
Summary : Linux/POSIX emulation of Win32::SerialPort functions | |
Description : | |
This is a POSIX-based version of the Win32::Serialport module ported by | |
Joe Doss for the MisterHouse Home Automation Package from Version 0.08 | |
of the Win32 module. He replaced calls to the Win32 API with similar | |
functions implemented using POSIX calls. While most of the testing has | |
occurred on linux, the package should work on other POSIX-compliant | |
Operating Systems. | |
/usr/bin/modemtest | |
/usr/lib64/perl5/vendor_perl/Device | |
/usr/lib64/perl5/vendor_perl/Device/SerialPort.pm | |
/usr/lib64/perl5/vendor_perl/auto/Device | |
/usr/lib64/perl5/vendor_perl/auto/Device/SerialPort | |
/usr/lib64/perl5/vendor_perl/auto/Device/SerialPort/SerialPort.bs | |
/usr/lib64/perl5/vendor_perl/auto/Device/SerialPort/SerialPort.so | |
/usr/share/doc/perl-Device-SerialPort-1.04 | |
/usr/share/doc/perl-Device-SerialPort-1.04/Changes | |
/usr/share/doc/perl-Device-SerialPort-1.04/MANIFEST | |
/usr/share/doc/perl-Device-SerialPort-1.04/META.yml | |
/usr/share/doc/perl-Device-SerialPort-1.04/README | |
/usr/share/doc/perl-Device-SerialPort-1.04/TODO | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/any_os.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo1.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo2.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo3.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo4.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo5.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo6.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo7.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/demo8.plx | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example1.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example2.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example3.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example4.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example5.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example6.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example7.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/example8.txt | |
/usr/share/doc/perl-Device-SerialPort-1.04/eg/options.plx | |
/usr/share/man/man1/modemtest.1.gz | |
/usr/share/man/man3/Device::SerialPort.3pm.gz | |
</code> | |
| |
=== perl-Time-HiRes === | Als erstes ermitteln wir die **Product-** und **Vendor-ID** unseres Gerätes: |
Weiter wird noch das Paket **perl-Time-HiRes** von dem Projekt **FHEM** benötigt, welches wir noch installieren. | # lsusb |
# yum install perl-Time-HiRes | Bus 003 Device 008: ID 0403:e0ef Future Technology Devices International, Ltd |
| Alternativ können wir diese auch wie folgt ermitteln: |
| <code># cat /proc/bus/usb/devices |
| |
Was uns dieses **perl-Time-HiRes** bietet, entnehmen wir am einfachsten dem rpm. | ... |
# rpm -qil perl-Time-HiRes | T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 |
<code>Name : perl-Time-HiRes Relocations: (not relocatable) | D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 |
Version : 1.9721 Vendor: CentOS | P: Vendor=0403 ProdID=e0ef Rev= 2.00 |
Release : 127.el6 Build Date: Fri 22 Jun 2012 03:38:59 PM CEST | S: Manufacturer=ELV AG |
Install Date: Thu 26 Jul 2012 10:58:43 PM CEST Build Host: c6b7.bsys.dev.centos.org | S: Product=ELV EM 1010 PC |
Group : Development/Libraries Source RPM: perl-5.10.1-127.el6.src.rpm | C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA |
Size : 57406 License: GPL+ or Artistic | I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio |
Signature : RSA/SHA1, Mon 25 Jun 2012 12:16:43 AM CEST, Key ID 0946fca2c105b9de | E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms |
Packager : CentOS BuildSystem <http://bugs.centos.org> | E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms</code> |
URL : http://www.perl.org/ | Diese beiden Werte **Vendor=0403** und **ProdID=e0ef** benötigen wir nun für die weitere Konfiguration. |
Summary : High resolution alarm, sleep, gettimeofday, interval timers | |
Description : | |
The Time::HiRes module implements a Perl interface to the usleep, nanosleep, | |
ualarm, gettimeofday, and setitimer/getitimer system calls, in other words, | |
high resolution time and timers. See the "EXAMPLES" section below and the test | |
scripts for usage; see your system documentation for the description of the | |
underlying nanosleep or usleep, ualarm, gettimeofday, and setitimer/getitimer | |
calls. | |
/usr/lib64/perl5/Time/HiRes.pm | |
/usr/lib64/perl5/auto/Time/HiRes/HiRes.so | |
/usr/share/man/man3/Time::HiRes.3pm.gz | |
</code> | |
| |
=== perl-Compress-Zlib === | Einen ersten Start ermöglichen wir via: |
Schließlich wird noch das Paket **perl-Compress-Zlib** von dem Projekt **FHEM** benötigt, welches wir noch installieren. | # modprobe ftdi_sio vendor=0x0403 product=0xe0ef |
# yum install perl-Compress-Zlib -y | Im Syslog wird dies nun erfolgreich vermerkt: |
| <code>Jan 7 20:43:17 nss kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device |
| Jan 7 20:43:17 nss kernel: ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected |
| Jan 7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM |
| Jan 7 20:43:17 nss kernel: usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB2 |
| Jan 7 20:43:17 nss kernel: usbcore: registered new driver ftdi_sio |
| Jan 7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver</code> |
| Damit nun beim Systemstart dieses Kernel-Modul automatisch geladen wird, legen wir uns eine individuelle **udev-Regel** an: |
| # vim /etc/udev/rules.d/99-custom.rules |
| SYSFS{idProduct}=="e0ef", SYSFS{idVendor}=="0403", RUN+="/sbin/modprobe -q ftdi_sio product=0xe0ef vendor=0x0403" |
| |
Was uns dieses **perl-Compress-Zlib** bietet, entnehmen wir am einfachsten dem rpm. | |
# rpm -qil perl-Compress-Zlib | |
<code>Name : perl-Compress-Zlib Relocations: (not relocatable) | |
Version : 2.020 Vendor: CentOS | |
Release : 127.el6 Build Date: Fri 22 Jun 2012 03:38:59 PM CEST | |
Install Date: Fri 27 Jul 2012 02:46:02 PM CEST Build Host: c6b7.bsys.dev.centos.org | |
Group : Development/Libraries Source RPM: perl-5.10.1-127.el6.src.rpm | |
Size : 52167 License: GPL+ or Artistic | |
Signature : RSA/SHA1, Mon 25 Jun 2012 12:17:14 AM CEST, Key ID 0946fca2c105b9de | |
Packager : CentOS BuildSystem <http://bugs.centos.org> | |
URL : http://www.perl.org/ | |
Summary : A module providing Perl interfaces to the zlib compression library | |
Description : | |
The Compress::Zlib module provides a Perl interface to the zlib | |
compression library. Most of the functionality provided by zlib is | |
available in Compress::Zlib. | |
| |
The module can be split into two general areas of functionality, | ===== Software ===== |
namely in-memory compression/decompression and read/write access to | ==== Perl Bibliotheken ==== |
gzip files. | Zum Kommunikation unseres Servers mit dem **Energie-Funk-Mess-System EM 1000** verwenden wir das Projekt **[[http://fhem.de/fhem.html|FHEM]]**. Eine sehr gute Einstiegslektüre ist hierbei das verlinkte Dokument **[[http://fhem.de/Heimautomatisierung-mit-fhem.pdf|Heimautomatisierungmit fhem - Für Einsteiger –]]**. Zum Auslesen des Datenloggers benötigen wir noch ein paart Perl-Bibliotheken, die wir uns nun noch installieren wollen. |
/usr/lib64/perl5/Compress/Zlib.pm | # yum install perl-Device-SerialPort perl-Time-HiRes perl-Compress-Zlib -y |
/usr/lib64/perl5/auto/Compress/Zlib | |
/usr/lib64/perl5/auto/Compress/Zlib/autosplit.ix | |
/usr/share/man/man3/Compress::Zlib.3pm.gz | |
</code> | |
| |
=== perl-DBI === | Da wir später die Messergebnisse auch in unserer **[[centos:mariadb|MariaDB Datenbank]]** speichern wollen benötigen wir noch die passenden Perl-Bibliotheken, welche wir nun auch noch installieren werden. |
Abschließend wird noch das Paket **perl-DBI** und **perl-DBD-MySQL** von dem Projekt **FHEM** benötigt, welches wir noch installieren. | |
# yum install perl-DBI perl-DBD-MySQL -y | # yum install perl-DBI perl-DBD-MySQL -y |
| |
Was uns dieses **perl-DBI** bietet, entnehmen wir am einfachsten dem rpm. | |
# rpm -qil perl-DBI | |
<code>Name : perl-DBI Relocations: (not relocatable) | |
Version : 1.609 Vendor: CentOS | |
Release : 4.el6 Build Date: Fri 20 Aug 2010 02:34:23 AM CEST | |
Install Date: Fri 27 Jul 2012 07:16:50 PM CEST Build Host: c6b1.bsys.dev.centos.org | |
Group : Development/Libraries Source RPM: perl-DBI-1.609-4.el6.src.rpm | |
Size : 1733598 License: GPL+ or Artistic | |
Signature : RSA/8, Sun 03 Jul 2011 06:55:01 AM CEST, Key ID 0946fca2c105b9de | |
Packager : CentOS BuildSystem <http://bugs.centos.org> | |
URL : http://dbi.perl.org/ | |
Summary : A database access API for perl | |
Description : | |
DBI is a database access Application Programming Interface (API) for | |
the Perl Language. The DBI API Specification defines a set of | |
functions, variables and conventions that provide a consistent | |
database interface independent of the actual database being used. | |
/usr/bin/dbilogstrip | |
/usr/bin/dbiprof | |
/usr/bin/dbiproxy | |
/usr/lib64/perl5/Bundle | |
/usr/lib64/perl5/Bundle/DBI.pm | |
/usr/lib64/perl5/DBD | |
/usr/lib64/perl5/DBD/DBM.pm | |
/usr/lib64/perl5/DBD/ExampleP.pm | |
/usr/lib64/perl5/DBD/File.pm | |
/usr/lib64/perl5/DBD/Gofer | |
/usr/lib64/perl5/DBD/Gofer.pm | |
/usr/lib64/perl5/DBD/Gofer/Policy | |
/usr/lib64/perl5/DBD/Gofer/Policy/Base.pm | |
/usr/lib64/perl5/DBD/Gofer/Policy/classic.pm | |
/usr/lib64/perl5/DBD/Gofer/Policy/pedantic.pm | |
/usr/lib64/perl5/DBD/Gofer/Policy/rush.pm | |
/usr/lib64/perl5/DBD/Gofer/Transport | |
/usr/lib64/perl5/DBD/Gofer/Transport/Base.pm | |
/usr/lib64/perl5/DBD/Gofer/Transport/null.pm | |
/usr/lib64/perl5/DBD/Gofer/Transport/pipeone.pm | |
/usr/lib64/perl5/DBD/Gofer/Transport/stream.pm | |
/usr/lib64/perl5/DBD/NullP.pm | |
/usr/lib64/perl5/DBD/Proxy.pm | |
/usr/lib64/perl5/DBD/Sponge.pm | |
/usr/lib64/perl5/DBI | |
/usr/lib64/perl5/DBI.pm | |
/usr/lib64/perl5/DBI/Changes.pm | |
/usr/lib64/perl5/DBI/Const | |
/usr/lib64/perl5/DBI/Const/GetInfo | |
/usr/lib64/perl5/DBI/Const/GetInfo/ANSI.pm | |
/usr/lib64/perl5/DBI/Const/GetInfo/ODBC.pm | |
/usr/lib64/perl5/DBI/Const/GetInfoReturn.pm | |
/usr/lib64/perl5/DBI/Const/GetInfoType.pm | |
/usr/lib64/perl5/DBI/DBD | |
/usr/lib64/perl5/DBI/DBD.pm | |
/usr/lib64/perl5/DBI/DBD/Metadata.pm | |
/usr/lib64/perl5/DBI/FAQ.pm | |
/usr/lib64/perl5/DBI/Gofer | |
/usr/lib64/perl5/DBI/Gofer/Execute.pm | |
/usr/lib64/perl5/DBI/Gofer/Request.pm | |
/usr/lib64/perl5/DBI/Gofer/Response.pm | |
/usr/lib64/perl5/DBI/Gofer/Serializer | |
/usr/lib64/perl5/DBI/Gofer/Serializer/Base.pm | |
/usr/lib64/perl5/DBI/Gofer/Serializer/DataDumper.pm | |
/usr/lib64/perl5/DBI/Gofer/Serializer/Storable.pm | |
/usr/lib64/perl5/DBI/Gofer/Transport | |
/usr/lib64/perl5/DBI/Gofer/Transport/Base.pm | |
/usr/lib64/perl5/DBI/Gofer/Transport/pipeone.pm | |
/usr/lib64/perl5/DBI/Gofer/Transport/stream.pm | |
/usr/lib64/perl5/DBI/Profile.pm | |
/usr/lib64/perl5/DBI/ProfileData.pm | |
/usr/lib64/perl5/DBI/ProfileDumper | |
/usr/lib64/perl5/DBI/ProfileDumper.pm | |
/usr/lib64/perl5/DBI/ProfileDumper/Apache.pm | |
/usr/lib64/perl5/DBI/ProfileSubs.pm | |
/usr/lib64/perl5/DBI/ProxyServer.pm | |
/usr/lib64/perl5/DBI/PurePerl.pm | |
/usr/lib64/perl5/DBI/Roadmap.pm | |
/usr/lib64/perl5/DBI/SQL | |
/usr/lib64/perl5/DBI/SQL/Nano.pm | |
/usr/lib64/perl5/DBI/Util | |
/usr/lib64/perl5/DBI/Util/CacheMemory.pm | |
/usr/lib64/perl5/DBI/Util/_accessor.pm | |
/usr/lib64/perl5/Roadmap.pod | |
/usr/lib64/perl5/TASKS.pod | |
/usr/lib64/perl5/auto/DBI | |
/usr/lib64/perl5/auto/DBI/DBI.so | |
/usr/lib64/perl5/auto/DBI/DBIXS.h | |
/usr/lib64/perl5/auto/DBI/Driver.xst | |
/usr/lib64/perl5/auto/DBI/Driver_xst.h | |
/usr/lib64/perl5/auto/DBI/dbd_xsh.h | |
/usr/lib64/perl5/auto/DBI/dbi_sql.h | |
/usr/lib64/perl5/auto/DBI/dbipport.h | |
/usr/lib64/perl5/auto/DBI/dbivport.h | |
/usr/lib64/perl5/auto/DBI/dbixs_rev.h | |
/usr/lib64/perl5/dbixs_rev.pl | |
/usr/share/doc/perl-DBI-1.609 | |
/usr/share/doc/perl-DBI-1.609/README | |
/usr/share/doc/perl-DBI-1.609/ex | |
/usr/share/doc/perl-DBI-1.609/ex/perl_dbi_nulls_test.pl | |
/usr/share/doc/perl-DBI-1.609/ex/profile.pl | |
/usr/share/man/man1/dbilogstrip.1.gz | |
/usr/share/man/man1/dbiprof.1.gz | |
/usr/share/man/man1/dbiproxy.1.gz | |
/usr/share/man/man3/Bundle::DBI.3pm.gz | |
/usr/share/man/man3/DBD::DBM.3pm.gz | |
/usr/share/man/man3/DBD::File.3pm.gz | |
/usr/share/man/man3/DBD::Gofer.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Policy::Base.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Policy::classic.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Policy::pedantic.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Policy::rush.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Transport::Base.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Transport::null.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Transport::pipeone.3pm.gz | |
/usr/share/man/man3/DBD::Gofer::Transport::stream.3pm.gz | |
/usr/share/man/man3/DBD::Proxy.3pm.gz | |
/usr/share/man/man3/DBD::Sponge.3pm.gz | |
/usr/share/man/man3/DBI.3pm.gz | |
/usr/share/man/man3/DBI::Const::GetInfo::ANSI.3pm.gz | |
/usr/share/man/man3/DBI::Const::GetInfo::ODBC.3pm.gz | |
/usr/share/man/man3/DBI::Const::GetInfoReturn.3pm.gz | |
/usr/share/man/man3/DBI::Const::GetInfoType.3pm.gz | |
/usr/share/man/man3/DBI::DBD.3pm.gz | |
/usr/share/man/man3/DBI::DBD::Metadata.3pm.gz | |
/usr/share/man/man3/DBI::FAQ.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Execute.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Request.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Response.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Serializer::Base.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Serializer::DataDumper.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Serializer::Storable.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Transport::Base.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Transport::pipeone.3pm.gz | |
/usr/share/man/man3/DBI::Gofer::Transport::stream.3pm.gz | |
/usr/share/man/man3/DBI::Profile.3pm.gz | |
/usr/share/man/man3/DBI::ProfileData.3pm.gz | |
/usr/share/man/man3/DBI::ProfileDumper.3pm.gz | |
/usr/share/man/man3/DBI::ProfileDumper::Apache.3pm.gz | |
/usr/share/man/man3/DBI::ProfileSubs.3pm.gz | |
/usr/share/man/man3/DBI::ProxyServer.3pm.gz | |
/usr/share/man/man3/DBI::PurePerl.3pm.gz | |
/usr/share/man/man3/DBI::SQL::Nano.3pm.gz | |
/usr/share/man/man3/DBI::Util::CacheMemory.3pm.gz | |
/usr/share/man/man3/Roadmap.3pm.gz | |
/usr/share/man/man3/TASKS.3pm.gz | |
</code> | |
Was uns das Paket **perl-DBD-MySQL** bietet, entnehmen wir am einfachsten dem rpm. | |
# rpm -qil perl-DBD-MySQL | |
| |
<code>Name : perl-DBD-MySQL Relocations: (not relocatable) | |
Version : 4.013 Vendor: CentOS | |
Release : 3.el6 Build Date: Fri 20 Aug 2010 02:31:30 AM CEST | |
Install Date: Fri 27 Jul 2012 08:31:39 PM CEST Build Host: c6b3.bsys.dev.centos.org | |
Group : Development/Libraries Source RPM: perl-DBD-MySQL-4.013-3.el6.src.rpm | |
Size : 345831 License: GPL+ or Artistic | |
Signature : RSA/8, Sun 03 Jul 2011 06:55:00 AM CEST, Key ID 0946fca2c105b9de | |
Packager : CentOS BuildSystem <http://bugs.centos.org> | |
URL : http://search.cpan.org/dist/DBD-mysql/ | |
Summary : A MySQL interface for perl | |
Description : | |
An implementation of DBI for MySQL for Perl. | |
/usr/lib64/perl5/Bundle | |
/usr/lib64/perl5/Bundle/DBD | |
/usr/lib64/perl5/Bundle/DBD/mysql.pm | |
/usr/lib64/perl5/DBD | |
/usr/lib64/perl5/DBD/mysql | |
/usr/lib64/perl5/DBD/mysql.pm | |
/usr/lib64/perl5/DBD/mysql/GetInfo.pm | |
/usr/lib64/perl5/DBD/mysql/INSTALL.pod | |
/usr/lib64/perl5/auto/DBD | |
/usr/lib64/perl5/auto/DBD/mysql | |
/usr/lib64/perl5/auto/DBD/mysql/mysql.so | |
/usr/share/doc/perl-DBD-MySQL-4.013 | |
/usr/share/doc/perl-DBD-MySQL-4.013/ChangeLog | |
/usr/share/doc/perl-DBD-MySQL-4.013/INSTALL.html | |
/usr/share/doc/perl-DBD-MySQL-4.013/README | |
/usr/share/doc/perl-DBD-MySQL-4.013/TODO | |
/usr/share/man/man3/Bundle::DBD::mysql.3pm.gz | |
/usr/share/man/man3/DBD::mysql.3pm.gz | |
/usr/share/man/man3/DBD::mysql::INSTALL.3pm.gz | |
</code> | |
| |
==== FHEM ==== | ==== FHEM ==== |
=== Download === | === Download === |
Als erstes laden wir uns das aktuelle [[http://fhem.de/fhem-5.2.tar.gz|Programmarchiv]] von der [[http://fhem.de/fhem.html|FHEM Projektseite]] auf unseren Rechner. | Als erstes laden wir uns das aktuelle **[[https://fhem.de/fhem-6.0.tar.gz|Programmarchiv]]** von der [[https://fhem.de/fhem.html#Download|FHEM Downloadseite]] auf unseren Rechner. |
| |
Hierzu legen wir uns erst noch den entsprechenden Zielordner an, falls noch nicht erfolgt. | Hierzu legen wir uns erst noch den entsprechenden Zielordner an, falls noch nicht erfolgt. |
| |
Im nächsten Schritt holen wir uns nun mit Hilfe von **wget** das entsprechende Programmarchiv. | Im nächsten Schritt holen wir uns nun mit Hilfe von **wget** das entsprechende Programmarchiv. |
# wget http://fhem.de/fhem-5.2.tar.gz | # wget http://fhem.de/fhem-6.0.tar.gz |
| |
Zu gute Letzt entpacken wir das Archiv, verschieben den Ordner an Ort und Stelle und verlinken diesen entsprechend noch. | Zu gute Letzt entpacken wir das Archiv, verschieben den Ordner an Ort und Stelle und verlinken diesen entsprechend noch. |
# tar zxvf fhem-5.2.tar.gz | # tar zxvf fhem-6.0.tar.gz -C /usr/local/src |
| |
# mv /usr/local/src/packages/fhem-5.2/ /usr/local/src/ | # ln -s /usr/local/src/fhem-6.0 /usr/local/src/fhem |
| |
# ln -s /usr/local/src/fhem-5.2 /usr/local/src/fhem | === Konfiguration === |
| Zunächst legen wir uns einen Systemuser an, unter dem später der Daemon mit den passenden Rechten laufen wird. Die ++''uid''** wählen wir passend zu unsere Systemumgebung - in diesem Konfigurationsbeispiel ist das die Nummer **977**. Als Gruppe verwenden wir die Systemgruppe **''dialout''** da wir so ohne Probleme die richtigen Gruppenrechte zum Ansprechen der Gerätedatei des USB-Devices nutzen können. |
| |
| # adduser --no-create-home --gid dialout --uid 977 --shell /sbin/nologin fhem |
| |
| # ls -alF /dev/ttyUSB* |
| |
| crw-rw----. 1 root dialout 188, 0 Oct 7 21:15 /dev/ttyUSB0 |
| |
| Für die Logdateien legen wir ein zugehöriges Verzeichnis an und weisen die Rechte dem System-User **''fhem''** zu. |
| # mkdir /var/log/fhem/ |
| # chown fhem:dialout /var/log/fhem/ |
| |
=== Installation === | === Installation === |
{{ :fun:ges_strom.png?600 }} | {{ :fun:ges_strom.png?600 }} |
| |
~~DISCUSSION~~ | |