FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: premultiply am 22 Juni 2015, 11:49:09

Titel: Neues Modul: APCUPSD
Beitrag von: premultiply am 22 Juni 2015, 11:49:09
Als FHEM-Neuling habe ich mein erstes Modul geschrieben: APCUPSD.

Das Modul dient der Abfrage von USV-Daten (Unterbrechungsfreie Stromversorgung) über den APCUPSD-Dienst (www.apcupsd.com).

Zwar stellt NUT samt zugehörigem FHEM-Modul einen ähnlichen (generischen) Dienst bereit, da ich aber durchgehend auf allen Systemen direkt APUPSD samt den zugehörigen Wartungs- und GUI-Tools einsetze will ich ungern darauf zurückgreifen - zumal NUT intern eigene Berechnungen durchführt die sich mir nicht erschließen.


Das Modul kann alle USV-Parameter als Readings (konfigurierbar) zur Verfügung stellen.
Dazu zählen beispielsweise die Temperatur, der Akkuladestand, Ein- und Ausgangsspannungen, die Systemlast, der USV-Status usw.


Bei mir läuft das Modul auf einem Raspberry Pi mit insgesamt 3 verschiedenen APC USV-Systemen wovon zwei direkt per USB und eins über einen FTDI-USB-RS232-Wandler per Host-gespeistem Hub angeschlossen sind.


Bei der Entwicklung habe ich mich an diversen anderen offiziellen FHEM-Modulen und der für mich auffindbaren Dokumentation zu diesem Thema orientiert.
Ich hoffe das Modul ist mir einigermaßen Regelkonform gelungen...
Eine englische und deutsche Dokumentation ist enthalten.
Für jegliche Rückmeldungen, Verbesserungshinweise, Anmerkungen, Bugfixes usw. bin ich sehr dankbar!
Insbesondere wäre ich für Informationen dankbar wie man ein solches Modul offiziell zur FHEM-Distribution hinzufügt.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Damu am 25 Juli 2015, 20:57:45
Hallo

Ich hab einen NUC mit Ubunte Server Installation.
Der NUC, eine Fritzbox, ein Lan Switch, ein HM-Lan Adapter und ein Synology NAS.
Das Nas ist aber eigentlich immer aus.
Es ist ein APC Back-UPS ES 550.
Kann ich das UPS per USB Datenkabel an den Nuc anschliessen.
Dann nach dieser Anleitung Installieren:
http://blog.is-a-geek.org/konfiguration-einer-apc-backup-ups-auf-ubuntu-serverdesktop (http://blog.is-a-geek.org/konfiguration-einer-apc-backup-ups-auf-ubuntu-serverdesktop)
Auf den Nuc greife ich nur per SSH.
Da kann ich die Instalation von Nano wohl weglassen?

Kann dein Modul den NUC bei kritischem Akku runterfahren?
Ist zwar blöd da bleibt er dann aber auch wenn der Strom wieder da ist.


Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 25 Juli 2015, 21:48:58
Das eigentliche Herunterfahren der Systeme macht APCUPSD selbst - wenn es richtig konfiguriert ist.
Das FHEM-Modul stellt nur die APCUPSD-Readings in FHEM bereit.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Damu am 01 August 2015, 10:04:16
Hallo

Hab das Modul mal installiert.
Geht soweit.

Ein log für den Betrieb, oder nur für den Akkubetrieb.
Oder eine Alarmmeldung bei Stromausfall.
Sollte damit möglich sein.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: pipp37 am 01 August 2015, 20:26:02
Hallo.
Habe das Modul auch auf meinem Solaris 11.2 Hauptserver installiert auf dem auch FHEM läuft.
Dort ist das opencsw  Package von apcupsd installiert.
Nach dem Lesen des Moduls konnte ich es zum Laufen bekommen.


Ein
ln -s /opt/csw/sbin/apcaccess /sbin/apcaccess
macht auch Fhem das  Vorhandensein des APCUPSD Packages  bekannt.

Vielen Dank.
Gruss


Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Creideiki am 02 August 2015, 11:20:29
Als FHEM-Neuling habe ich mein erstes Modul geschrieben: APCUPSD.

Das Modul dient der Abfrage von USV-Daten (Unterbrechungsfreie Stromversorgung) über den APCUPSD-Dienst (www.apcupsd.com).

Zwar stellt NUT samt zugehörigem FHEM-Modul einen ähnlichen (generischen) Dienst bereit, da ich aber durchgehend auf allen Systemen direkt APUPSD samt den zugehörigen Wartungs- und GUI-Tools einsetze will ich ungern darauf zurückgreifen - zumal NUT intern eigene Berechnungen durchführt die sich mir nicht erschließen.
Als Autor von NUT möchte ich da noch kurz was dazu sagen.
Zum einen war das auch für mich das erste Modul - USVs wurden anscheinend bisher sträflich vernachlässigt.  ;)
Zum anderen macht NUT keine internen Berechnungen mehr - das hab ich wieder rausgeschmissen, nachdem ich festgestellt habe, dass das mit dem Attribut userReadings viel besser geht.
Jetzt kann man also aussuchen, ob man die USV per apcupsd oder NUT ausliest. Ich liebe offene Systeme.  :D
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Damu am 16 August 2015, 20:02:48
Hab Heute volgendes im Log:
Zitat
2015.08.16 18:02:18 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 17 August 2015, 14:21:50
Ich vermute mal es ist via asReadings ein Wert eingetragen den APCUPSD (temporär?) nicht liefert(e)?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: aeronaut am 19 August 2015, 20:44:06
Funktioniert einwandfrei, danke für das Modul  8)
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Benni am 20 September 2015, 10:34:47
Hallo premultiply,

