neues Modul APCUPSD

Habe den branch auf 4.1 umgestellt und erhalte beim Anlegen der Instanz folgende Fehlermeldung.
Die Datei Module.php ist vom 12.9.

fehler.png

Ratlos!

Bitte einmal IPS neu starten. Da stimmen die generierten Deklarationen nicht.

Tommi

Raspberry neu gebootet, Fehlermeldung bleibt wie gehabt.

Ich habe gerade eine Änderung geladen.Bitte mal neu aktualisieren und testen.
Danke!

Tommi

Läuft wie eine Eins!
Danke
Franz

@Paresy: Das Problem war ein PHP scalar type hint , der doch in 4.1 rein sollte…:confused:

Tommi

Hi tommi,

ja, aber nur für deine eigenen Public Funktionen. Wir haben für die überschreibbaren keine hinzugefügt, damit es diese Fehlermeldungen mit den „Altmodulen“ nicht gibt. PHP ist nämlich unglücklich, wenn die überschriebene Funktion nicht genau gleich ist.

paresy

OK…Ich hatte jetzt erstmal alle wieder entfernt. Jetzt meckert meine IDE auch nicht mehr, die das mangels PHP7 nicht ganz so richtig fand.

Tommi

Moin Tommi,

vielen Dank für dein Modul, welches mit meiner APC Back-UPS ES 700G problemlos funktioniert :slight_smile:

Im Objektbaum bekomme ich folgende Variablen angezeigt:

Im Meldungsfenster und im Statusbild von APCUPSD sehe ich weitere Variablen:

APC_02.PNG

Gibt es eine Möglichkeit sich diese auch anzeigen zu lassen oder habe ich einen Fehler bei der Installation gemacht?

Es wäre nett, wenn du oder jemand anderes mir behilflich sein könnte.

Gruß
Hans

Das ist schon richtig so. Die gleiche Frage gab es auch schon hier. Die Felder leider sind sehr Modellabhängig. Zum Einbau muss der Code vom Splitter- und dem Energy-Modul angepasst werden. Wobei ich keinen Sinn der Anzeige der oft statischen Felder in IPS sehe.

Siehe auch die Antworten im anderen Thread.

Tommi

Hallo tommi,

vielen Dank für deine schnelle Hilfe. Gut zu lesen, dass ich dann ja alles richtig gemacht habe :slight_smile:

Und natürlich braucht man die weiteren Variablen nicht, um eine Alarmmeldung z. B. via Pushover zu erzeugen.

Gruß
Hans

Hey Tommi,
mein Problem ist zwar mit de mNUT-Modul, aber der Thread war so alt, da dachte ich, ich schreibe Dir hier…
Ich habe auch das Problem mit dem Strict Declaration etc. - sprich meine USV lässt sich nicht mehr auslesen.
Kannst Du helfen?
Gruß,
Matthias

Es gibt auch ein angepasstes NUT Modul im 4.1 Branch für IPS 4.1. Läuft auch prima bei mir.

Tommi

Wie komme ich daran?
Wenn ich auf aktualisieren gehe bei den Modulen hilts nichts…

Noch eine Frage, ich benutze das Auswertescript für APCUPSD (läuft halt gut…), ich habe aber mittlerweile 2 bzw. drei Master die ich Abfragen möchte, das Skript sieht aber nur einen Socket zum Öffnen vor, was kann ich da machen, oder muss ich zwangsweise auf das Modul umsteigen? (Zeile 74)

Aktuell habe ich das Skript kopiert und geändert…
Gruß,
Matthias

Den Branch kann man ab 4.1 im Modulecontrol wechseln.

Den 2. Punkt verstehe ich nicht ganz. Das Script ist uralt, da sage ich nichts mehr dazu. Das Modul sollte alle USV anzeigen, die von einem APCUPSD-Server verwaltet werden. Für einen weiteren APCUPSD, z.B. auf einem anderen Server erstellt man eine neue Modul-Instanz und damit auch einen neuen Socket.

Tommi

So habe grade mal von den Skripten auf das Modul umgestellt.
Funktioniert sehr gut!
Danke für die gute Arbeit.

Hallo

Würde auch gerne mein UPS im Ip-Symcon auslesen lassen.
Wenn ich das Modul über Instanz hinzufÜgen bekomme ich eine Fehlermeldung

Strict Standards Declaration of APCUPSD:Set Buffer() should be compatible with IPSModule…

Was mache ich falsch?

Ich nutze das Model Back-UPS RS 1200G das über USB an der Vm angeschlossen ist.
Über APctray kann ich die Daten der UPS auslesen

Der Socket in I/O instanzen blinkt ein rotes aurufezeichen und geht zwichen durch wieder weg
In host habe ich 127.0.0.1 und in Port 3551 eingetragen

Gruss,

selbiges wie weiter oben: im Modulecontrol muss auch der 4.1 Branch eingestellt werden. Der master Branch ist für 4.0

Tommi

Vielen Dank Jetzt funktioniert es

Hallo
Bei mir hat das Modul nicht funktioniert.
Nach Fehlersuche auf folgende Loesung gestossen.
Die IPS_Sleep(1000) in der function Query war bei mir zu kurz.
Dadurch kam bei „$in = $this->GetLocalBuffer();“ keine Daten.
Zeit erhoeht - funktioniert!
Warum die Zeit bei mir als einziger nicht funktioniert weiss ich nicht.