Zurück   IP-Symcon Community Forum > IP-Symcon 2.x > Scripte, PHP, SQL

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 28.07.10, 19:37
Benutzerbild von CityJump
Member
 
Registriert seit: Jan 2009
Ort: Frankfurt
Beiträge: 89
Standard APC Back-UPS ES 550G

Hallo,

ich habe nun schon einiges über APC UPSe hier im Forum gelesen. Leider passt kein Artikel so richtig zu meiner.
Hat jemand das auslesen der Log Files auch schon mal mit der "Back-UPS ES 550G" versucht ? Meine Software der UPS ist die "PowerChute Personal Edition 2.0"
Thanks
Claus
__________________
Software: IPS V2.2 unter XP, Visualisierung mit Firefox
Module ELV: 5x FHT,
SD Funk-Dämmerungssender, 3xWassermelder,2xTFK, 4xTemperatursensoren, SIG Funk-Signalgeber, FS20WS1,
RSU Unterputz-Funk-Rollladenschalter , Touchcontrol TC6, 2xST-3 Funk-Schaltsteckdose
HW: Asus Eee Top 1602, USV
Mit Zitat antworten
  #2 (permalink)  
Alt 28.07.10, 20:02
Benutzerbild von RWN
RWN RWN ist gerade online
Super Moderator
 
Registriert seit: Jan 2007
Ort: Nidda(Hessen)
Beiträge: 5,964
Standard

Zitat:
Meine Software der UPS ist die "PowerChute Personal Edition 2.0"
damit geht es nicht.

Apcupsd, a daemon for controlling APC UPSes

Diese kannst Du installieren und konfigurieren und dann entsprechend auslesen und in IPS integrieren.
__________________
Gruß Rainer


Unmögliches wird sofort erledigt, Wunder dauern etwas länger.

Mit Zitat antworten
  #3 (permalink)  
Alt 30.07.10, 20:39
Senior Member
 
Registriert seit: Dec 2007
Ort: Nienburg (Weser)
Beiträge: 810
Standard

*erledigt* , sorry