danke für das Modul!

Würde mich freuen, wenn du es als "reguläres" Modul in FHEM bringen würdest.  8)

Gruß Benni.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: chr2k am 15 Februar 2016, 22:17:19
Klasse Modul. Danke. Klappt auch bei mir. War nur durch den Screenshot irritiert, da dort Port 3552 steht.

Für ein einchecken dieses Moduls wäre ich auch sehr dafür.

Wie du das allerdings machst, weiß ich nicht so genau. Ich denke da musst du dich im Developer Bereich umschauen.

Gibt es eigentlich noch mehr Readings die man von der USV auslesen könnte? Ich habe bspw eine APC BR900G (http://www.amazon.de/gp/product/B006VWYD40?psc=1&redirect=true&ref_=oh_aui_detailpage_o08_s00)
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 16 Februar 2016, 08:22:18
Wenn du list <devicename> in FHEM eingibst zeigt es alle Werte an die von deiner USV via APCUPSD bereitgestellt werden. Mittels asReadings kannst du sie dann ggf. auswerten.
Das steht auch in der Modulhilfe ausführlich beschrieben.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 03 März 2016, 15:30:28
Ich habe da auch mal eine Frage dazu.

Wird das Module noch irgendwann eingecheckt und wird dazu ein Wiki Beitrag geschrieben?

Wird das Modul noch erweitert z.B. Möglichkeit zus Steuerung der USV?

Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 03 März 2016, 17:55:40
Wenn mir einer sagt wie das geht, gerne.

Welche Steuermöglichkeiten für die USV vermisst du?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 04 März 2016, 10:33:31
Hoffe es liest hier einer noch mit der sagen kann wie man es in eincheckt.

Direkt vermissen tue ich mal nix war nur Neugierig und direkt einfallen tut mir auch erstmal noch nix da ich noch auf meine USV warte.

Ich habe da aber schon mal ne Frage ob ich das richtig verstanden habe.

Ich muss zuerst APCUPSD Installieren und einrichten auf dem Raspberry und anschließend kann ich dann mit dem Modul die Daten auslesen?
Angeschlossen wird dabei die USV per USB an den Raspberry soweit richtig?

Nun habe ich wen ich das bis dato alles richtig verstanden habe eine Frage.

ich habe eine APC Smart UPS SMT750I und mir dazu eine APC Network ManagementCard  AP9619 gekauft um die USV im LAN Netzwerk einbinden zu können.

Ist es nun irgendwie und wen ja wie möglich die USV in FHEM einzubinden und alle live Daten auszulesen wen ich sie im LAN Netzwerk habe?


Titel: Antw:Neues Modul: APCUPSD
Beitrag von: eldrik am 04 März 2016, 13:45:30
Moin,

https://forum.fhem.de/index.php/topic,18962.0.html

Greetz
Eldrik
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 06 März 2016, 10:42:22
Welches Protokoll die APC Netwerkkarten sprechen kann ich dir momentan nicht sagen.
Habe selber darauf verzichtet und bei mir mehrere USV via USB und Seriell auf einem RasPi für gesamte Netzwerk gebündelt.

Allerdings ist es grundsätzlich so, dass APCUPSD als Server fungiert. D.h. mit entsprechender Konfiguration können andere Rechner im Netz mittels APCUPSD auf beliebige USV-Einheiten zugreifen.
APCUPSD spricht mit lokal angeschlossenen USV-Einheiten (z. B. per seriell oder USB) oder aber auch mit solchen die selbst über eine APC-Netzwerkkarte verfügen oder aber auch mit anderen APCUPSD-Instanzen im Netzwerk.

Das Modul spricht direkt mit je einer APCUPSD-Instanz. Diese muss auch nicht zwangsläufig auf dem gleichen System wie FHEM laufen. Es werden nur Teile des APCUPSD-Gesamtpakets, genauer das Tool apcaccess, für die Kommunikation zwischen Modul und Dienst benötigt.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ext23 am 06 März 2016, 13:40:07
Hallo,

hab das Modul auch ausprobiert, läuft (SMART-UPS 1000 RM)! Aber dein Screenshot ist ja nett, sind deine Batterien wirklich seit 2004 drin ?!?!

/Daniel
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 07 März 2016, 08:45:01
Witzig, ist mir bisher nie aufgefallen dass das Akkutauschdatum bei der USV nie zurückgesetzt wurde.

Wenn sie aber nicht öfter benutzt werden oder der Entladestrom recht gering und die Umgebungstemperatur niedrig ist halten die Akkus aber schon ein paar Jährchen durch.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 07 März 2016, 20:12:33
Also kurzes Feedback leider passt die Smart Slot Karte AP9619 nicht in die USV die neuen APC USVs haben einen ein klein wenig anderen Slot so das man für diese nun neue karten benötigt...

Habe das ganze jetzt per USB an einen Raspberry angeschlossen damit geht es.

Ich habe nun noch eine Frage.
Hast du noch vor das Module offiziell in FHEM einzuchecken würde mich sehr freuen wen du das noch machen würdest und einen kurzen Wiki Artikel dazu verfasst damit es Hand und Fuß hat.  :)
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: jorge am 14 Juni 2016, 10:03:49
Hallo Zusammen,

