<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pipp37</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pipp37"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Pipp37"/>
	<updated>2026-04-18T10:06:58Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12557</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12557"/>
		<updated>2015-10-16T21:41:06Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Fertiger Suchbefehl &lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | grep &amp;quot;8072.1.3.2.3.1.1.&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -Ovq localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder&lt;br /&gt;
;Finden über die SNMP-Prozess Liste&lt;br /&gt;
: Damit lässt sich remote jeder Prozess finden. &lt;br /&gt;
: Suche in den Parametern:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.5 | grep -i &#039;fhem.pl fhem.cfg&#039; | grep -v &#039;&amp;quot;-i&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
: Suche in den Namen:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.2 | grep -i &#039;perl&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.2 | grep -i &#039;ser2net&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
* Net-SNMP snmpd.conf [http://net-snmp.sourceforge.net/docs/man/snmpd.conf.html] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12556</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12556"/>
		<updated>2015-10-16T21:35:20Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Fertiger Suchbefehl &lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | grep &amp;quot;8072.1.3.2.3.1.1.&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -Ovq localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder&lt;br /&gt;
;Finden über die SNMP-Prozess Liste&lt;br /&gt;
: Damit lässt sich remote jeder Prozess finden. &lt;br /&gt;
: Suche in den Parametern:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.5 | grep -i &#039;fhem.pl fhem.cfg&#039; | grep -v &#039;&amp;quot;-i&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
: Suche in den Namen:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.2 | grep -i &#039;perl&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.2 | grep -i &#039;ser2net&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12555</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12555"/>
		<updated>2015-10-16T21:32:35Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Fertiger Suchbefehl &lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | grep &amp;quot;8072.1.3.2.3.1.1.&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -Ovq localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder&lt;br /&gt;
;Finden über die SNMP-Prozess Liste&lt;br /&gt;
: Damit lässt sich remote jeder Prozess finden. &lt;br /&gt;
: Suche in den Parametern:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.5 | grep -i &#039;fhem.pl fhem.cfg&#039; | grep -v &#039;&amp;quot;-i&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
: Suche in den Namen:&lt;br /&gt;
: &amp;lt;code&amp;gt;  snmpwalk -v1 -c public -OvQe localhost 1.3.6.1.2.1.25.4.2.1.2 | grep -i &#039;perl&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12554</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12554"/>
		<updated>2015-10-16T17:33:11Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Überwachung des Fhem Prozesses und Neustart per cron */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Fertiger Suchbefehl &lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | grep &amp;quot;8072.1.3.2.3.1.1.&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v1 -c public  -Ovq localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | head -1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12553</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12553"/>
		<updated>2015-10-16T17:28:10Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Testen mit Snmp-Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v2c -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v2c -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Fertiger Suchbefehl &lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v2c -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 | grep &amp;quot;fhem is not running&amp;quot; | grep &amp;quot;8072.1.3.2.3.1.1.&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12552</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12552"/>
		<updated>2015-10-16T17:17:19Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Testen mit Snmp-Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Extended Ausgabe&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v2c -c public  -On localhost nsExtendOutput1 &amp;lt;/code&amp;gt;&lt;br /&gt;
: oder mit OID&lt;br /&gt;
: &amp;lt;code&amp;gt; snmpwalk -v2c -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Ausgabe bereinigt &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public  -On localhost .1.3.6.1.4.1.8072.1.3.2.3&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running   &amp;lt;-- Das ist die Ausgabe von /etc/init.d/fhem status&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.1.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.104.101.109.115.116.97.116.117.115 = STRING: fhem is not running&lt;br /&gt;
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.115.101.114.50.110.101.116.115.116.97.116.117.115 = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# lesbar&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public   localhost nsExtendOutput1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500 /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;fhemstatus&amp;quot; = STRING: fhem is not running&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;ser2netstatus&amp;quot; = STRING: checking Serial port to network proxy...done (ser2net running).&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.&amp;quot;lm-syslog-size&amp;quot; = STRING: 500  /var/log/syslog&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test1&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;test2&amp;quot; = INTEGER: 2&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;fhemstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 1&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test1&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;test2&amp;quot; = INTEGER: 8960&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;fhemstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;ser2netstatus&amp;quot; = INTEGER: 0&lt;br /&gt;
NET-SNMP-EXTEND-MIB::nsExtendResult.&amp;quot;lm-syslog-size&amp;quot; = INTEGER: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12550</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12550"/>
		<updated>2015-10-16T16:46:54Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Überwachung des Fhem Prozesses und Neustart per cron */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&lt;br /&gt;
# EXTENDING THE AGENT&lt;br /&gt;
extend fhemstatus /etc/init.d/fhem status&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12548</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12548"/>
		<updated>2015-10-16T16:33:54Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Konfiguration SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwendig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -e | grep perl  &amp;lt;/code&amp;gt; findet alle Perl Prozesse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /bin/ps -ef | grep perl &amp;lt;/code&amp;gt; zeigt genaue Daten an.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12547</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12547"/>
		<updated>2015-10-16T16:17:39Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Testen mit Snmp-Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwenidig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder als Table&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmptable  -v1  -c public localhost .1.3.6.1.4.1.2021.2&lt;br /&gt;
SNMP table: UCD-SNMP-MIB::prTable&lt;br /&gt;
&lt;br /&gt;
 prIndex prNames prMin prMax prCount prErrorFlag                 prErrMessage prErrFix                                prErrFixCmd&lt;br /&gt;
       1    init     0     0       1     noError                               noError                 /usr/bin/sudo /sbin/reboot&lt;br /&gt;
       2 ser2net     0     0       1     noError                               noError /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
       3    perl     2     5       1       error Too few perl running (# = 1)  noError   /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12546</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12546"/>
		<updated>2015-10-16T16:11:37Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Testen mit Snmp-Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwenidig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 5&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)        &amp;lt;-- Fehler bei Perl&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: Too few perl running (# = 1)   &amp;lt;-- Grund des Fehlers&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12545</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12545"/>
		<updated>2015-10-16T16:06:49Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl - at least one perl process, but no more than 5&lt;br /&gt;
proc      perl  5  2                 &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
;Erklärung &lt;br /&gt;
&amp;lt;code&amp;gt; proc perl 5  2 &amp;lt;/code&amp;gt; bedeutet, dass  mindestens 2 Perl Prozesse laufen sollen. Das ist notwenidig, wenn z.B. Webmin installiert ist. Dieses Tool hat auch einen Perl Prozess!.&lt;br /&gt;
&lt;br /&gt;
Wenn nur Fhem einen Perl Prozess belegt, reicht ein &amp;lt;code&amp;gt; proc perl &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testen mit Snmp-Tools ====&lt;br /&gt;
; Systeminfos&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost .1.3.6.1.2.1.1.1.0&lt;br /&gt;
SNMPv2-MIB::sysDescr.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Prozessüberwachung&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1  -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prIndex.3 = INTEGER: 3&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prNames.3 = STRING: perl&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.3 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.3 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.3 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.3 = INTEGER: error(1)      &amp;lt;- &lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.3 = STRING: No perl process running.&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.3 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.3 = STRING: /usr/bin/sudo  /etc/init.d/fhem  restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12544</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12544"/>
		<updated>2015-10-16T15:44:02Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Überwachung des Fhem Prozesses und Neustart per cron */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl&lt;br /&gt;
proc      perl                   &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmpd Daemon&lt;br /&gt;
&amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12543</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12543"/>
		<updated>2015-10-16T15:42:29Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
Basierend auf die in diesem Artikel beschriebenen Mechanismen wird ein SNMP-Watchdog für Fhem erstellt.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration SNMP ====&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Port/NIC binding&lt;br /&gt;
#&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
sysServices    72&lt;br /&gt;
&lt;br /&gt;
# community&lt;br /&gt;
nocommunity    public     &lt;br /&gt;
&lt;br /&gt;
rwcommunity    writesecret       192.168.0.0/16 &lt;br /&gt;
rwcommunity    writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#  ID:1 init process dummy for reboot &lt;br /&gt;
proc      init                &lt;br /&gt;
procfix   init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  ID:2 process ser2net&lt;br /&gt;
proc      ser2net                     &lt;br /&gt;
procfix   ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart &lt;br /&gt;
&lt;br /&gt;
#  ID:3 process perl&lt;br /&gt;
proc      perl                   &lt;br /&gt;
procfix   perl  /usr/bin/sudo  /etc/init.d/fhem restart &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/sudoers&lt;br /&gt;
: Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/snmp/snmp.conf&lt;br /&gt;
: Aus-Kommentieren mibs &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :    &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Neustart snmp&lt;br /&gt;
&amp;lt;code&amp;gt; service snmp restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12542</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12542"/>
		<updated>2015-10-16T15:20:45Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMPD Prozessüberwachung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Community &amp;amp; Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12541</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12541"/>
		<updated>2015-10-16T15:08:52Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Rechner neu starten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12540</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12540"/>
		<updated>2015-10-16T15:01:05Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Raspberry Pi / Rasbian und SNMP (IN ARBEIT) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12539</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12539"/>
		<updated>2015-10-16T15:00:29Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Hilfe/Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Watchdog per SNMP [https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12538</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12538"/>
		<updated>2015-10-16T14:57:52Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hilfe/Support ==&lt;br /&gt;
* Fragen werden gerne im FHEM-Forum auf [http://forum.fhem.de http://forum.fhem.de] beantwortet.&lt;br /&gt;
* Für Feedback ist [http://forum.fhem.de/index.php?topic=42348.msg345307 dieser Beitrag] im Forum vorgesehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12537</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12537"/>
		<updated>2015-10-16T14:34:42Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Prozesse neu starten / Reboot Raspi über SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende prErrFix-OID schreibt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~#  snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)                    &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo /sbin/reboot  &amp;lt;- Dieser Befehl wird dann ausgelöst&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&lt;br /&gt;
# hier die OIDs - bereingte Augabe&lt;br /&gt;
root@fhem1:~#  snmpwalk -v2c -c public -On  localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
..&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)            &amp;lt;- Hier eine 1 zum Auslösen des Reboots schreiben&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zum Neustart des Rechner schreibt man nun den Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; ausgeführt und der Rechner fährt neu hoch.&lt;br /&gt;
&lt;br /&gt;
Wenn man das remote machen möchte, einfach &#039;&#039;localhost&#039;&#039; durch die  Raspberry-IP ersetzen und schon hat man einen einfachen Remote-Reboot mit Boardmitteln erstellt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.1 i 1&lt;br /&gt;
&lt;br /&gt;
Broadcast message from root@fhem1.local (Fri Oct 16 16:26:32 2015):&lt;br /&gt;
&lt;br /&gt;
The system is going down for reboot NOW!&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
=== Überwachung des Fhem Prozesses und Neustart per cron ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12536</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12536"/>
		<updated>2015-10-16T14:14:31Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Prozesse neu starten / Reboot Raspi über SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Prozesse ist  unter [[#SNMPD Prozessüberwachung]]  beschrieben. Mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; werden nur die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende OID schreibt.&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12535</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12535"/>
		<updated>2015-10-16T14:10:48Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMPD Prozessüberwachung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc    init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc    ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. Wie schon unter [[#SNMPD Prozessüberwachung]]  beschrieben, bekommt man mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende OID schreibt.&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12534</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12534"/>
		<updated>2015-10-16T14:10:01Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMPD Prozessüberwachung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init /usr/bin/sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. Wie schon unter [[#SNMPD Prozessüberwachung]]  beschrieben, bekommt man mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende OID schreibt.&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12533</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12533"/>
		<updated>2015-10-16T14:08:28Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Prozesse neu starten / Reboot Raspi über SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. Wie schon unter [[#SNMPD Prozessüberwachung]]  beschrieben, bekommt man mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: /usr/bin/sudo  /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dienst ser2net neu starten ===&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
In dem gezeigten Fall wird &amp;lt;code&amp;gt; /usr/bin/sudo  /etc/init.d/ser2net restart &amp;lt;/code&amp;gt; ausgeführt.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn man nun den Dienst entfernt neu starten möchte, geht das aus dem eigenen LAN ganz einfach. &amp;lt;LAN-IP-RPI&amp;gt; wird z.b durch lokale IP &#039;&#039;&#039;192.168.0.160&#039;&#039;&#039; vom Raspberry ersetzt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;snmpset -v2c -c writesecret &amp;lt;LAN-IP-RPI&amp;gt; .1.3.6.1.4.1.2021.2.1.102.2 i 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechner neu starten ===&lt;br /&gt;
&lt;br /&gt;
Weiters wurde in dem Beispiel noch ein Prozess zur Überwachung definiert. Der erste konfigurierte &#039;&#039;proc&#039;&#039; lautet &#039;&#039;init&#039;&#039; und der dazu passende &#039;&#039;procfix&#039;&#039; wurde mit &amp;lt;code&amp;gt; /usr/bin/sudo  /sbin/reboot &amp;lt;/code&amp;gt; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Damit wird der Rechner neu gestartet, wenn man die Zahl 1 per &#039;&#039;snmpwrite&#039;&#039; in die passende OID schreibt.&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12532</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12532"/>
		<updated>2015-10-16T13:51:02Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Prozesse neu starten / Reboot Raspi über SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. Wie schon unter [[#SNMPD Prozessüberwachung]]  beschrieben, bekommt man mit dem zusätzlichen Parameter &#039;&#039;-On&#039;&#039; die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Hierher wird der Wert 1 geschrieben, um den Befehl auszulösen&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Auslösen des &#039;&#039;procfix&#039;&#039; Befehles  für &#039;&#039;ser2net&#039;&#039; wird der Wert &#039;&#039;&#039;1&#039;&#039;&#039; in die OID .1.3.6.1.4.1.2021.2.1.&#039;&#039;&#039;102.2&#039;&#039;&#039; geschrieben.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpset -v2c -c writesecret localhost .1.3.6.1.4.1.2021.2.1.102.2 i 1&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: runFix(1)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12531</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12531"/>
		<updated>2015-10-16T13:26:40Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Prozesse neu starten / Reboot Raspi über SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren, fragen wir die Daten wie folgt ab. Wie schon vorher beschrieben bekommt man mit dem zusätlichen Parameter &#039;&#039;-On&#039;&#039; die OIDs angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Status (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
&lt;br /&gt;
# bereinigte Ausgabe&lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public -On localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.1 = STRING: init&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.2.2 = STRING: ser2net&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.100.2 = INTEGER: noError(0)&lt;br /&gt;
.....&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.1 = INTEGER: noError(0)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.102.2 = INTEGER: noError(0)     &amp;lt;- Das ist der Status von ser2net (ID .2 = 2. zu überwachender Prozess in der snmpd.conf)&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.1 = STRING: sudo /sbin/reboot&lt;br /&gt;
.1.3.6.1.4.1.2021.2.1.103.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um nun den Status des Prozesses &#039;&#039;ser2net&#039;&#039;, welcher in &#039;&#039;/etc/snmp/snmpd.conf&#039;&#039; unter &#039;&#039;proc&#039;&#039; eingetragen ist, abzufragen, gilt folgendes Kommando. Mit dem Parameter &#039;&#039; -OvQw &#039;&#039; bekommt man nur den Wert!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public -OvQe localhost .1.3.6.1.4.1.2021.2.1.100.2&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
https://sites.google.com/site/ghidit/how-to-2/using-snmp-as-a-process-watchdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12530</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12530"/>
		<updated>2015-10-16T13:00:45Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prozesse neu starten / Reboot Raspi über SNMP ==&lt;br /&gt;
&lt;br /&gt;
Um auf Ereignisse der überwachten Prozesse zu reagieren fragen wir die Daten wie folgt ab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &lt;br /&gt;
root@fhem1:~# snmpwalk -v2c -c public localhost .1.3.6.1.4.1.2021.2.1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prIndex.2 = INTEGER: 2&lt;br /&gt;
UCD-SNMP-MIB::prNames.1 = STRING: init&lt;br /&gt;
UCD-SNMP-MIB::prNames.2 = STRING: ser2net                &amp;lt;- Das ist der Prozess (ID .2)&lt;br /&gt;
UCD-SNMP-MIB::prMin.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMin.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.1 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prMax.2 = INTEGER: 0&lt;br /&gt;
UCD-SNMP-MIB::prCount.1 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prCount.2 = INTEGER: 1&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrorFlag.2 = INTEGER: noError(0)        &amp;lt;- Das ist der Fehlercode (0=Prozess läuft)&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.1 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrMessage.2 = STRING:&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFix.2 = INTEGER: noError(0)&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.1 = STRING: sudo /sbin/reboot&lt;br /&gt;
UCD-SNMP-MIB::prErrFixCmd.2 = STRING: /usr/bin/sudo  /etc/init.d/ser2net restart     &amp;lt;- Damit wird der daemon neu gestartet&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12529</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12529"/>
		<updated>2015-10-16T12:16:29Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMP Befehle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
; Prozesse&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk  -v1 -c public localhost .1.3.6.1.2.1.25.4.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12528</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12528"/>
		<updated>2015-10-16T12:08:19Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMP Befehle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; sehen wir uns den gesamten Baum eines Wertes an.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpwalk -v1 -c public -On localhost .1.3.6.1.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.1.0 = STRING: Linux fhem1.local 3.18.9+ #768 PREEMPT Sun Mar 15 18:59:03 GMT 2015 armv6l&lt;br /&gt;
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10&lt;br /&gt;
.1.3.6.1.2.1.1.3.0 = Timeticks: (292649) 0:48:46.49&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
.1.3.6.1.2.1.1.5.0 = STRING: fhem1.local&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
.1.3.6.1.2.1.1.7.0 = INTEGER: 72&lt;br /&gt;
.1.3.6.1.2.1.1.8.0 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.4 = OID: .1.3.6.1.6.3.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.5 = OID: .1.3.6.1.2.1.49&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.6 = OID: .1.3.6.1.2.1.4&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.7 = OID: .1.3.6.1.2.1.50&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.2.8 = OID: .1.3.6.1.6.3.16.2.2.1&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.1 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.2 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.3 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.4 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.5 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.6 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.7 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.3.8 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.1 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.2 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.3 = Timeticks: (5) 0:00:00.05&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.4 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.5 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.6 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.7 = Timeticks: (6) 0:00:00.06&lt;br /&gt;
.1.3.6.1.2.1.1.9.1.4.8 = Timeticks: (7) 0:00:00.07&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige nützliche OIDs. Wenn der Parameter -On weg gelassen wird, ist der Wert &amp;quot;Human Readable&amp;quot;.&lt;br /&gt;
;Filesysteme&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public  -On  localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk -v2c -c public       localhost  .1.3.6.1.2.1.25.2.3&amp;lt;/code&amp;gt; &lt;br /&gt;
;Systeminfo&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.4.0&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost  .1.3.6.1.2.1.1.6.0&amp;lt;/code&amp;gt;&lt;br /&gt;
;Uptime&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpget -v1 -c public localhost .1.3.6.1.2.1.25.1.1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
; Netzwerk Daten / Transfer&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;snmpwalk   -v2c -c public -On localhost .1.3.6.1.2.1.2.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
... to be continued ....&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12527</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12527"/>
		<updated>2015-10-16T11:23:39Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMP Befehle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Der genaue Syntax kann auf der Konsole mit &amp;lt;code&amp;gt; man &amp;lt;Befehl&amp;gt; &amp;lt;/code&amp;gt; angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
;snmpwalk&lt;br /&gt;
: Lesender Zugriff auf SNMP Variblen mit allen im Baum darunter liegenden  Werten. &lt;br /&gt;
;snmpget&lt;br /&gt;
: Lesender Zugriff auf nur einen einzigen Wert.&lt;br /&gt;
;snmpwrite&lt;br /&gt;
: Schreibender Zugriff auf einen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; sehen wir uns nun Werte zu dem System an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public localhost   .1.3.6.1.2.1.1.4.0&lt;br /&gt;
SNMPv2-MIB::sysContact.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v2c -c public localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
SNMPv2-MIB::sysLocation.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.4.0&lt;br /&gt;
.1.3.6.1.2.1.1.4.0 = STRING: Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
root@fhem1:~# snmpget -v1 -c public -On localhost  .1.3.6.1.2.1.1.6.0&lt;br /&gt;
.1.3.6.1.2.1.1.6.0 = STRING: Haus1-Heizkeller&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Perfekt, hier sehen wir unsere in der beschriebenen Konfiguration eingetragenen Werte.&lt;br /&gt;
&lt;br /&gt;
;snmpget&lt;br /&gt;
: -v1 = SNMP Version 1&lt;br /&gt;
: -v2 = SNMP Version 2&lt;br /&gt;
: -c public = Zugriff mit dem Namen public - meistens wird dieser Name für &amp;quot;Nur-Lese&amp;quot; Zugriff verwendet.&lt;br /&gt;
: -0n = Ausgabe der OID-Zahlenwerte anstatt der MIB-Namen&lt;br /&gt;
: localhost = Zugriff auf den lokalen Rechner. Hier die IP des Rechners einsetzen, wenn  remote abgefragt werden soll.&lt;br /&gt;
: .1.3.6.1.2.1.1.4.0 = OID mit dem Wert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   snmpget -v1 -c public 192.168.27.254  .1.3.6.1.2.1.1.1.&lt;br /&gt;
&lt;br /&gt;
.1.3.6.1.2.1.1.1.0:sysDescr&lt;br /&gt;
&lt;br /&gt;
sysContact&lt;br /&gt;
1.3.6.1.2.1.1.4.0	&lt;br /&gt;
&lt;br /&gt;
OID	 sysLocation&lt;br /&gt;
1.3.6.1.2.1.1.6.0	&lt;br /&gt;
&lt;br /&gt;
sysContact&lt;br /&gt;
1.3.6.1.2.1.1.4.0	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12526</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12526"/>
		<updated>2015-10-16T10:52:46Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Befehle ==&lt;br /&gt;
Nach einem abschliessenden Neustart des snmpd-Daemons mit &amp;lt;code&amp;gt; service snmpd restart &amp;lt;/code&amp;gt; können auf dem lokalen Rechner &amp;lt;code&amp;gt; snmpwalk &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; snmpget &amp;lt;/code&amp;gt; Befehle eingeben werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12525</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12525"/>
		<updated>2015-10-16T10:45:13Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* SNMPD Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039; Wichtig ist  &#039;&#039;agentAddress&#039;&#039;. Wird nur &#039;&#039;udp:161&#039;&#039; angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12524</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12524"/>
		<updated>2015-10-16T10:42:59Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMPD Konfiguration ==&lt;br /&gt;
Zuerst werden  Einstellungen wie Systemname, Systemadmin usw.. gemacht.&lt;br /&gt;
&lt;br /&gt;
Datei: /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  AGENT BEHAVIOUR&lt;br /&gt;
#&lt;br /&gt;
#  Listen for connections from the local system only&lt;br /&gt;
# agentAddress  udp:127.0.0.1:161&lt;br /&gt;
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)&lt;br /&gt;
# agentAddress udp:161,udp6:[::1]:161&lt;br /&gt;
agentAddress udp:161&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
#  SYSTEM INFORMATION&lt;br /&gt;
#&lt;br /&gt;
#  Note that setting these values here, results in the corresponding MIB objects being &#039;read-only&#039;&lt;br /&gt;
#  See snmpd.conf(5) for more details&lt;br /&gt;
sysLocation    Haus1-Heizkeller&lt;br /&gt;
sysContact     Administrator meinemail@gmail.com&lt;br /&gt;
&lt;br /&gt;
# Application + End-to-End layers&lt;br /&gt;
sysServices    72&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMPD Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
          # readonly community&lt;br /&gt;
rocommunity public     &lt;br /&gt;
&lt;br /&gt;
          # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16 &lt;br /&gt;
&lt;br /&gt;
          # write from localhost&lt;br /&gt;
rwcommunity writesecret       localhost         &lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
#&lt;br /&gt;
#  init process dummy for reboot&lt;br /&gt;
proc  init                &lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#  process ser2net / at least one   process&lt;br /&gt;
proc  ser2net                     &lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;. Hier sind 2 Einträge vorhanden. &#039;&#039;192.168.0.0/16&#039;&#039; erlaubt das Schreiben von jeder IP, die mit 192.168 anfängt. Die 2. Zeile &#039;&#039;localhost&#039;&#039; erlaubt das auch dem Rechner selbst.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung muss zum Aktivieren der Einstellung der snmpd-Dienst neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service snmpd restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SNMP Client - Verwendung von OID-Namen aktivieren ==&lt;br /&gt;
Um OID Namen statt der kryptischen 1.3.x.x.x.x. Nummern zu verwenden ist noch dieser Schritt nötig.&lt;br /&gt;
&lt;br /&gt;
Aus-Kommentieren mibs : in Datei /etc/snmp/snmp.conf      &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# As the snmp packages come without MIB files due to license reasons, loading&lt;br /&gt;
# of MIBs is disabled by default. If you added the MIBs you can reenable&lt;br /&gt;
# loaging them by commenting out the following line.&lt;br /&gt;
&lt;br /&gt;
#### mibs :   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... In Arbeit .... &lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12523</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12523"/>
		<updated>2015-10-16T10:04:11Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
rocommunity public                              # readonly community&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16    # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       localhost         # write from localhost&lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
proc  init                        # init process dummy for reboot&lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
proc  ser2net                     # process ser2net / at least one   process&lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
... In Arbeit ....&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12522</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12522"/>
		<updated>2015-10-16T10:02:35Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi / Rasbian und SNMP (IN ARBEIT)==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert, um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Das [https://de.wikipedia.org/wiki/Simple_Network_Management_Protocol &#039;&#039;&#039;SNMP (Simple Network Management Protocol)&#039;&#039;&#039;] läuft  über das verbindungslose UDP Protokoll Port 161(SNMP) und Port 162(TRAP)  und wurde entwickelt, um Netzwerkgeräte entfernt zu überwachen und zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Installation Debian/Rasbian und MIBS laden == &lt;br /&gt;
Wenn man nicht als root unterwegs ist, muss noch ein sudo bei jedem Befehl vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install snmpd snmp snmp-mibs-downloader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollten die [https://de.wikipedia.org/wiki/Management_Information_Base &#039;&#039;&#039;MIB&#039;s (Management Information Base)&#039;&#039;&#039;] nicht automatisch geladen werden, wird der Download initiert.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; download-mibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SNMP Prozessüberwachung ==&lt;br /&gt;
Konfiguration in Datei /etc/snmp/snmpd.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
rocommunity public                              # readonly community&lt;br /&gt;
rwcommunity writesecret       192.168.0.0/16    # write from 192.168.x.x subnets&lt;br /&gt;
rwcommunity writesecret       localhost         # write from localhost&lt;br /&gt;
&lt;br /&gt;
#  Process Monitoring&lt;br /&gt;
proc  init                        # init process dummy for reboot&lt;br /&gt;
procfix init sudo /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
proc  ser2net                     # process ser2net / at least one   process&lt;br /&gt;
procfix ser2net  /usr/bin/sudo  /etc/init.d/ser2net restart  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Diese Infos beziehen sich auf die Protokoll Version 1 und 2c.&lt;br /&gt;
&lt;br /&gt;
* rocommunity = Name für den Zugriff im &amp;quot;Nur Lesemodus&amp;quot;. Wird sonst nichts angegeben, ist der Zugriff von jeder IP aus möglich.&lt;br /&gt;
* rwcommunity = Name für den &amp;quot;Schreibzugriff&amp;quot;.&lt;br /&gt;
* proc = Prozessname wie er mit der Befehlszeile ps -aux angezeigt wird.&lt;br /&gt;
* procfix = Befehl der ausgeführt wird, wenn auf die dazugehörige [https://de.wikipedia.org/wiki/Object_Identifier &#039;&#039;&#039; OID (Object Identifier)&#039;&#039;&#039;]  &#039;&#039;schreibend&#039;&#039; zugegriffen wird.&lt;br /&gt;
&lt;br /&gt;
== Sudo Rechtevergabe ==&lt;br /&gt;
Wird &#039;&#039;procfix&#039;&#039; verwendet, muß noch diese Einstellung gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Konfiguration in  Datei /etc/sudoers      &lt;br /&gt;
&lt;br /&gt;
Eine Zeile wie folgt hinzufügen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
### for snmp procfix scripts as root&lt;br /&gt;
snmp ALL=(ALL) NOPASSWD: ALL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
Der SNMP Dienst läuft auf Rasbian standardmäßig unter dem user:snmp und group:snmp.&lt;br /&gt;
&lt;br /&gt;
Dieser User darf keine Prozesse starten oder beenden und schon gar nicht den gesamten Rechner neu starten. &lt;br /&gt;
&lt;br /&gt;
Um das zu ermöglichen, müssen  dem Benutzer snmp root Rechte per sudo vergeben werden. Dazu ist der gezeigte Eintrag nowendig.&lt;br /&gt;
&lt;br /&gt;
 [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12520</id>
		<title>Raspberry Pi / Rasbian und SNMP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi_/_Rasbian_und_SNMP&amp;diff=12520"/>
		<updated>2015-10-16T00:29:03Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: Die Seite wurde neu angelegt: „{{Baustelle}}  === Raspberry Pi / Rasbian und SNMP ==  Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &amp;#039;&amp;#039;&amp;#039;Raspberry Pi&amp;#039;&amp;#039;&amp;#039;.  Wei…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi / Rasbian und SNMP ==&lt;br /&gt;
&lt;br /&gt;
Dieses Howto beschreibt die Installation des SNMP Daemons und der SNMP Tools am &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Weiters wird beschrieben, wie man SNMP konfiguriert um damit einen laufenden Prozess zu überwachen und bei Bedarf neu zu starten. Auch ein kompletter Neustart des Mini-Rechners  über SNMP wird hier gezeigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12516</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12516"/>
		<updated>2015-10-15T23:48:05Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi/mPower IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Reconnects alle 2 Minuten ===&lt;br /&gt;
Wird kein Software-Kontroller verwendet und ist WiFi mit WPA Verschlüsselung eingestellt verliert die Leiste immer die Verbindung zum Accesspoint.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Grund ist ein periodischer Neustart des WPA Dienstes in der Leiste. Auch ein Update auf die Version 2.1.11 hat das Problem nicht beseitigt.&lt;br /&gt;
[http://community.ubnt.com/t5/mFi/mFi-mPower-mini-disassociates-and-reassociates-to-WiFi-AP-every/m-p/1372786 Eintrag im Ubnt Forum]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Im Moment stellt  nur die Verwendung der unsicheren WEP Verschlüsselung das Problem ab. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12515</id>
		<title>Benutzer Diskussion:Pipp37</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12515"/>
		<updated>2015-10-15T23:44:46Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Ubiquiti mFi/mPower test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Pipp37,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, [[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter [[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Ph1959de]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Ph1959de|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 23:00, 1. Apr. 2015 (CEST)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12514</id>
		<title>Benutzer Diskussion:Pipp37</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12514"/>
		<updated>2015-10-15T23:44:33Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Pipp37,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, [[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter [[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Ph1959de]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Ph1959de|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 23:00, 1. Apr. 2015 (CEST)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ubiquiti mFi/mPower test ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi/mPower IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12501</id>
		<title>Benutzer Diskussion:Pipp37</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Pipp37&amp;diff=12501"/>
		<updated>2015-10-13T22:59:19Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Ubiquiti mFi/mPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Pipp37,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, [[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter [[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Ph1959de]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Ph1959de|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 23:00, 1. Apr. 2015 (CEST)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ubiquiti mFi/mPower test ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi/mPower IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
IP 220V Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Powerfaktor&lt;br /&gt;
* aktuelle Energie&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
 &lt;br /&gt;
Es gibt für den EU-Raum 3 Modelle.&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12500</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12500"/>
		<updated>2015-10-13T22:53:12Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi/mPower IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Reconnects alle 2 Minuten ===&lt;br /&gt;
Wird kein Software-Kontroller verwendet und ist WiFi mit WPA Verschlüsselung eingestellt verliert die Leiste immer die Verbindung zum Accesspoint.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Grund ist ein periodischer Neustart des WPA Dienstes in der Leiste. Auch ein Update auf die Version 2.1.11 hat das Problem nicht beseitigt.&lt;br /&gt;
[http://community.ubnt.com/t5/mFi/mFi-mPower-mini-disassociates-and-reassociates-to-WiFi-AP-every/m-p/1372786 Eintrag im Ubnt Forum]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Im Moment stellt  nur die Verwendung der unsicheren WEP Verschlüsselung das Problem ab. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12486</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12486"/>
		<updated>2015-10-11T10:29:00Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* WiFi Reconnects alle 2 Minuten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Reconnects alle 2 Minuten ===&lt;br /&gt;
Wird kein Software-Kontroller verwendet und ist WiFi mit WPA Verschlüsselung eingestellt verliert die Leiste immer die Verbindung zum Accesspoint.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Grund ist ein periodischer Neustart des WPA Dienstes in der Leiste. Auch ein Update auf die Version 2.1.11 hat das Problem nicht beseitigt.&lt;br /&gt;
[http://community.ubnt.com/t5/mFi/mFi-mPower-mini-disassociates-and-reassociates-to-WiFi-AP-every/m-p/1372786 Eintrag im Ubnt Forum]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Im Moment stellt  nur die Verwendung der unsicheren WEP Verschlüsselung das Problem ab. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12485</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12485"/>
		<updated>2015-10-11T10:25:00Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* WiFi Reconnects alle 2 Minuten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Reconnects alle 2 Minuten ===&lt;br /&gt;
Wird kein Controller verwendet und ist WiFi mit WPA Verschlüsselung eingestellt verliert die Leiste immer die Verbindung zum Accesspoint.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Grund ist ein periodischer Neustart des WPA Dienstes in der Leiste. Auch ein Update auf die Version 2.1.11 hat das Problem nicht beseitigt.&lt;br /&gt;
[http://community.ubnt.com/t5/mFi/mFi-mPower-mini-disassociates-and-reassociates-to-WiFi-AP-every/m-p/1372786 Eintrag im Ubnt Forum]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Im Moment stellt  nur die Verwendung der unsicheren WEP Verschlüsselung das Problem ab. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12484</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12484"/>
		<updated>2015-10-11T10:20:34Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Bekannte Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Reconnects alle 2 Minuten ===&lt;br /&gt;
Wird kein Controller verwendet und ist WiFi mit WPA Verschlüsselung eingestellt verliert die Leiste immer die Verbindung zum Accesspoint.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Grund ist ein periodischer Neustart des WPA Dienstes in der Leiste. Auch ein Update auf die Version 2.1.11 hat das Problem nicht beseitigt.&lt;br /&gt;
[http://community.ubnt.com/t5/mFi/mFi-mPower-mini-disassociates-and-reassociates-to-WiFi-AP-every/m-p/1372786 Link im Ubnt Forum]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Im Moment stellt  nur die Verwendung der unsicheren WEP Verschlüsselung das Problem ab. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12483</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12483"/>
		<updated>2015-10-11T09:55:35Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12482</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12482"/>
		<updated>2015-10-11T09:53:46Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* WiFi Frequenzen / Kanäle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12481</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12481"/>
		<updated>2015-10-11T09:53:13Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Bekannte Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Frequenzen / Kanäle ===&lt;br /&gt;
Es wurde beobachtet, dass  sich die Leisten  bei der Verwendung des WiFi Kanals 13 (2472 MHz) nicht verbinden. &lt;br /&gt;
Dieses Verhalten wurde  sogar bei  Kanälen ab 8 (2447 MHz) beobachtet.&lt;br /&gt;
Dabei wurde die Firmware 2.1.8 und 2.1.11  verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: WiFi Kanal von 1 - 7 (2412 MHz - 2442 MHz) bei den WLAN-Accesspoints einstellen &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12479</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12479"/>
		<updated>2015-10-11T09:32:12Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.11 (4/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-11/m-p/1230774]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12478</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=12478"/>
		<updated>2015-10-11T09:30:11Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Firmware Versionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
*    2.1.11 - 2015-04-16&lt;br /&gt;
&lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=10964</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=10964"/>
		<updated>2015-04-10T21:11:02Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: /* Bekannte Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Zeitsynchronisation ===&lt;br /&gt;
Wenn die NTP Zeitsynchronisation mit der erforderliche Zeitzone nicht eingestellt wird, funktionieren gewisse Dinge wie z. B. das Summieren der Verbrauchswerte nicht.&lt;br /&gt;
&lt;br /&gt;
Darum muss unbedingt der NTP Sync in der WEB-UI der Leiste nach dem Upgrade auf 2.1.8, wie in diesem Wiki beschrieben, eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
 &lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=10892</id>
		<title>Ubiquit mFi/mPower</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Ubiquit_mFi/mPower&amp;diff=10892"/>
		<updated>2015-04-06T23:20:36Z</updated>

		<summary type="html">&lt;p&gt;Pipp37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubiquiti mFi/mPower==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;Ubiquiti mFi&amp;amp;copy;/mPower&amp;amp;copy; IP Steckdosen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Über WiFi/LAN schaltbare Steckdosenleiste mit Verbrauchsmessung. (LAN nur mit Pro Version)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
230V IP-Steckdosenleiste mit unterschiedlicher Portanzahl. Jede Steckdose kann extra per Befehl geschaltet werden. Die angeschlossene Last wird gemessen und stellt folgende Werte pro Port zur Verfügung:&lt;br /&gt;
* Stromaufnahme&lt;br /&gt;
* Stromspannung &lt;br /&gt;
* Wirkleistungsfaktor&lt;br /&gt;
* aktuelle Energieaufnahme&lt;br /&gt;
* verbrauchte Energie - aktuelles Monat (ab Firmware 2.1.x)&lt;br /&gt;
* verbrauchte Energie - Vormonat (ab Firmware 2.1.x)&lt;br /&gt;
&lt;br /&gt;
Protokolle&lt;br /&gt;
* http, https, HTTPS, telnet, ssh, ntp&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
Die Leisten lassen sich komplett per Web Browser flashen,bedienen und konfigurieren. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Standard Login-Zugangsdaten zur Ubi-WEB-UI lauten: User:ubnt / Passwort: ubnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich waren die Geräte in Verbindung mit der Ubiquiti Kontroller Software vorgesehen, können nun aber auch problemlos &amp;quot;standalone&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Alle hier in diesem WIKI zusammengestellten Informationen beziehen sich auf die Verwendung der Leisten &#039;&#039;&#039;ohne&#039;&#039;&#039; Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
Bei Lieferungen im April 2015 war auf allen Leisten die Firmware Version 2.0.8 installiert. Diese Firmware bietet nur rudimentäre Funktionen und auch die Energiemessung funktioniert nur in Verbindung mit der 64-Bit Java-Kontrollersoftware.&lt;br /&gt;
&#039;&#039;&#039;Darum ist ein Firmwareupdate auf mind. 2.1.8 (Stand 2/2015) notwendig.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Verhalten nach Stromausfall===&lt;br /&gt;
Nach einem Stromausfall (bzw. direkt nach dem Einstecken in eine Steckdose) werden die Ports nach dem Starten der Firmware immer eingeschaltet.&lt;br /&gt;
Das gilt allerdings nur ohne der Verwendung der Ubiquiti Kontrollersoftware.&lt;br /&gt;
&lt;br /&gt;
=== Auslieferungsfirmware Version 2.0.8 ===&lt;br /&gt;
* In dieser Version funktioniert die Energiemessung im Standalone-Modus nicht. &lt;br /&gt;
* Keine Möglichkeit die Zeitzone sowie die NTP Zeit-Synchronistaion über die WEB-UI einzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lösung: Firmware auf mind. 2.1.8 upgraden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Firmware Versionen ==&lt;br /&gt;
Folgende Versionen wurden von Ubiquiti zum Download freigegeben.&lt;br /&gt;
&lt;br /&gt;
*    2.0.7&lt;br /&gt;
* 2.0.8 (Download nicht auffindbar - Standard-Auslieferungsversion? &lt;br /&gt;
*    2.0.12&lt;br /&gt;
*    2.0.13&lt;br /&gt;
*    2.0.14&lt;br /&gt;
*    2.0.15&lt;br /&gt;
*    2.0.23&lt;br /&gt;
*    2.0.24&lt;br /&gt;
*    2.1.1&lt;br /&gt;
*    2.1.2&lt;br /&gt;
*    2.1.3&lt;br /&gt;
*    2.1.4&lt;br /&gt;
*    2.1.5&lt;br /&gt;
*    2.1.8 - 2015-02-26&lt;br /&gt;
 &lt;br /&gt;
== Modelle EU Raum ==&lt;br /&gt;
* 1 Port / P1E / WiFi&lt;br /&gt;
* 3 Port / P3E / WiFi&lt;br /&gt;
* 6 Port / P6E / WiFi &amp;amp; LAN (Pro Version)&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower Pro (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower6eu.jpg|200px|thumb|right|mPower 6 Port EU]]&lt;br /&gt;
* Größe: 250.37 x 116.7 x 49 mm&lt;br /&gt;
* Gewicht: 754,4g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 6&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* LAN: 1 x 10/100 Ethernet&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower3eu.jpg|200px|thumb|right|mPower 3 Port EU]]&lt;br /&gt;
* Größe: 240 x 82.8 x 41.5 mm&lt;br /&gt;
* Gewicht: 545g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 16A pro Ausgang, 16A Gesamt&lt;br /&gt;
* Ausgänge: 3&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: -10 bis 45°C&lt;br /&gt;
* Luftfeuchte: 95% max.&lt;br /&gt;
&lt;br /&gt;
=== Spezifikationen mPower mini (EU)===&lt;br /&gt;
[[Datei:Ubi-mPower1eu.jpg|100px|thumb|right|mPower 1 Port EU]]&lt;br /&gt;
* Größe: 110.8 x 71 x 67.7 mm&lt;br /&gt;
* Gewicht: 170g&lt;br /&gt;
* Spannung: 220-250VAC, 50Hz, 10A &lt;br /&gt;
* Ausgänge: 1&lt;br /&gt;
* Speicher: 16 MB RAM, 8 MB Flash&lt;br /&gt;
* WiFi Standard: 802.11b/g/n&lt;br /&gt;
* LEDs: 1 LED Status&lt;br /&gt;
* Betriebstemperatur: 0 bis 40°C&lt;br /&gt;
* Luftfeuchte: 10 bis 90% Nichtkondensierend&lt;br /&gt;
&lt;br /&gt;
== Hinweis zum Betrieb mit FHEM ==&lt;br /&gt;
Es befindet sich gerade ein neues Modul in Entwicklung. Die Infos dazu sind in dieser [http://forum.fhem.de/index.php/topic,35722.0.html Diskussion im Fhem Forum]zu finden.&lt;br /&gt;
&lt;br /&gt;
== Ersteinrichtung ohne Controller == &lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Iphone ===&lt;br /&gt;
&lt;br /&gt;
Smartphone / z.B. mit dem  Iphone unter IOS7 &amp;lt;br /&amp;gt;&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
#    Verbinden mit dem neuen WLAN Netzwerk - nach ein paar Sekunden erscheint die UBI-Web Oberfläche automtatisch. (Captive Portal).  &amp;lt;br /&amp;gt; Einfach warten, bis das Portal erscheint, das kann schon mal 10 bis 20 Sekunden dauern. &lt;br /&gt;
#    Sobald das Portal sichtbar ist, das eigene WLAN auswählen und die Zugangsdaten eingeben.&lt;br /&gt;
#    Danach den mFi Account konfigurieren. Dabei ist der Eintrag Personal auszuwählen und alles andere frei zu lassen. &lt;br /&gt;
#    Apply dücken, die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben. &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin   &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots Iphone:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ubi-discoverytool.JPG|Ubi Discovery Toolbox&lt;br /&gt;
File:Iphone-captive1.jpg|Captive Portal - select WiFi Network / mFi Account&lt;br /&gt;
File:Iphone-captive2.jpg|Captive Portal - select mFi Account&lt;br /&gt;
File:upgrade-2-0-8.jpg|UBI Web UI - upgrade.cgi&lt;br /&gt;
File:upgrade-2-0-8-final.jpg|UBI Web UI - upgrade.cgi done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ersteinrichtung der Leiste ohne Controller / Windows7 ===&lt;br /&gt;
Ubiquiti Auslieferungs-Firmware Version: 2.0.8 (oder alle 2.x Versionen)&lt;br /&gt;
&lt;br /&gt;
#    Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden des PC  mit dem neuen WLAN Netzwerk. &lt;br /&gt;
# Warten bis das Fenster zum neuen Netzwerk erscheint - dann Heimnetzwerk wählen. &lt;br /&gt;
# Dann mit dem Firefox auf &amp;lt;nowiki&amp;gt; http://192.168.2.20 &amp;lt;/nowiki&amp;gt; gehen und eine Ausnahme für das Zertifikat hinzufügen. &lt;br /&gt;
# Es erschein  die Konfigurationsseite. Dort Network scannen und die Security Daten des WLAN eingeben. &#039;&#039;&#039;Beim mFi Account ist NICHTS auszuwählen - alles leer lassen! &#039;&#039;&#039;&lt;br /&gt;
# Apply dücken. Die mPower Leiste startet neu und nach ca. 1 Minute sollte sie sich mit dem WiFi verbunden haben und per DHCP eine IP-Adresse  erhalten haben &lt;br /&gt;
#    Um die IP-Adresse herauszufinden, einfach das [http://www.ubnt.com/downloads/discovery/ubnt-discovery-v2.3.zip IP-Address Ubiquiti Discovery Tool v2.3] runterladen und entpacken.  &amp;lt;br /&amp;gt;Dann die .bat oder die .jar Datei doppelklicken und  das Tool sucht im lokalen Netz nach UBI-Produkten. &lt;br /&gt;
#    Nun die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin.&lt;br /&gt;
#   Vor dem Flashen mit dem Browser normal  auf die Leiste surfen. &amp;lt;nowiki&amp;gt; http://IP-Leiste&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt; Wechseln zum Reiter Configuration. Wenn nochmal die Konfigurationsseite kommen sollte, einfach den Kontroller neu einstellen - alles leer lassen.  &lt;br /&gt;
#    Jetzt wird die Leiste mit einem Browser geflasht (am Besten mit Firefox) indem man auf die IP der Leiste geht und direkt zur upgrade.cgi surft. &amp;lt;br /&amp;gt;   &#039;&#039;&#039;&amp;lt;nowiki&amp;gt; http://IP-UBILeiste/upgrade.cgi&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;    -     Username=ubnt / Passwort=ubnt  &amp;lt;br /&amp;gt;Wenn das Upgrade fertig ist bleibt der Updatebalken  bei 100% stehen. &lt;br /&gt;
#   &#039;&#039;&#039;Nach dem Updaten die Ports der Leiste über die WEB Oberfläche aus- und einschalten.&#039;&#039;&#039;  &amp;lt;br /&amp;gt;Ab sofort zählt sie dann auch die verbrauchte Energie wie gewünscht ohne Ubi-Kontroller!&lt;br /&gt;
# Weiter geht es mit der Einrichtung der  [[#Einstellung_der_Timezone_und_NTP_Timesync|Zeitzone/Timesync]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Screenshots:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pc-wlan1.jpg|WiFi verbinden&lt;br /&gt;
File:Pc-wlan2-netzwerk.JPG|Netztwerktyp&lt;br /&gt;
File:Pc-wlan3-firefox.JPG|Firefox Zertifikat 1&lt;br /&gt;
File:Pc-wlan4-firefox.JPG|Firefox Zertifikat 2&lt;br /&gt;
File:Pc-wlan5-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Pc-wlan7-firefox.JPG|UBI Config UI&lt;br /&gt;
File:Iphone-captive2.jpg|UBI FW 2.0.8 UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update alter 1er Firmware ===&lt;br /&gt;
&lt;br /&gt;
Eine uralte Firmware (vor 2.0) auf die 2.1.8 Version upzudaten ist nur per Telnet/SSH/SCP möglich.&lt;br /&gt;
&lt;br /&gt;
# Windows Benutzer bitte Putty downloaden. Es wird pscp und putty benötigt. Alle Dateien in ein einfach zu ereichendes Verzeichnis wie z.B. c:\temp downloaden.&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe&amp;lt;br /&amp;gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe &amp;lt;br /&amp;gt; Linux Benutzer sollten ssh installiert haben.&lt;br /&gt;
# Die Firmware Version 2.1.8 von http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin   downloaden.  &amp;lt;br /&amp;gt; Ab der 2.1x Version gibt es für alle Leisten (1-Port, 3-Port und 6 Port) die selbe firmware.bin. &amp;lt;br /&amp;gt; Linux User Download mit: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; wget http://www.ubnt.com/downloads/mfi/2.1.8/firmware/M2M/firmware.bin &amp;lt;/nowiki&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Reset der Leiste mit &amp;quot;Factory reset&amp;quot; - Drücken der reset Taste auf der Leiste für mindestend 10 Sekunden.  &amp;lt;br /&amp;gt;Die Leiste startet neu hoch und erstellt einen Accesspoint mit einer eigenen SSID mit dem Namen mfi-xxxxx.   &lt;br /&gt;
# Verbinden mit dem neuen WLAN Netzwerk. Die IP Adresse der Leiste lautet: 192.168.2.20.&lt;br /&gt;
# Windows Nutzer gehen auf die Eingabeaufforderung und wechseln in das Verzeichnis c:\temp. &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;c: &amp;lt;ENTER&amp;gt; &amp;lt;br /&amp;gt;cd \temp &amp;lt;Enter&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Dann wird die Firmware  übertragen. Benutzername und  Passwort lauten ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; pscp.exe -scp firmware.bin  ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; scp firmware.bin ubnt@192.168.2.20:/tmp/fwupdate.bin &amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun mit SSH  oder Telnet auf die Leiste gehen. Login: ubnt / Passwort: ubnt &amp;lt;br /&amp;gt; Windows:&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; putty.exe -telnet 192.168.2.20  &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; ssh ubnt@192.168.2.20 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt das Firmware-Flashen anstoßen. Das abschließende &amp;amp; Zeichen nicht vergessen! &amp;lt;br/&amp;gt; Windows und Linux: &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt; /sbin/syswrapper.sh upgrade2 &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
# Die LED der Leiste blinkt nach kurzer Zeitg abwechselnd orange und blau. Diesen Vorgang nicht unterbrechen!! Nach ein paar Minuten ist der Vorgang beendet. &lt;br /&gt;
# Abschließend noch mal einen Hardware Reset mit der Taste, wie am Anfang, machen. &lt;br /&gt;
# Nun kann die Leiste, wie in der Ersteinrichtung beschrieben, konfiguriert werden. Die Updateprozeduren müssen natürlich nicht nochmal ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellung der Timezone und NTP Timesync ===&lt;br /&gt;
Die UBI-Web-UI der Firmware 2.1.8 zeigt 2 neue Reiter System und Machines.&lt;br /&gt;
Im Reiter System  wird die Zeitzone eingestellt. &amp;lt;br /&amp;gt; GMT+1 Central European Time (Daylight Savings) und aktivieren Enable NTP Client mit dem Server pool-ntp.org. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dann den Button &amp;quot;Change&amp;quot;  klicken und &amp;quot;Configuration contains changes. Apply these changes? APPLY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ab sofort hat die Leiste immer die richtige Zeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:ubi-fw-2.1.8-ui.jpg|Web UI 2.1.8&lt;br /&gt;
File:ubi-zeitzone.jpg|Zeitzoneneinstellung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Website von Ubiquiti[http://www.ubnt.com/]&lt;br /&gt;
* PDF Datenblatt mFi/mPower [http://dl.ubnt.com/datasheets/mfi/mFi_DS.pdf]&lt;br /&gt;
* Forum des Herstellers [http://community.ubnt.com/t5/mFi/bd-p/mFi]&lt;br /&gt;
* mFi/mPower Firmware release 2.1.8 (2/2015) [http://community.ubnt.com/t5/mFi/mFi-release-2-1-8/td-p/1188368/jump-to/first-unread-message]&lt;br /&gt;
* Upgrade Prozedur aus dem Ubiquiti Forum [https://community.ubnt.com/t5/mFi-Frequently-Asked-Questions/mFi-Can-I-upgrade-mFi-device-firmware-manually/ta-p/485311]&lt;br /&gt;
* Varia Store Deutschland (Bezugsquelle) [http://varia-store.com/Hardware/UBIQUITI-Networks:::637_734.html]&lt;br /&gt;
* Forenbeitrag Fhem: {{Link2Forum|Topic=35722}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:IP Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;/div&gt;</summary>
		<author><name>Pipp37</name></author>
	</entry>
</feed>