Neues Modul: APCUPSD

Begonnen von premultiply, 22 Juni 2015, 11:49:09

Vorheriges Thema - Nächstes Thema

ThomasFh

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?

EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

Nobbynews

#61
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

sky64

Hallo, auch wenn das ein älteres Modul ist hoffe ich dass sich da jemand mit PERL-Kenntnissen dazu äußern kann.
Das Modul ansich funktioniert.
Allerdings werden bei mir bei einigen Readings nur die ersten Teile angezeigt.
Also z.B. bei XONBATT wird nur "2022" statt "2022-01-22 17:22:57 +0100"
Hier wird also irgendwo im Code beim "-" abgeschnitten und das übersteigt meine PERL-Kenntnisse.

Internals:
   BATTDATE   2021-11-26
   CFGFN     
   DEF        60 192.168.30.2
   FUUID      61f02642-f33f-5588-816d-49f6b84276cd48d1
   HOST       192.168.30.2:3551
   INTERVAL   60
   LOWBATT    20
   MODEL      Back-UPS RS 1200G
   NAME       BackUPC
   NR         368886
   SERIALNO   3B1303X09312
   STATE      ONLINE
   TYPE       APCUPSD
   READINGS:
     2022-01-25 18:10:07   battery         ok
     2022-01-25 18:10:07   battv           27.2
     2022-01-25 18:10:07   bcharge         100
     2022-01-25 18:10:07   laststest       2022
     2022-01-25 18:10:07   lastxfer        Automatic or explicit self test
     2022-01-25 18:10:07   linev           231
     2022-01-25 18:10:07   loadpct         12
     2022-01-25 18:10:07   state           ONLINE
     2022-01-25 18:10:07   timeleft        71.5
     2022-01-25 18:10:07   xonbatt         2022
   helper:
     ALARMDEL   No alarm
     APC        001,037,0968
     BATTDATE   2021-11-26
     BATTV      27.2 Volts
     BCHARGE    100.0 Percent
     CABLE      USB Cable
     CUMONBATT  32 Seconds
     DATE       2022-01-25 18:10:06 +0100
     DRIVER     USB UPS Driver
     END APC    2022-01-25 18:10:07 +0100
     FIRMWARE   877.L4 .I USB FW:L4
     HITRANS    294.0 Volts
     HOSTNAME   pfSense.local
     LASTSTEST  2022-01-22 17:22:57 +0100
     LASTXFER   Automatic or explicit self test
     LINEV      231.0 Volts
     LOADPCT    12.0 Percent
     LOTRANS    176.0 Volts
     MAXTIME    0 Seconds
     MBATTCHG   5 Percent
     MINTIMEL   10 Minutes
     MODEL      Back-UPS RS 1200G
     NOMBATTV   24.0 Volts
     NOMINV     230 Volts
     NUMXFERS   4
     SELFTEST   NO
     SENSE      Medium
     SERIALNO   3B1303X09312
     STARTTIME  2021-11-27 15:45:40 +0100
     STATFLAG   0x05000008
     STATUS     ONLINE
     TIMELEFT   71.5 Minutes
     TONBATT    0 Seconds
     UPSMODE    ShareUPS Master
     UPSNAME    apc
     VERSION    3.14.14 (31 May 2016) freebsd
     XOFFBATT   2022-01-22 17:23:07 +0100
     XONBATT    2022-01-22 17:22:57 +0100
   hmccu:
Attributes:
   DbLogExclude .*
   asReadings BATTV,BCHARGE,LINEV,LOADPCT,TIMELEFT,LASTXFER,LASTSTEST,XONBATT
FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

Frank_Huber

Kann ich bestätigen, in den helpern noch OK, im reading gekürzt.


