Die Idee hatte ich auch schon, allerdings taucht die #10157 nirgends als Variable auf.
Habe das Skript schon durchsucht, zudem habe ich diese auch nicht in IPS.
$regvars=array(38726);
$GLOBALS['parent']=19379; /*[Komponenten\APC-USV]*/; //parent ID of master category
$GLOBALS['catname']='APC-USV'; //master category name
Das ist alles soweit korrekt, die Regvar ist angelegt, der Client-Socket auch, Port ist richtig, IP ebenfalls.
Die „#10157“ ist glaube ich keine Variable. Klingt eher nach dem Socket oder der RegVar die er da sucht? Evtl. sucht er nach einem falschen Parent? In der RegVar das falsche Skript? …?
So sieht mein Baum aus:
> Im „APC Deamon“ steht die IP vom NAS (da läuft der APC-Server) und der Port ist 3493.
> In der RegVar ist als Skript das darunter liegende „NUTregvar“ eingetragen
Und so sieht mein Config-Teil im „NUTregvar“-Skript aus:
#######Begin Config
//IPS Variablen IDs
$regvars=array(15222 /*[APC Deamon\RegVar]*/);
$GLOBALS['parent']=34979 /*[Hardware\USV]*/; // Ordner wo die ganzen Variablen dann angelegt werden
$GLOBALS['catname']='UPSD'; //master category name
$GLOBALS['idname']='ups.serial'; //unique ID parameter=serial
$logfile=''; // nut.log
######End Config
Ob ich im Skript noch irgendwas angepasst habe weiß ich nicht mehr, glaube aber schon. Irgendwie mit Parent usw?!
Prüfe ich morgen! Bin gerade ins Bett gegangen und schreibe mit dem Handy.
Was bei mir nicht ist und ich weiß auch nicht wie ich das hinbekommen soll, ist das alles so untereinander steht (in der logischen Baumansicht). Aber sollte ja keinen Einfluss haben. Ich mache morgen Screenshots!
Gute Nacht!
Gruß,
Matthias
Um die Dinger in IO-Instanzen zu bekommen, einfach markieren, dann Strg+X und dann am Zielort Strg+V Alternativ mit einem IPS-Skript und einfach „IPS_SetParent“ verwenden
Das APCUPSD-Script und das NUT-Script sind verwand, aber nicht identisch. Mixen ist da ungesund.
Wenn ich das ganze richtig verstehe, wird die UPS in NUT aber mit „upsc ups“ (wobei hier ups der Name der USV ist) abgefragt.
In diesem Fall wird upsc nicht benutzt, sondern ein direkter Connect auf den Socket gemacht. Kann man mit Telnet/putty etc auch selber probieren
Die RegVar muss als in seiner Konfiguration hinterlegten Parent den Client-Socket haben. Der NUT Server muss den Connect von der IPS IP erlauben (muss man z.B. in einer Synology eintragen).
Ja ist auch soweit so gut - ich nutze ja APCUPSD nicht für die Firewall - dafür das NUT-Script.
Mit dem Parent stimmt jetzt auch - aber:
Verbindung wird nach wie vor Verweigert, die Firewall ist schon auf 3493 offen (also Regel ist korrekt gesetzt).
Aber ich muss mich ja immer noch an dem NUT-Server authentifizieren…
(Daher wird auch die Verbindung verweigert! - wenn ich NUT als exe mit dem „Monitor Benutzer Passwort etc“ in der Config ausführe geht das - also genau genommen UPSD.exe kann sich verbinden - aber IPS halt nicht.
Telnet geht ggf auch nicht - es wird da nicht spezifisch nach der UPS gefragt beim Connect, teste ich aber nochmal!
Wenn die IP im NUT Server freigeschaltet ist, braucht man keinen User mehr:
telnet ups-tr 3493
Trying 192.168.xx.yy...
Connected to ups-tr.
Escape character is '^]'.
LIST ups
BEGIN LIST UPS
UPS ups "Description unavailable"
END LIST UPS
LIST VAR ups
BEGIN LIST VAR ups
VAR ups battery.charge "100"
VAR ups battery.charge.low "10"
VAR ups battery.charge.warning "50"
...
Ich habe jetzt mal folgendes in die hosts.allow eingetragen:
upsd : localhost, LOCAL, 127.0.0.1,192.168.1.XX
Wobei xx die IP ist von der die Abfrage kommt.
Jetzt bin ich allerdings nicht der Linux-Crack, ist das so richtig oder muss da noch etwas hinter? (ALLOW)
Und ist das denn der Dienst - oder wird ein anderer Dienst abgefragt?
Damit sollte ja der TCP-Wrapper angesprochen werden oder?
Ich habe irgendwo gelesen, dass neuere Kernels ggf. nur noch die hosts.allow nutzen und dort deny oder allow angeben.
Allerdings habe ich eben die Firewall nicht neu gestartet sondern heruntergefahren - wer macht denn auch die Option als erstes ins Menü
Naja bin nicht Zuhause - ich muss später mal sehen ob meine Freundin die wieder einschaltet oder ich heute Abend, aktuell komme ich weder ins VPN noch auf den Server…
Großes Kino…
ich bin es dann nochmals - also: Ich habe eine zweite USV an einem Raspi hängen.
Soweit kann die APCUPSD Software auf meinem 2012R2 diese auch IMMER problemlos auslesen.
Bei IPS habe ich wie vielfach beschrieben die RegVar und die Clientsocket-Instanz angelegt, allerdings funktioniert die mal, mal auch nicht (meistens nicht).
Ich habe die dann mal aktiv gesetzt, dann das Skript ausgeführt - dann gehts potentiell etwas öfter.
Bei meinem Server selbst (Windows 2012R2 mit USB passthrough vom ESXi 6) gehts immer völlig problemlos.
Hat jemand eine Idee?
Der Fehler ist:
Warning: Socket ist nicht verbunden in [Komponenten\APC-USV\Werte aus USV auslesen] on line 81
mir ist am Wochenende aufgefallen dass im Ferienhaus die USV nicht mehr ordentlich ausgelesen wird
10:38:00 | 38119 | ERROR | ScriptEngine | Result for Event 20504
Notice: Undefined variable: IPS_SENDER in C:\IP-Symcon\scripts\38119.ips.php on line 63
Fatal error: Call to undefined function CSCK_SetOpen() in C:\IP-Symcon\scripts\38119.ips.php on line 79
Abort Processing during Fatal-Error: Call to undefined function CSCK_SetOpen()
Error in Script C:\IP-Symcon\scripts\38119.ips.php on Line 79
Ich habe schon versuchet den Socket 2 mal zu öffnen und zu schließen, aber alles ohne Erfolg.
Wahrscheinlich wird das seit einem Update am 01/02 Juni nicht mehr gehen.
Zu hause funktioniert das ganze allerdings nach wie vor.
Hat evtl. noch jemand nach einem Update so ein Problem gehabt ?
Das apcupsd Script ist zu alt. Die Variablen heißen jetzt anders ($_IPS[‚Sender‘] und SetOpen wurde durch SetProperties ersetzt.
Für das Auslesen USV habe ich das NUT Modul geschrieben, es nutzt aber wegen der besseren Abdeckung NUT statt apcupsd. Alternativ gab es andere Scripte z.B. die Ausgabe des CLI parsen
Erst einmal vielen dank für die arbeit. So weit leuft alles super, bis auf das aus mit unbekannten gründen ab und an einfach die Variablen neu angelegt werden. Es wurde hier im verlauf schon mal erwähnt doch konnte ich nicht nachvolziehen ob behoben oder gar wo das Problem lag.
Nut ist aber für Windows noch Beta.
Und bevor ich das mal umstellen werde inkl. aller Aktionen bleibe ich erstmal auch bei apcupsd.
Ich habe das Script schon vor einiger Zeit mal für 3.4/4.0 fit gemacht.
Wenn du damit kein Problem hast tommi, stelle ich es mal online.
Michael
Der Status für den NUT Windows-Service ist schon seit 2011 unverändert. Ich würde jetzt nicht darauf wetten, das sich irgendwann mal einer erbarmt. Ein Raspberry, NAS oder eine kleine Linux-VM ist jedoch ohnehin bei vielen USV-Nutzern vorhanden.
Danke für die schnellen Infos bin leider nicht so schnell.
Ja er legt sie an doch habe ich das Problem das er sie nach ner zeit immer wieder neu anlegt und die alten verschwinden.
Bei den USV ist es so,dass die verschiedenen Typen sehr unterschiedliche Daten liefern. Das Verhalten ist eine Eigenheit der genutzten Variablenverwaltung, was diesen Umstand abdecken muss… Es gibt einen Block wo alle möglichen Variablen registriert sind und beim Start angelegt werden. Im weiteren Programmfortschritt, wenn man mehr Informationen über das Gerät und seine Daten hat, werden die nicht gefüllten Variablen wieder entsorgt.