ich habe eine APC-USV via USB an einen Win 7 Server angeschlossen. Auf dem Server läuft auch eine fhem Instanz (mit fhem2fhem verbunden).

Gibt es eine Möglichkeit, mit fhem auf Windows über das APCUPSD -Modul auf die USV zuzugreifen?

LG

Jorge
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 14 Juni 2016, 18:23:43
Es reicht wenn du auf dem Windows-System APCUPSD als Dienst installierst und entsprechend konfigurierst (Lokale USB-USV mit Netzwerkfreigabe).
Dann kannst du mittels des FHEM-Moduls und der APCUPSD-Installation auf dem FHEM-Server (bzw. genauer dessen apcaccess-Tool) auf den APCUPSD-Dienst auf dem Windows-System zugreifen.

Alternativ kannst du das FHEM-Modul auch so modifizieren (Dateipfad editieren) dass es apcaccess.exe unter Windows findet und aufruft.
Der Rest sollte identisch und Plattformunabhängig sein.

Das FHEM-Modul findest du unter https://github.com/premultiply/fhem-modules/blob/master/FHEM/34_APCUPSD.pm (https://github.com/premultiply/fhem-modules/blob/master/FHEM/34_APCUPSD.pm). Patches/Pull Requests sind willkommen.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: jorge am 20 Juni 2016, 08:17:16
Es reicht wenn du auf dem Windows-System APCUPSD als Dienst installierst und entsprechend konfigurierst (Lokale USB-USV mit Netzwerkfreigabe).
Dann kannst du mittels des FHEM-Moduls und der APCUPSD-Installation auf dem FHEM-Server (bzw. genauer dessen apcaccess-Tool) auf den APCUPSD-Dienst auf dem Windows-System zugreifen.
...


Danke für den Hinweis.

Habe jetzt das APCUPSD-Paket auf dem Windows-Server installiert. Funktionierte auf Anhieb ohne große Änderungen im Script. Den apcaccess Client für Windows habe ich probiert, funktioniert im Windows-fhem nach Änderung des Installationspfades. Noch besser: Habe auch auf dem RPI APCUPSD installiert, aber den Server nicht aktiviert, und in APCUPSD.pm den apcaccess Client mit dem Windows APCUPSD Server verbunden. Und das upsstats.cgi mit einem Weblink eingebunden (Auf dem Windows-Server läuft auch ein Apache Webserver). So habe ich in fhem volle Kontrolle über die Server-USV.

LG

Jorge



upsstats.cgi
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ext23 am 14 Juli 2016, 12:44:12
Sag mal wie lange halten die Akkus bei euch so?

BATTDATE : 30/09/13

Und heute hat sie das erste mal den wöchentlichen Test nicht mehr bestanden. Ist bei mir immer so ziemlich genau 3 Jahre was die Akkus halten.

/Daniel
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 14 Juli 2016, 14:38:36
Das ist nicht sonderlich lange aber noch im normaler Haltbarkeitsbereich.
Die mögliche Nutzungsdauer hängt von vielen Faktoren ab.

Da wäre zunächst die Qualität des Akkus selber und seine grundsätzliche Eignung für den USV-Betrieb (sehr hohe Entladeströme!)
Weitere Faktoren sind die Umgebungstemperatur sowie die Anzahl der, die Dauer von und die Strombelastung während der Entladevorgänge.
Soll heißen: Läuft die USV mit hoher Last und in gut geheizter Ungebung regelmäßig auf Akkubetrieb ist das derAkku-Lebensdauer nicht sonderlich zuträglich.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: fsapienza am 22 Oktober 2016, 11:47:03
Hallo premultiply,
ich nutze seit kurzem dein Modul, welches sehr gut funktioniert - danke hierfür!

Eine Frage: Im Log stehen regelmäßig PERL WARNINGS:
2016.10.22 11:31:52 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142, <$fh> line 145.
Kannst du bitte bei Gelegenheit mal prüfen ob du das korrigieren kannst?