Internals:
   BATTDATE   11/14/19
   DEF        60 127.0.0.1:3551
   FUUID      5db6d3f4-f33f-7ae5-f681-d04ba120af770c71
   HOST       127.0.0.1:3551
   INTERVAL   60
   LOWBATT    20
   MODEL      Smart-UPS RT 2000 RM XL
   NAME       APC_USV
   NR         224
   SERIALNO   QS1213130141
   STATE      ONLINE / 22.5 °C / 21 % Last / Schutzzeit ca. 221 min
   TYPE       APCUPSD
   Helper:
     DBLOG:
       bcharge:
         logdb:
           TIME       1643134892.11898
           VALUE      100
       loadpct:
         logdb:
           TIME       1643136452.1809
           VALUE      21
       state:
         logdb:
           TIME       1641136719.34159
           VALUE      ONLINE
       timeleft:
         logdb:
           TIME       1643136512.1815
           VALUE      221
   READINGS:
     2022-01-25 19:47:32   Load_VA         420
     2022-01-25 19:47:32   Load_Watt       294
     2022-01-25 19:50:32   battery         ok
     2022-01-25 19:50:32   battv           54.5
     2022-01-25 19:50:32   bcharge         100
     2022-01-25 19:50:32   itemp           22.5
     2022-01-25 19:50:32   laststest       2022
     2022-01-25 19:50:32   lastxfer        Automatic or explicit self test
     2022-01-25 19:50:32   linev           228.9
     2022-01-25 19:50:32   loadpct         21
     2022-01-25 19:50:32   model           Smart-UPS RT 2000 RM XL
     2022-01-25 19:50:32   outputv         228.1
     2022-01-25 19:50:32   state           ONLINE
     2022-01-25 19:50:32   temperature     22.5
     2022-01-25 19:50:32   timeleft        221
   helper:
     ALARMDEL   5 Seconds
     APC        001,051,1232
     BATTDATE   11/14/19
     BATTV      54.5 Volts
     BCHARGE    100.0 Percent
     CABLE      Ethernet Link
     CUMONBATT  31 Seconds
     DATE       2021-12-29 11:03:01 +0100
     DLOWBATT   10 Minutes
     DRIVER     PCNET UPS Driver
     DSHUTD     240 Seconds
     DWAKE      0 Seconds
     END APC    2022-01-25 19:50:32 +0100
     EXTBATTS   2
     FIRMWARE   418.8.I
     HITRANS    242.0 Volts
     HOSTNAME   FHEM-DG-BUSTER
     ITEMP      22.5 C
     LASTSTEST  2022-01-16 16:16:39 +0100
     LASTXFER   Automatic or explicit self test
     LINEFREQ   50.0 Hz
     LINEV      228.9 Volts
     LOADPCT    21.0 Percent
     LOTRANS    196.0 Volts
     MANDATE    03/25/12
     MAXLINEV   228.9 Volts
     MAXTIME    0 Seconds
     MBATTCHG   5 Percent
     MINLINEV   228.9 Volts
     MINTIMEL   3 Minutes
     MODEL      Smart-UPS RT 2000 RM XL
     NOMBATTV   48.0 Volts
     NOMOUTV    230 Volts
     NUMXFERS   2
     OUTPUTV    228.1 Volts
     REG1       0x00
     REG2       0x00
     REG3       0x00
     RETPCT     0.0 Percent
     SELFTEST   NO
     SERIALNO   QS1213130141
     STARTTIME  2021-12-29 11:02:39 +0100
     STATFLAG   0x05000008
     STATUS     ONLINE
     STESTI     336
     TIMELEFT   221.0 Minutes
     TONBATT    0 Seconds
     UPSMODE    Stand Alone
     UPSNAME    HUBER_USV
     VERSION    3.14.14 (31 May 2016) debian
     XOFFBATT   2022-01-16 16:16:55 +0100
     XONBATT    2022-01-16 16:16:39 +0100