Geändert von Tetrapack (30.07.10 um 21:02 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 14.12.10, 20:52
Benutzerbild von remote-it
Senior Member
 
Registriert seit: Apr 2005
Ort: Düsseldorf
Beiträge: 142
Standard

Zitat:
Zitat von RWN Beitrag anzeigen

Diese kannst Du installieren und konfigurieren und dann entsprechend auslesen und in IPS integrieren.

Hello again,
da heute Nacht ein mehrstündiger Stromausfall mein IPS lahmlegte, den die USV leider nicht komplett stützen konnte und der Weg via Sys_GetBattery NICHT funktionierte, suche ich nun nach einer funktionierenden Alarmierung.

Das Einbinden von apcupsd mittels Client Socket erzeugt nur permanente Socket Auf- und Abbaumeldungen.

Wie habt ihr diese Integration gelöst (Die USV wird vom WHS "nur" als Batterie geführt) ... ?

PS: der Dienst und die TrayApp liefern schlüssige Werte - dieser Teil läuft also. Muss evtl. die apcupsd.conf angepasst werden (wie / wo ?) ?

USV ist eine APC Back-UPS ES 550

PS: die Notebook Batterie wird über Sys_GetBattery bestens "gemonitort" - brauche ich aber nicht

Dank & Gruß

Tom
__________________
FHZ1000PC, FHT80B, FS20xx, HMS100x, USB-T, RGBW, AKM, EKM, FD, EM1010, IRTRANS LAN, Fritzbox, HomeMatic LAN, PlugWise, SB, HMxx, APC Back-UPS, Foxconn NT-525, NetIO230B, Motorola Xoom, Shuttle X50V2+, ...
Mit Zitat antworten
  #5 (permalink)  
Alt 14.12.10, 21:36
Senior Member
 
Registriert seit: May 2005
Beiträge: 1,258
Standard

Besser geht es mit "apcaccess status" (aus dem apcupsd-Packet) und dann die Ausgabe auswerten. Die Alarmierung sollte der APCUPSD auch selber hinkriegen. Dazu muss man natürlich die Config anpassen. Ist aber in der Doku beschrieben.

Tommi
Mit Zitat antworten
  #6 (permalink)  
Alt 14.12.10, 21:54
Benutzerbild von remote-it
Senior Member
 
Registriert seit: Apr 2005
Ort: Düsseldorf
Beiträge: 142
Standard

Zitat:
Zitat von tommi Beitrag anzeigen
Besser geht es mit "apcaccess status" (aus dem apcupsd-Packet) und dann die Ausgabe auswerten. Die Alarmierung sollte der APCUPSD auch selber hinkriegen. Dazu muss man natürlich die Config anpassen. Ist aber in der Doku beschrieben.

Tommi
Hallo Namensvetter,

kannst Du das bitte ein wenig detaillieren ?!
Mir fehlt gerade der Ansatz - wo finde ich bzw. was ist "apcaccess status"

Habe das APC Thema im guten Glauben zuuuu laaaange ruhen lassen (war ja genug Strom da - bis heute) - daher betrachte mich besser als Neueinsteiger (DAU wollte ich vermeiden)

Dank & Gruß vorab

Tom
__________________
FHZ1000PC, FHT80B, FS20xx, HMS100x, USB-T, RGBW, AKM, EKM, FD, EM1010, IRTRANS LAN, Fritzbox, HomeMatic LAN, PlugWise, SB, HMxx, APC Back-UPS, Foxconn NT-525, NetIO230B, Motorola Xoom, Shuttle X50V2+, ...
Mit Zitat antworten
  #7 (permalink)  
Alt 15.12.10, 08:10
Senior Member
 
Registriert seit: May 2005
Beiträge: 1,258
Standard

apcaccess(.exe) ist ein Kommandozeilen-Programm, welches sich im bin-Verzeichnis von apcupsd befinden sollte. Die Funktion status liefert den gleichen Text, der sich auch im Tray befindet.
Man(n) kann nun aus PHP dieses Programm starten und die Ausgabe entsprechend auswerten. Wenn sich die USV an einer anderen Maschine mit apcupsd befindet, kann man auch diese damit abfragen.


Tommi
Mit Zitat antworten
  #8 (permalink)  
Alt 15.12.10, 20:20
Senior Member
 
Registriert seit: Jan 2007
Ort: Etzenrot
Beiträge: 107
Standard

Hallo tom

Hab auch vor langer Zeit mal versucht einen Back_UPS 650 CS mit Apcups in IPS einzubinden, aber irgenwie hat bei mir Apcups nicht funktioniert. Kurze Rede langer Sinn habs nach dem Eintrag heute nochmal probiert und tatsächlich da hat sich was getan bei Apcups.

Wenn bei Dir das APCtray Werte liefert kann man die auch mit IPS über den Clientsocket auslesen. Habs nur auf die schnelle probiert aber ich bekomm alle Werte ausgelesen.

Das Problem mit dem Zurücksetzen/Schließen des Sockets ist mir aber auch aufgefallen. Hab ich dann so umgangen indem ich den CientSocket nur fürs auslesen öffne und nachdem er mir die Werte geschickt hat ihn wieder schließe. Ob der Socket vielleicht offen bleibt wenn man regelmässig Daten abruft oder ob es überhaupt Probleme bereitet wenn er zurückgesetzt wird weiß ich gerade nicht, bzw. müsst man mal ausprobieren.
Zum Abrufen der Daten muss man einmal chr(0).chr(6) und danach status an den Port 3551 schicken. (einfach durch mithören des Trays rausgefunden). Als Antwort bekommst Du dann die Daten des UPS. Ist alles nur quick&dirt getestet da ich noch weg muss, aber ich dachte schreibs schnell hier rein bevor Du dich mit was anderem rumquälst.

Also eine Registervariable und nen ClientSocket anlegen mit Port 3551(Standart bei Apcups).
Das Abrufscript (z.B. getriggert alle minute) ist

PHP-Code:
CSCK_SetOpen(52898 /*[Client Socket APC]*/,true);
IPS_ApplyChanges(52898);

RegVar_SendText(50816 /*[Testcenter\Register Variable APC]*/chr(0).chr(6));

RegVar_SendText(50816 /*[Testcenter\Register Variable APC]*/,"status"); 

und bei der Registervarliablen dann einfach dieses Script einfügen bzw. irgendwie die Gewonnenen Daten auswerten
PHP-Code:
print_r ($IPS_VALUE);
CSCK_SetOpen(52898 /*[Client Socket APC]*/,false);
IPS_ApplyChanges(52898); 
Hoffe Du kannst was damit anfangen und schreibst vielleicht auch wie Du die Auswertung gelöst hast.


Gruß Jannis
Mit Zitat antworten
  #9 (permalink)  
Alt 15.12.10, 22:22
Senior Member
 
Registriert seit: May 2005
Beiträge: 1,258
Standard

Zitat:
Zum Abrufen der Daten muss man einmal chr(0).chr(6)
Aah, das hat mir noch gefehlt.
Hiermal ein kleines Grundgerüst.
Registervariable und Clientsocket sind Standard.
Tommi
PHP-Code:
<?php
 
//IPS Variablen IDs
 
$id=16591 /*[APC Client Socket]*/;
 
$reg=39883 /*[APC-RegVar]*/;
//Standard-Regvar Handling
 
if ($IPS_SENDER == "RegisterVariable")
{
   
// bereits im Puffer der Instanz vorhandene Daten in $data kopieren
  
$data  RegVar_GetBuffer($reg);
  
// neu empfangene Daten an $data anhängen
  
$data .= $IPS_VALUE;
  
RegVar_SetBuffer($reg$data);
}else{
//Nicht registervariable, also manuell
//socket öffnen
    
CSCK_SetOpen($id,true);
    
IPS_ApplyChanges($id);
//befehl senden
    
RegVar_SendText($reg,chr(0).chr(6)."status");
//warten
    
sleep (1);
//Socket schliessen
    
CSCK_SetOpen($id,false);
    
IPS_ApplyChanges($id);
//Rückgabe abholen
    
$data  RegVar_GetBuffer($reg);
//RegVar bereinigen
    
RegVar_SetBuffer($reg"");
//loggen
    
$log=fopen('apc.log',"a+");
    if (
$log) {
           
$d=date("r");
            
fwrite($log,$data);
             
fflush($log);
            
fclose($log);
    }
//Daten auswerten
    
$entry=explode("\n",$data); //Satztrenner
    
$apc=array();
    foreach(
$entry as $line) {
        
$p1=ord($line[0]); //immer 00
        
$p2=ord($line[1]); //Kennziffer
        
if ($p2>0) {
            
$content=substr($line,2);
        
//Key /Value Paare durch ':' getrennt
            
if (strpos($content,":")>0) {
                list(
$key,$value)=explode(":",$content,2);
                print 
"$key:$value\r\n"//debug
                
$apc[trim($key)]=trim($value);
            }
        }
    }
//Status auswerten
    
if (isset($apc['STATUS'])) {
        print 
'USV '.($apc['STATUS']=='ONLINE')?'OK':'FEHLER';
    }
}
?>
Mit Zitat antworten
  #10 (permalink)  
Alt 16.12.10, 22:34
Benutzerbild von remote-it
Senior Member
 
Registriert seit: Apr 2005
Ort: Düsseldorf
Beiträge: 142
Standard

Erst einmal Danke für die konstruktiven Anregungen,

wg. des "Nicht-Wieder-Anlaufens (WHS Belinea o.center)" ziehe ich gerade auf einen neuen ELV Mini-PC (XP) um. Das wird etwas dauern - mein (USV) Feedback kommt somit etwas später.

Wie gesagt - besten Dank for resonance !!!

Gruß Tom
__________________
FHZ1000PC, FHT80B, FS20xx, HMS100x, USB-T, RGBW, AKM, EKM, FD, EM1010, IRTRANS LAN, Fritzbox, HomeMatic LAN, PlugWise, SB, HMxx, APC Back-UPS, Foxconn NT-525, NetIO230B, Motorola Xoom, Shuttle X50V2+, ...
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
APC USV-Daten einlesen Horst Anleitungen / Nützliche PHP Scripte 0 12.03.09 21:47
APC USV im WebFront Horst WebFront 0 12.03.09 21:45


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0