Danke im Voraus und Grüße
Franco
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 23 Oktober 2016, 20:07:03
Ich vermute mal du hast bei asReadings entweder keine Angaben gemacht und/oder dort Werte drin stehen die deine USV nicht liefert.
Kannst du mal ein "list <DEVICE>" machen und die Antwort hier posten?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: fsapienza am 25 Oktober 2016, 14:41:27
Hi premultiply,
danke für deine Antwort - anbei ein list <device>
Internals:
   BATTDATE   2016-04-15
   CFGFN      ./FHEM/00_myDevices.cfg
   DEF        60 localhost:3551
   HOST       localhost:3551
   INTERVAL   60
   LOWBATT    20
   MODEL      Back-UPS ES 700G
   NAME       UsvWz
   NR         95
   SERIALNO   5B1615T46986
   STATE      ONLINE - BATTERY: ok L: 0 M: 38.4
   TYPE       APCUPSD
   Readings:
     2016-10-25 14:36:41   battery         ok
     2016-10-25 14:36:41   battv           13.6
     2016-10-25 14:36:41   bcharge         100
     2016-10-25 14:36:41   lastxfer        Automatic or explicit self test
     2016-10-25 14:36:41   linev           236
     2016-10-25 14:36:41   loadpct         0
     2016-10-25 14:36:41   state           ONLINE
     2016-10-25 14:36:41   timeleft        38.4
   Helper:
     ALARMDEL   No alarm
     APC        001,036,0943
     BATTDATE   2016-04-15
     BATTV      13.6 Volts
     BCHARGE    100.0 Percent
     CABLE      USB Cable
     CUMONBATT  11 Seconds
     DATE       2016-10-25 14:36:07 +0200
     DRIVER     USB UPS Driver
     END APC    2016-10-25 14:36:41 +0200
     FIRMWARE   871.O4 .I USB FW:O4
     HITRANS    266.0 Volts
     HOSTNAME   PI3-JESSIE
     LASTSTEST  2016-10-14 15:40:09 +0200
     LASTXFER   Automatic or explicit self test
     LINEV      236.0 Volts
     LOADPCT    0.0 Percent
     LOTRANS    180.0 Volts
     MAXTIME    0 Seconds
     MBATTCHG   5 Percent
     MINTIMEL   3 Minutes
     MODEL      Back-UPS ES 700G
     NOMBATTV   12.0 Volts
     NOMINV     230 Volts
     NUMXFERS   1
     SENSE      High
     SERIALNO   5B1615T46986
     STARTTIME  2016-10-03 22:28:39 +0200
     STATFLAG   0x05000008
     STATUS     ONLINE
     TIMELEFT   38.4 Minutes
     TONBATT    0 Seconds
     UPSMODE    Stand Alone
     UPSNAME    PI3-JESSIE
     VERSION    3.14.12 (29 March 2014) debian
     XOFFBATT   2016-10-14 15:40:20 +0200
     XONBATT    2016-10-14 15:40:09 +0200
Attributes:
   alias      WzMMediaUSV
   asReadings BATTV,BCHARGE,LINEV,LOADPCT,TIMELEFT,LASTXFER
   group      OTHER
   icon       measure_battery_100
   room       INFO,Devices
   stateFormat state - BATTERY: battery L: loadpct M: timeleft
   verbose    0

Kannst du hieraus ein Fehler von mir erkennen? Soweit ich sehe habe ich asReadings gesetzt...

Viele Grüße
Franco
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 19 November 2016, 07:27:25
Bei mir kommt auch der fehler

PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
Und hier gleich das list dazu

Internals:
   DEF        120 localhost
   HOST       localhost:3551
   INTERVAL   120
   LOWBATT    20
   MODEL      Smart-UPS 750
   NAME       USV
   NR         368
   SERIALNO   3S1540X02058
   STATE      ONLINE
   TYPE       APCUPSD
   Readings:
     2016-11-19 07:24:59   battery         ok
     2016-11-19 07:24:59   battv           27.1
     2016-11-19 07:24:59   bcharge         100
     2016-11-19 07:24:59   state           ONLINE
     2016-11-19 07:24:59   timeleft        127
   Helper:
     ALARMDEL   30 seconds
     APC        001,027,0684
     BATTV      27.1 Volts
     BCHARGE    100.0 Percent
     CABLE      USB Cable
     CUMONBATT  0 seconds
     DATE       2016-11-19 07:24:30 +0100
     DRIVER     USB UPS Driver
     END APC    2016-11-19 07:24:59 +0100
     FIRMWARE   UPS 09.3 / ID=18
     HOSTNAME   raspberrypi
     MANDATE    2015-09-30
     MAXTIME    0 Seconds
     MBATTCHG   5 Percent
     MINTIMEL   3 Minutes
     MODEL      Smart-UPS 750
     NOMBATTV   24.0 Volts
     NUMXFERS   0
     SERIALNO   3S1540X02058
     STARTTIME  2016-11-16 17:16:46 +0100
     STATFLAG   0x07000008 Status Flag
     STATUS     ONLINE
     TIMELEFT   127.0 Minutes
     TONBATT    0 seconds
     UPSMODE    Stand Alone
     UPSNAME    raspberrypi
     VERSION    3.14.10 (13 September 2011) debian
     XOFFBATT   N/A
Attributes:
   asReadings BATTV,BCHARGE,LINEV,LOADPCT,OUTPUTV,TIMELEFT,LASTXFER
   room       Keller 