Attributes:
   DbLogExclude .*
   DbLogInclude bcharge,loadpct,state,timeleft
   asReadings BATTV,BCHARGE,ITEMP,NOMPOWER,LINEV,LOADPCT,MODEL,OUTPUTV,TIMELEFT,LASTSTEST,LASTXFER
   comment    1400 W / 2000 VA
   event-min-interval bcharge:3600,loadpct:3600,timeleft:3600
   event-on-change-reading .*
   group      APC_USV
   room       EDV_USV
   stateFormat state / temperature °C / loadpct % Last / Schutzzeit ca. timeleft min
   userReadings Load_Watt:loadpct.* {(ReadingsVal($name,'loadpct','0') * 14)},
Load_VA:loadpct.* {(ReadingsVal($name,'loadpct','0') * 20)}
   verbose    3

Verkehrsrot

Zitat von: Nobbynews am 14 Juli 2021, 14:21:29
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

Danke für den Hinweis. Ich nutze eine APC Back-Ups ES 550G, die laut Modulhilfe OUTPUTV nicht unterstützt. Habe OUTPUTV aus dem Attribut asReadings rausgenommen. Das hat aber nichts gebracht. Im Log sehe ich weiterhin diese Warnungen:

2023.02.20 15:41:59 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/34_APCUPSD.pm line 142, <$fh> line 721.
2023.02.20 15:41:59 1: stacktrace:
2023.02.20 15:41:59 1:     main::__ANON__                      called by ./FHEM/34_APCUPSD.pm (142)
2023.02.20 15:41:59 1:     main::APCUPSD_RetrieveData          called by ./FHEM/34_APCUPSD.pm (163)
2023.02.20 15:41:59 1:     main::APCUPSD_PollTimer             called by ./FHEM/34_APCUPSD.pm (81)
2023.02.20 15:41:59 1:     main::APCUPSD_Define                called by fhem.pl (3976)
2023.02.20 15:41:59 1:     main::CallFn                        called by fhem.pl (2155)
2023.02.20 15:41:59 1:     main::CommandDefine                 called by fhem.pl (1276)
2023.02.20 15:41:59 1:     main::AnalyzeCommand                called by fhem.pl (1127)
2023.02.20 15:41:59 1:     main::AnalyzeCommandChain           called by fhem.pl (1415)
2023.02.20 15:41:59 1:     main::CommandInclude                called by fhem.pl (628)


Nobbynews

Zitat von: Verkehrsrot am 20 Februar 2023, 16:14:54
Habe OUTPUTV aus dem Attribut asReadings rausgenommen. Das hat aber nichts gebracht. Im Log sehe ich weiterhin diese Warnungen:
Diese Meldung habe ich nur noch bei einem Neustart von FHEM. Im normalen Betrieb kommt nix mehr.

Verkehrsrot

Ich habe es nun nachhaltig gelöst, indem ich aus der Zeile 79:

  $attr{$name}{asReadings} = "BATTV,BCHARGE,LINEV,LOADPCT,OUTPUTV,TIMELEFT,LASTXFER";

OUTPUTV herausgenommen habe.

Nobbynews

Habe ich bei mir auch gerade so gemacht, aber noch nicht getestet.
Daher hierzu (noch) kein Hinweis.
Bei einem reload des Moduls kam jedenfalls keine Meldung von stacktrace.

riker1

Hallo, ist das nun schon ein reguläres Modul?
Wie verwende ich es denn? finde im Wiki keine Anleitung

Danke VG
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

Hi

muss man bei dem apcupsd services  die ports 3551 oder 3552 irgendwie aktivcieren?

danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Nobbynews

Zitat von: riker1 am 19 April 2024, 10:23:34Hallo, ist das nun schon ein reguläres Modul?
Nein, ist es nicht.
Zitat von: riker1 am 19 April 2024, 11:09:14muss man bei dem apcupsd services  die ports 3551 oder 3552 irgendwie aktivcieren?
Der Port muss in der apcupsd.conf eingetragen sein.
Sollte aber standardmäßig so sein.