Drucker-Status auslesen

auch für dich nochmal. :wink:

Auszug aus der Migration.

Durch eine Inkompatibilität von PHP 5.4 und OpenSSL 1.0 können über die file_get_contents (u.ä.) Funktion keine Anfragen per SSL gestellt werden. Die IP-Symcon interne Funktion Sys_GetURLContent bietet dort passenden Ersatz. Falls die SSL Funktionalität zwingend notwendig ist (z.B. Exchange oder SNMP Extension), und SSL innerhalb vom WebFront nicht benötigt wird, kann die alte Verhaltensweise mit folgendem Zusatzpaket wiederherstellt werden: OpenSSL 0.9.8

Bin gerade über das (http://www.ip-symcon.de/forum/f52/snmp-php-5-4-a-17331/) und das (http://www.ip-symcon.de/forum/f18/php_snmp-dll-update-2-5-a-17081/#post149239) gestolpert.

Hatte die beiden Files in C:\Windows ersetzt - leider ohne Erfolg. Auch nach dem Ersetzenden beiden dlls in C:\IP-Symcon und dem Neustart bekomme ich immernoch die Meldung:

Fatal error: Call to undefined function snmpget() in [Scripte\SNMP\glbj] on line 2

Dann habe ich aus dem aktuellen XAMPP-Paket die php_snmp.dll (5.3.8) ins ext-Verzeichnis kopiert, diese in der C:\IPS-Symcon\php.ini eingetragen, Neustart -> Fehlermeldung bleibt. Wenn ich die php.ini danach wieder öffne, fehlt der eben getätigte Eintrag -> bei phpinfo() steht gar nichts von snmp. Benutze ich evtl. eine falsche php_snmp.dll?

Du solltest in Deinem Log einen entsprechenden Vermerk finden dass er die DLL wegen einer falschen Versionsnummer wieder rausgeworfen hat.

Die beiden Dateien aus dem oben angegebenen Link, gehören ins Root-Verzeichnis von IPS.

z.B. C:/IP-Symcon!!!

Hallo zusammen
Da ich zimlich neu bin hier ,habe iche ine Frage
Gibts sowas fur ein Samsung CLX-3180 auch?
die Sqript in dem Forum habe ich getestet aber Funktionieren überhaubt nicht,

Gruss Erwin

Ich habe auch Tool für Druckerüberwachung gebraucht und am Schluss selbe in unsere Firma das Programm entwickelt.
Das Programm ist noch im Beta-Version und kann für 3 Drucker gratis verwendet werden.
Hier Link zum herunterladen:

Hallo allerseits,

Hat jemand schon mal den Status eines Samsung Drucker per SNMP ausgelesen? In meinem konkreten Fall wäre es ein CLX-4195N. Habe im www noch keine MIB Tabelle finden können. Auch die Aussage vom Support ist echt Spitze :slight_smile:

[HR][/HR][i]Um zu klären, wo Sie diese erhalten können oder ob wir selbst Ihnen diese zukommen lassen, ist eine kurze interne Recherche erforderlich. Sobald wir die nötigen Informationen zusammen haben, melden wir uns wieder bei Ihnen.

Bitte geben Sie uns dazu etwas Zeit. [/i]
[HR][/HR]
Das dauert jetzt nun schon ne Woche :rolleyes: Naja … wie auch immer.
Kennt jemand die OID Nummern um z.B. den Tonerstatus auszulesen?

Nimm doch einfach nen MiB-Browser und scann das Gerät. Dann siehst Du, welche Daten wo liegen.

Ja das werde ich einmal versuchen. Das Gerät werde ich dann nächste Woche in den Händen halten. Dann kann ich es testen. Hab nur gelesen, dass es sein kann, dass man nur die OID Nummern mit dem Wert darin bekommt und keinen Verweis bzw. Hinweis was die Nummer für ein Status sein soll. Oder stimmt das nicht? :confused: Man muss ja dann auch noch die Community wissen worauf man dann einen „walk“ machen kann.

Mal kuckn was er dann so ausspuckt :slight_smile:

Hallo nochmal,

Hab den Drucker jetzt vor mir und möchte hier kurz meine Erfahrung mitteilen. Könnte ja für den Einen oder Anderen auch nützlich sein :slight_smile:

Wie ich jetzt gelernt habe, reicht es wenn man mit dem MIB Browser, ich verwende den „ManageEngine MibBrowser“ der ist free, einen SNMPWalk macht. Dann spuckt er in der Regel sämtliche OIDs mit irgendwelchen Werten aus. Um das Ganze jetzt noch lesbar zu gestalten habe ich nur das entsprechende Drucker Modul („Priner-MIB“) unter „Load Module“ geladen. Dann erneut einen SNMPWalk gestartet und siehe da, die Werte bekommen eine Zugehörigkeit. Mein Samsung CLX-4195N liefert jetzt folgendes:

Tonertypen - Mit der OID .1.3.6.1.2.1.43.12.1.1.4 spuckt er folgendes aus:

prtMarkerColorantValue.1.1 Cyan
prtMarkerColorantValue.1.2 Magenta
prtMarkerColorantValue.1.3 Yellow
prtMarkerColorantValue.1.4 Black

Kapazität - Mit der OID .1.3.6.1.2.1.43.11.1.1.8 spuckt er folgendes aus:

prtMarkerSuppliesMaxCapacity.1.1 700
prtMarkerSuppliesMaxCapacity.1.2 700
prtMarkerSuppliesMaxCapacity.1.3 700
prtMarkerSuppliesMaxCapacity.1.4 1000

Status - Mit der OID .1.3.6.1.2.1.43.11.1.1.9 spuckt er folgendes aus:

prtMarkerSuppliesLevel.1.1 698
prtMarkerSuppliesLevel.1.2 697
prtMarkerSuppliesLevel.1.3 699
prtMarkerSuppliesLevel.1.4 698

Das jetzt noch per php auswerten, anzeigen und gut ist

Hallo Gemeinde,

ich versuche auch gerade den Tonerstatus von meinem Brother MFC 9140 CDN auszulesen…leider ohne Erfolg.

Der link aus der Migration „OpenSSL 0.9.8“ bringt mich auf einen 404…

Fehlermeldung wenn ich das Script von Wgreipel ausführe ist :

Fatal error:  Call to undefined function snmpget() in [Entwicklungsbereich Sascha\Drucker Status\Drucker Status\Auslese-Skript] on line 47
Abort Processing during Fatal-Error: Call to undefined function snmpget()
   Error in Script C:\Haussteuerung Installationspfad\IP-Symcon\scripts\26200.ips.php on Line 47

Ich habe auch die php_snmp.dll von Werner in das ext Verzeichnis kopiert(danach Neustart), aber genau das scheint ja nicht mehr zu gehen…

Der thread ist ja schon ein paar Tage alt, aber vielleicht erinnert sich ja einer von Euch, oder hat die Tonerüberwachung auch heute noch erfolgreich am laufen…

Meine IPS Version ist 3.40

Vielen Lieben Dank
Sascha

Wird die DLL korrekt geladen, vermutlich nicht, sondst wäre die Funktion verfügbar.

Schau mal nach der Fehlermeldung ziemlich am Anfang im Log beim Start von IPS.

Zum Thema OpenSSL 0.9.8 >> Der Link auf der folgenden Symcon-Seite funktioniert. Ich konnte OpenSSL eben ohne Probleme downloaden…
Migration (V2.4->V2.5) — IP-Symcon :: Automatisierungssoftware

Direkter Download-Link:
https://www.symcon.de/files/service/OpenSSL-0.9.8.zip

Grüße,
Chris

Danke für die Antworten,

der Download hat wunderbar geklappt, danke.

Ich habe jetzt die 2 Dateien von Open SSL 0.9.8 ausgetauscht (vorher alte Dateien gesichert, danach Neustart vom IPS Service)

Hier mal ein Auszug aus dem Logfile, bei dem es tatsächlich snmp zu Problemen kommt:

>Erweiterung php_snmp.dll nicht geladen. Version stimmt nicht überein: PHP: 5.4.24, EXT: 5.3.1

und dann noch ein paar, bei denen ich nicht weiß, ob es erst seit meiner Änderung der Open SSL 0.9.8 kommt:

>Erweiterung php_ldap.dll nicht geladen. Fehlende Abhängigkeit: libsasl.dll
>Erweiterung php_openssl.dll nicht geladen. Nicht nutzbar in Verbindung mit OpenSSL 1.0.1
>Erweiterung php_pdo_firebird.dll nicht geladen. Fehlende Abhängigkeit: fbclient.dll
>Erweiterung php_pdo_oci.dll nicht geladen. Fehlende Abhängigkeit: OCI.dll

So, und was mache ich nun damit ? :slight_smile:

Vielen Dank für weitere Hilfe
Sascha
IPS 3.4 Windows 10 / 64bit

Hallo,

hat das schon jemand unter IPS4.0 hinbekommen ?

snmp geht bei mir garnicht.
Mein Epson-Drucker ist so schön plauderfreudig , sogar den Tintenstand verrät der und das würde ich gerne nutzen

Huhu - sorry das ich ein altes Thema wieder aufwärmen muss. Mit diesem Modul funktioniert das snmp ja super:
https://www.symcon.de/forum/threads/34888-Modul-Win-SNMP
…jetzt zur frage. Wenn ich das Level auslese als „Paket“ kommen alle Werte sauber an:


Wenn ich alle einzeln holen will, funktioniert das nur bei 0.1 - 0.2 - 0.3 und bei 0.4 bekomme ich immer einen Error, dass es den OID nicht gibt… :confused: …gleiches auch bei der Kapazität… so kann ich nur 3 der 4 Patronen auswerten. :smiley: Hat hier einer eine gute Idee?

EDIT:
Bin jetzt etwas drum herum geschifft… :rolleyes::stuck_out_tongue:


<?

// Daten als Array abholen
$hp_drucker_volume = IPSSNMP_WalkSNMP(57531 /*[SNMP\Devices\HP Drucker]*/ , ".1.3.6.1.2.1.43.11.1.1.8");
$hp_drucker_stand = IPSSNMP_WalkSNMP(57531 /*[SNMP\Devices\HP Drucker]*/ , ".1.3.6.1.2.1.43.11.1.1.9");
$hp_drucker_farbe = IPSSNMP_WalkSNMP(57531 /*[SNMP\Devices\HP Drucker]*/ , ".1.3.6.1.2.1.43.11.1.1.6");

// Array zerlegen
$hp_drucker_volume_p1 = array_slice($hp_drucker_volume, 0, 1);
$hp_drucker_volume_p2 = array_slice($hp_drucker_volume, 1, 1);
$hp_drucker_volume_p3 = array_slice($hp_drucker_volume, 2, 1);
$hp_drucker_volume_p4 = array_slice($hp_drucker_volume, 3);
$hp_drucker_stand_p1 = array_slice($hp_drucker_stand, 0, 1);
$hp_drucker_stand_p2 = array_slice($hp_drucker_stand, 1, 1);
$hp_drucker_stand_p3 = array_slice($hp_drucker_stand, 2, 1);
$hp_drucker_stand_p4 = array_slice($hp_drucker_stand, 3);
$hp_drucker_farbe_p1 = array_slice($hp_drucker_farbe, 0, 1);
$hp_drucker_farbe_p2 = array_slice($hp_drucker_farbe, 1, 1);
$hp_drucker_farbe_p3 = array_slice($hp_drucker_farbe, 2, 1);
$hp_drucker_farbe_p4 = array_slice($hp_drucker_farbe, 3);

// Array in Integer
$hp_drucker_volume_p1_integer = implode("", $hp_drucker_volume_p1);
$hp_drucker_volume_p2_integer = implode("", $hp_drucker_volume_p2);
$hp_drucker_volume_p3_integer = implode("", $hp_drucker_volume_p3);
$hp_drucker_volume_p4_integer = implode("", $hp_drucker_volume_p4);
$hp_drucker_stand_p1_integer = implode("", $hp_drucker_stand_p1);
$hp_drucker_stand_p2_integer = implode("", $hp_drucker_stand_p2);
$hp_drucker_stand_p3_integer = implode("", $hp_drucker_stand_p3);
$hp_drucker_stand_p4_integer = implode("", $hp_drucker_stand_p4);
$hp_drucker_farbe_p1_string = implode("", $hp_drucker_farbe_p1);
$hp_drucker_farbe_p2_string = implode("", $hp_drucker_farbe_p2);
$hp_drucker_farbe_p3_string = implode("", $hp_drucker_farbe_p3);
$hp_drucker_farbe_p4_string = implode("", $hp_drucker_farbe_p4);

// Verbrauch ausrechnen
$hp_drucker_verbraucht_p1_integer = $hp_drucker_volume_p1_integer - $hp_drucker_stand_p1_integer;
$hp_drucker_verbraucht_p2_integer = $hp_drucker_volume_p2_integer - $hp_drucker_stand_p2_integer;
$hp_drucker_verbraucht_p3_integer = $hp_drucker_volume_p3_integer - $hp_drucker_stand_p3_integer;
$hp_drucker_verbraucht_p4_integer = $hp_drucker_volume_p4_integer - $hp_drucker_stand_p4_integer;

// Verbrauch in Prozent ausrechnen und Runden
$hp_drucker_stand_pro_p1_integer = round(100 / $hp_drucker_volume_p1_integer * $hp_drucker_stand_p1_integer);
$hp_drucker_stand_pro_p2_integer = round(100 / $hp_drucker_volume_p2_integer * $hp_drucker_stand_p2_integer);
$hp_drucker_stand_pro_p3_integer = round(100 / $hp_drucker_volume_p3_integer * $hp_drucker_stand_p3_integer);
$hp_drucker_stand_pro_p4_integer = round(100 / $hp_drucker_volume_p4_integer * $hp_drucker_stand_p4_integer);

// Test
echo "Farbe Patrone 1: $hp_drucker_farbe_p1_string ml
";
echo "Farbe Patrone 2: $hp_drucker_farbe_p2_string ml
";
echo "Farbe Patrone 3: $hp_drucker_farbe_p3_string ml
";
echo "Farbe Patrone 4: $hp_drucker_farbe_p4_string ml

";

echo "Volumen Patrone 1: $hp_drucker_volume_p1_integer ml
";
echo "Volumen Patrone 2: $hp_drucker_volume_p2_integer ml
";
echo "Volumen Patrone 3: $hp_drucker_volume_p3_integer ml
";
echo "Volumen Patrone 4: $hp_drucker_volume_p4_integer ml

";

echo "Restliche Tinte Patrone 1: $hp_drucker_stand_p1_integer ml
";
echo "Restliche Tinte Patrone 2: $hp_drucker_stand_p2_integer ml
";
echo "Restliche Tinte Patrone 3: $hp_drucker_stand_p3_integer ml
";
echo "Restliche Tinte Patrone 4: $hp_drucker_stand_p4_integer ml

";

echo "Verbrauchte Tinte Patrone 1: $hp_drucker_verbraucht_p1_integer ml
";
echo "Verbrauchte Tinte Patrone 2: $hp_drucker_verbraucht_p2_integer ml
";
echo "Verbrauchte Tinte Patrone 3: $hp_drucker_verbraucht_p3_integer ml
";
echo "Verbrauchte Tinte Patrone 4: $hp_drucker_verbraucht_p4_integer ml

";

echo "Restliche Tinte Patrone 1: $hp_drucker_stand_pro_p1_integer %
";
echo "Restliche Tinte Patrone 2: $hp_drucker_stand_pro_p2_integer %
";
echo "Restliche Tinte Patrone 3: $hp_drucker_stand_pro_p3_integer %
";
echo "Restliche Tinte Patrone 4: $hp_drucker_stand_pro_p4_integer %
";

?>