Hallo,
ich bin verzweifelt. Ich habe die letzten Tage mühselig probiert die im Wiki beschriebene Anwesenheitserkennung zum laufen zu bringen. Und es will einfach nicht klappen. Ab und zu (ohne Rhythmus) wird das gerät kurz als "present" erkannt, dann verschwindet es wieder.
Über das Terminal vom rpi ist es aber ohne Probleme möglich den ddwrt Router über snmp an zu sprechen.
Kurz zum Set Up:
DDWRT Router mit funktionsfähigen SNMP
RPI mit funktionsfähigen snmp
Falls meine Fragestellung nicht verständlich ist, bitte einfach fragen.
Ich hoffe mir kann jemand helfen.
lg
TechnoTron
Hast Du mal ein List von Deinem Device?
pi@raspberrypi ~ $ snmpwalk -c public -v1 192.168.2.1 .1.3.6.1.2.1.3.1.1.2
iso.3.6.1.2.1.3.1.1.2.2147443544.1.192.168.2.47 = Hex-STRING: 40 B3 95 36 16 68
Meinst du das hier?
Neee ... wie Du es in FHEM definiert hast!
Und was willst Du genau damit erreichen?
Also ich möchte per snmp die anwesenheit überprüfen. Genau wie im Wiki (http://www.fhemwiki.de/wiki/Anwesenheitserkennung (http://www.fhemwiki.de/wiki/Anwesenheitserkennung)) beschrieben.
Meine myUtils:
use Net::SNMP;
sub
snmpCheck($$)
{
my ($airport,$client)= @_;
my $community = "public";
my $host = $airport;
my $oid = ".1.3.6.1.2.1.3.1.1.2";
#my $oid = ".1.3.6.1.2.1.3.1.1.2.25.1.10.0.1";
my ( $session, $error ) = Net::SNMP->session(
-hostname => $host,
-community => $community,
-port => 161,
-version => 1
);
if( !defined($session) ) {
return 0;
return "Can't connect to host $host.";
}
my @snmpoids = ();
my $response = $session->get_next_request($oid);
my @nextid = keys %$response;
while ( @nextid && $nextid[0] && $nextid[0] =~ m/^$oid/ ) {
push( @snmpoids, $nextid[0] );
$response = $session->get_next_request( $nextid[0] );
@nextid = keys %$response;
}
if( !defined($response = $session->get_request( @snmpoids ) ) ) {
return 0;
}
foreach my $value (values %$response) {
return 1 if( $value eq $client )
}
return 0;
}
und meine config:
define iPhone2 PRESENCE function {snmpCheck("192.168.2.1","0x40b395361668")} 10 10
Hast Du das Perl Modul Net::SNMP installiert?
P.S. Bitte nicht per cpan sondern per Distri-Tool (Updatefester)
Ja habe ich.
(Wurde mit "sudo apt-get install snmpd snmp snmp-mibs-downloader" installiert.)
neee, hast Du damit nicht
apt-get -s install libsnmp-perl
(Ich hoffe jedenfalls, das dieses das richtige Modul ...)
Also das Modul habe ich installiert, ja.
Ok habe das Problem selbst gelöst. ::)
Aber DANKE!
EDIT:
Es lag am Router. Ich habe exakt den gleichen RPI genommen und mit einem anderen Router (neure Version aber gleiche Einstellungen) verbunden und es hat auf Anhieb funktioniert.
Auch nach 3 weiteren versuchen (wechsel zwischen den Routern) kam ich immer auf das gleich Ergebnis.
Bei fragen schreibt mir einfach.