Woran könnte das liegen?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 19 November 2016, 19:29:22
Es wurden per asReadings (Default)Werte angegeben die die angeschlossene USV offensichtlich nicht liefert.
Einfach manuell nur verfügbare Werte per asReadings angeben und schon sollte die Fehlermeldung verschwinden.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 21 November 2016, 09:49:00
Habe es jetzt angepasst das nur noch das drin steht was auch wirklich von der usv kommt.

Habe aber noch immer eine Warnung
  PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142, <$fh> line 1813. 

Wie kann das sein ein list sieht jetzt so aus
  Internals:
   DEF        120 localhost
   HOST       localhost:3551
   INTERVAL   120
   LOWBATT    20
   MODEL      Smart-UPS 750
   NAME       USV
   NR         368
   SERIALNO   3S1540X02058
   STATE      ONLINE
   TYPE       APCUPSD
   Readings:
     2016-11-21 09:46:45   battery         ok
     2016-11-21 09:46:45   battv           27.1
     2016-11-21 09:46:45   bcharge         100
     2016-11-21 09:46:45   state           ONLINE
     2016-11-21 09:46:45   timeleft        127
   Helper:
     ALARMDEL   30 Seconds
     APC        001,027,0667
     BATTV      27.1 Volts
     BCHARGE    100.0 Percent
     CABLE      USB Cable
     CUMONBATT  0 Seconds
     DATE       2016-11-21 09:46:36 +0100
     DRIVER     USB UPS Driver
     END APC    2016-11-21 09:46:45 +0100
     FIRMWARE   UPS 09.3 / ID=18
     HOSTNAME   raspberrypi
     MANDATE    2015-09-30
     MAXTIME    0 Seconds
     MBATTCHG   5 Percent
     MINTIMEL   3 Minutes
     MODEL      Smart-UPS 750
     NOMBATTV   24.0 Volts
     NUMXFERS   0
     SERIALNO   3S1540X02058
     STARTTIME  2016-11-20 18:23:01 +0100
     STATFLAG   0x05000008
     STATUS     ONLINE
     TIMELEFT   127.0 Minutes
     TONBATT    0 Seconds
     UPSMODE    Stand Alone
     UPSNAME    raspberrypi
     VERSION    3.14.12 (29 March 2014) debian
     XOFFBATT   N/A
Attributes:
   asReadings BATTV,BCHARGE,TIMELEFT
   comment    LASTXFER,LINEV,OUTPUTV,LOADPCT
   room       Keller 


Gruß
Dennis
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 23 November 2016, 18:45:38
Ich habe leider gerade keine weitere Idee mehr woher die Meldung kommt.
Leider kann ich das nicht testen/nachvollziehen da bei meinen 3 USV-Systemen dies nicht auftaucht.

Probleme sollte es dadurch aber nicht geben.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: DeeSPe am 23 November 2016, 21:50:06
Habe aber noch immer eine Warnung
  PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142, <$fh> line 1813. 

Ich würde die Zeile 142 so ergänzen:
$hash->{helper}{$_} =~ m/^([\-\d\.]*)(.*)$/ if ($hash->{helper}{$_});Dann dürfte die Perl Warnung nicht mehr kommen und es dürfte auch keinen Einfluss auf den weiteren Programmablauf haben.

Gruß
Dan
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: DeeSPe am 23 November 2016, 21:59:11
Achso, ohne das Modul bisher zu benutzen ist mir beim Überfliegen des Codes aufgefallen dass das Modul blockierend arbeitet.
Ich empfehle das Modul auf DevIo zu erweitern um es non-blocking zu machen.
Bei einem offiziellem Check-In ins FHEM Repo sollte es möglichst auch non-blocking sein. 8)

Verstehe mich bitte nicht falsch, ich finde es toll dass es Leute wie Dich und mich gibt die in ihrer Freizeit Sachen für die Community bereitstellen.
Das Modul ist für den ersten Versuch toll, nur eben noch ausbaufähig... 8)

Gruß
Dan

P.S. Bin nur auf das Modul aufmerksam geworden weil ich selbst gerade eine APC UPS bestellt habe und die dann auch in FHEM einbinden will.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: fsapienza am 27 November 2016, 19:10:07
Hi zusammen,
ich habe den Vorschlag von Dan mal getestet mit folgendem Ergebnis:
PERL WARNING: Use of uninitialized value $1 in numeric gt (>) at ./FHEM/34_APCUPSD.pm line 143.
Scheint leider noch nicht die Lösung zu sein...

Grüße
Franco


Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 05 Dezember 2016, 09:30:48
Also bei mir besteht der Fehler weiterhin.

Was mir auch aufgefallen ist wen ich das Modul öffne dann friert FHEM für ein paar Sekunden ein bis es offen ist.
Ist das wegen dem von @DeeSPe angesprochenen non-blocking?

Gruß
Dennis
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: premultiply am 05 Dezember 2016, 09:47:15
Was mir auch aufgefallen ist wen ich das Modul öffne dann friert FHEM für ein paar Sekunden ein bis es offen ist.
Ist das wegen dem von @DeeSPe angesprochenen non-blocking?

Kann ich mir kaum vorstellen, da im normalfall keine Aufrufe getätigt werden die FHEM ernsthaft blockieren. Der Datenabruf mittels apcaccess erfolgt initial und dann nur noch über einen Timer.

Ich betreibe dies bei mir selbst mit 3 größeren USV-Systemen und vielen anderen Geräten ohne solche Probleme.

Es könnte aber durchaus sein, dass z. B. mit deiner APCUPSD-Konfiguration grundsätzlich etwas nicht stimmt und dieses somit in irgendein Timeout läuft beim Datenabruf.

Wenn du auf der Konsole apcaccess ausführst sollte sofort eine Antwort kommen. Nichts anderes ruft das Modul auf.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Blablubblaber am 05 Dezember 2016, 10:18:18
Habe übers Wochenende FHEM einmal komplett neu aufgesetzt und es seitdem nicht nochmal probiert gehabt bevor ich das gerade geschrieben habe (sry).
Habe es nachdem Post von dir nochmal ausprobiert und muss sagen das das Problem weg ist.
Es muss wirklich an irgend einer Konfiguration gelegen haben.

Aber das Problem mit der Perl Fehlermeldung im Log nach einem neustart von FHEM bleibt bestehen.



Titel: Antw:Neues Modul: APCUPSD
Beitrag von: chr2k am 21 August 2017, 23:45:36
Hallo,

schade dass das Modul noch nicht eingecheckt ist  ;) :-[ :-X :'(
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Jorche am 11 September 2017, 23:54:52
Hallo premultiply,

ich stelle mich mit an. Kurze Zwischenfrage: Braucht Dein Modul dden Apache CGI Webserver?

Dank und Grüße
Jörg
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: choenig am 30 September 2017, 09:38:13
Hallo zusammen,

ich hatte das Problem, dass in den Helpers die Daten zwar korrekt angezeigt wurden, die Readings aber verkrüppelt waren:

xoffbatt: 2017

Das sollte eigentlich ein vollständiges Datum sein, so wie hier:

xoffbatt: 2017-09-27 13:42:06 +0200

Auf der Suche nach der Lösung bin ich auf Code im 34_APCUPSD Modul gestoßen, welches (vermutlich) die Einheiten der Readings entfernen soll, leider entfernt das mehr, als eigentlich nötig.

Eine Lösung war dann (für mein System) schnell gefunden:
Meine Version von /sbin/apcaccess (apcupsd-3.14.13) unterstützt den Parameter '-u', der die Units entfernt.

Folgender kleiner Patch löst für mich das o.a. Problem:

--- fhem/FHEM/34_APCUPSD.pm
+++ fhem/FHEM/34_APCUPSD.pm
@@ -97,7 +97,7 @@ sub APCUPSD_RetrieveData($) {
   my $name = $hash->{NAME};
 
   my ($cmd, $val);
-  $cmd = $apcaccess." status ".$hash->{HOST}."  2>&1";
+  $cmd = $apcaccess." -u status ".$hash->{HOST}."  2>&1";
   $val = `$cmd`;
 
   if ( $val =~ m/^Error/ | ! length($val) ) {
@@ -139,12 +139,7 @@ sub APCUPSD_RetrieveData($) {
   foreach (split (',', $attr{$name}{asReadings})) {
     s/^\s+//;
     s/\s+$//;
-    $hash->{helper}{$_} =~ m/^([\-\d\.]*)(.*)$/;
-    if ( length($1) > 0 ) {
-      readingsBulkUpdate($hash, lc($_), 0+$1) if defined $hash->{helper}{$_};
-    } else {
-      readingsBulkUpdate($hash, lc($_), $2) if defined $hash->{helper}{$_};
-    }
+    readingsBulkUpdate($hash, lc($_), $hash->{helper}{$_}) if defined $hash->{helper}{$_};
   }
   readingsEndUpdate($hash, 1);

Da ich ungerne verschieden Versionen des Moduls im Umlauf haben möchte, hänge ich keine vollständige neue 34_APCUPSD.pm an, könnte das aber machen, wenn Interesse besteht.

LG
Christian
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ChrisW am 23 November 2017, 17:09:44
ich habe eine APC USV per USB an meiner Synology angeschlossen. Dort den USV Server Aktiv. Kann ich mit dem Modul nun was machen ?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Hauswart am 28 Dezember 2017, 11:26:25
Gibt es Alternativen zu diesem Modul?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: justme1968 am 28 Dezember 2017, 12:44:56
@ChrisW: das geht mit dem NUT modul.

Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Hauswart am 28 Dezember 2017, 13:21:44
@ChrisW: das geht mit dem NUT modul.



Also installiere ich wohl doch auch besser unter Debian nicht nur APCUPSD sondern auch das NUT. Hat jemand mal Powerchute ausprobiert?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: justme1968 am 28 Dezember 2017, 21:10:53
ob du nut oder apcupsd verwendest hängt von der usv ab die du verwendest. und wie weit du netzwerk fähig sein willst.


meine antwort bezog sich auf die kombination mit der synology.

die usv hängt dort an der synology, diese kann den status per nut an andere clients weiter geben. da bietet sich das nut modul an-
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Hauswart am 28 Dezember 2017, 21:15:47
Die APC läuft bei mir nun via ESXI unter FreeNAS, da ist NUT schon installiert.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: justme1968 am 28 Dezember 2017, 21:16:42
wenn du nut verwendest solltest du vermutlich auch das NUT modul verwenden.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ThomasDr am 22 Juni 2018, 22:24:34
Hallo,

wo kann man das Modul runterladen?
Und wie muss ich es installieren?
Oder ist das Projekt gestorben?

Schöne Grüße
ThomasDr
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: choenig am 22 Juni 2018, 22:44:11
Hi,

im ersten Post des Threads.

LG
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ThomasDr am 24 Juni 2018, 03:04:55
im ersten Post des Threads.

Hallo,

danke, wahrscheinlich hab ich es nicht gesehen weil ich nicht angemeldet war und mich erst zum Antworten eingeloggt habe.

Schöne Grüße
ThomasD
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Adriano am 04 August 2019, 14:59:15
Hallo, danke für das Script. Eine Frage. Kann man das ins offizielle Repository mit reinnehmen oder erfüllt das Skript nicht die kritierien?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: neo_owl am 18 August 2019, 15:18:46
Hallo,

auch danke für das Scipt funktioniert problemlos bei mir.

Die Frage wieso dieses Modul es nicht ins offizielle FHEM geschafft hat stellt sich mir allerdings auch.

Gruß
   Patrick
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Verkehrsrot am 14 Januar 2020, 00:03:15
Die Frage wieso dieses Modul es nicht ins offizielle FHEM geschafft hat stellt sich mir allerdings auch.

Wieso, 34_APCUPSD.pm ist doch standardmäßig vorhanden unter /opt/fhem/FHEM nach Installation. Damit ist es doch "offiziell", oder irre ich damit?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Florian_GT am 14 Januar 2020, 01:29:35
Das module ist kein Standard von Fhem. Muss per Hand installiert werden.

Ist der Entwickler noch aktiv? Würde dass sonst gerne übernehmen.

Gruß Florian

Gesendet von meinem MI 9 mit Tapatalk

Titel: Antw:Neues Modul: APCUPSD
Beitrag von: sledge am 04 März 2020, 14:00:48
Das module ist kein Standard von Fhem. Muss per Hand installiert werden.

Ist der Entwickler noch aktiv? Würde dass sonst gerne übernehmen.

Gruß Florian

Gesendet von meinem MI 9 mit Tapatalk
premultiply hat sich Oktober 2019 das letzte mal eingeloggt. Schwierig zu sagen, aber das ist schon eine lange Zeit. Schreib' ihn doch direkt an - einen aktiven Maintainer für das Modul begrüße ich, auch wenn es "tut was es soll".
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: JWRu am 09 Mai 2020, 13:55:46
Ist die Sache mit dem Maintainer eigentlich zwischenzeitlich geklärt?

Ich habe nämlich wegen einer anderen Geschichte zur Zeit stacktrace laufen und erhalte regelmäßig diese Meldungen:
2020.05.09 13:45:05 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
2020.05.09 13:45:05 1: stacktrace:
2020.05.09 13:45:05 1:     main::__ANON__                      called by ./FHEM/34_APCUPSD.pm (142)
2020.05.09 13:45:05 1:     main::APCUPSD_RetrieveData          called by ./FHEM/34_APCUPSD.pm (163)
2020.05.09 13:45:05 1:     main::APCUPSD_PollTimer             called by fhem.pl (3313)
2020.05.09 13:45:05 1:     main::HandleTimeout                 called by fhem.pl (676)
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: markus_fhem am 19 Dezember 2020, 12:39:01
Ist die Sache mit dem Maintainer eigentlich zwischenzeitlich geklärt?

Ich habe nämlich wegen einer anderen Geschichte zur Zeit stacktrace laufen und erhalte regelmäßig diese Meldungen:
2020.05.09 13:45:05 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
2020.05.09 13:45:05 1: stacktrace:
2020.05.09 13:45:05 1:     main::__ANON__                      called by ./FHEM/34_APCUPSD.pm (142)
2020.05.09 13:45:05 1:     main::APCUPSD_RetrieveData          called by ./FHEM/34_APCUPSD.pm (163)
2020.05.09 13:45:05 1:     main::APCUPSD_PollTimer             called by fhem.pl (3313)
2020.05.09 13:45:05 1:     main::HandleTimeout                 called by fhem.pl (676)

2020.12.19 12:24:57 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
2020.12.19 12:24:57 1: stacktrace:
2020.12.19 12:24:57 1:     main::__ANON__                      called by ./FHEM/34_APCUPSD.pm (142)
2020.12.19 12:24:57 1:     main::APCUPSD_RetrieveData          called by ./FHEM/34_APCUPSD.pm (163)
2020.12.19 12:24:57 1:     main::APCUPSD_PollTimer             called by ./FHEM/98_apptime.pm (178)
2020.12.19 12:24:57 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (86)
2020.12.19 12:24:57 1:     main::HandleTimeout                 called by fhem.pl (677)
Die gleiche Meldung gibt mir stacktrace (in kombinierter Verwendung mit Apptime) auch im Sekundentakt ins Logfile. Gibt es hier schon etwas neues zur Weiterentwicklung?
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: michael.winkler am 19 Februar 2021, 14:00:23
Vielleicht passt ja das hier https://forum.fhem.de/index.php/topic,118946.0.html
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Frank_Huber am 22 Februar 2021, 13:40:05
Auch mir fallen die Meldungen im Log auf.

am FHEM mit ner kleinen Back-UPS XS 700U habe ich Zwei Zeilen im Log nach Neustart:
2021.02.22 08:04:22 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142, <$fh> line 454.
2021.02.22 08:05:22 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.

am FHEM mit der "großen" Smart-UPS RT 2000 RM XL gibt es nur eine Log Zeile nach Neustart:
2021.02.22 08:19:31 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
Es sind nur Warnings, klar. und es läuft auch alles. dennoch sollte man das doch mal angehen?
Der Verfasser des Moduls war leider sein Anfang Dezember nicht mehr hier.
Titel: Antw:Neues Modul: APCUPSD
Beitrag von: ThomasFh am 29 April 2021, 12:59:13
Guten Tag,

meine APC ist über einen NIC vom Typ AP9630 angebunden.
D.h., die Infos bekommt man via Webinterface.

Gibt es hierfür schon ein FHEM Modul?

Titel: Antw:Neues Modul: APCUPSD
Beitrag von: Nobbynews am 14 Juli 2021, 14:21:29
Hallo zusammen,

mich haben die Meldungen im Log und insbesondere bei stacktrace schon länger geärgert.
Ich habe hier 2 Stück Back-UPS ES 700G in Betrieb und bei stacktrace=1 diese Meldung im Log:
2021.07.14 14:03:58 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142.
2021.07.14 14:03:58 1: stacktrace:
2021.07.14 14:03:58 1:     main::__ANON__                      called by ./FHEM/34_APCUPSD.pm (142)
2021.07.14 14:03:58 1:     main::APCUPSD_RetrieveData          called by ./FHEM/34_APCUPSD.pm (163)
2021.07.14 14:03:58 1:     main::APCUPSD_PollTimer             called by fhem.pl (3425)
2021.07.14 14:03:58 1:     main::HandleTimeout                 called by fhem.pl (696)

Die Lösung zur Beseitigung der Meldungen liefert das Modul selbst (Device specific help), habe es aber auch jetzt erst nach gefühlten Jahren gelesen.
Mit dem simplen Befehl list <device> bekommt man im list u.a. eine Aufstellung der unterstützen Readings, bei mir:
helper:
     ALARMDEL   30 Seconds
     APC        001,036,0943
     BATTDATE   2018-11-17
     BATTV      13.6 Volts
     BCHARGE    100.0 Percent
     CABLE      USB Cable
     CUMONBATT  180 Seconds
     DATE       2021-07-14 14:13:03 +0200
     DRIVER     USB UPS Driver
     END APC    2021-07-14 14:13:57 +0200
     FIRMWARE   871.O4 .I USB FW:O4
     HITRANS    266.0 Volts
     HOSTNAME   nobby-rasp
     LASTSTEST  2021-07-05 21:26:21 +0200
     LASTXFER   Automatic or explicit self test
     LINEV      230.0 Volts
     LOADPCT    6.0 Percent
     LOTRANS    180.0 Volts
     MAXTIME    0 Seconds
     MBATTCHG   10 Percent
     MINTIMEL   3 Minutes
     MODEL      Back-UPS ES 700G
     NOMBATTV   12.0 Volts
     NOMINV     230 Volts
     NUMXFERS   11
     SENSE      Medium
     SERIALNO   5B1846T47554
     STARTTIME  2021-02-13 12:17:08 +0100
     STATFLAG   0x05000008
     STATUS     ONLINE
     TIMELEFT   31.1 Minutes
     TONBATT    0 Seconds
     UPSMODE    Stand Alone
     UPSNAME    USV_2
     VERSION    3.14.14 (31 May 2016) debian
     XOFFBATT   2021-07-05 21:26:31 +0200
     XONBATT    2021-07-05 21:26:21 +0200
Standardmäßig wird bei der Definition des Moduls mit angelegt:
Attributes:
   asReadings BATTV,BCHARGE,LINEV,LOADPCT,OUTPUTV,TIMELEFT,LASTXFER
Ein Vergleich mit den unter helper aufgeführten readings zeigt, dass das reading "OUTPUTV" von diesem Model nicht untertützt wird.
Also kurzerhand das Attribut angepasst zu
attr <device> asReadings BATTV,BCHARGE,LINEV,LOADPCT,TIMELEFT,LASTXFER und schon sind die Warnungen im Log bei aktiviertem stacktrace Geschichte.

Norbert