Probleme mit automatischem Start von apcupsd

Begonnen von Blablubblaber, 04 Januar 2017, 10:27:24

Vorheriges Thema - Nächstes Thema

Blablubblaber

Hallo alle zusammen,

ich habe das Problem das mir apcupsd nach einem neustart nicht automatisch startet.

Installiert habe ich

sudo apt-get install apcupsd

anschließend mit

sudo nano /etc/apcupsd/apcupsd.conf

die conf geöffnet und folgendes eingegeben

UPSCABLE ether

UPSTYPE snmp
DEVICE 192.168.xxx.5:::public


gespeichert und geschlossen

dann habe ich mit

sudo nano /etc/default/apcupsd


geöffnet und dort

ISCONFIGURED=yes

gesetzt.

wen ich nun aber den Raspberry neu starte startet es nicht automatisch und ich muss erst ein

sudo /etc/init.d/apcupsd start

eingeben bevor es funktioniert.

kann mir jemand bei dem Problem helfen finde keine Lösung.



mahowi

Wahrscheinlich hast Du das automatische Starten nicht eingestellt. Versuch's mal mit sudo systemctl enable apcupsd.service
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Blablubblaber

Habe es ausprobiert leider ohne Erfolg nach einem neustart vom rpi3 kommt auf

sudo apcaccess status

als Ergebnis immer noch

Error contacting apcupsd @ 127.0.0.1:3551: Connection refused

erst nach einem

sudo /etc/init.d/apcupsd start


funktioniert es.

frank

Zitatsudo systemctl enable apcupsd.service
gibt es denn die apcupsd.service datei?

was ergibt
sudo systemctl status apcupsd.service
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Blablubblaber

ein

sudo systemctl enable apcupsd.service

gibt aus

Synchronizing state for apcupsd.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d apcupsd defaults
Executing /usr/sbin/update-rc.d apcupsd enable



ein

sudo systemctl status apcupsd.service

gibt aus

● apcupsd.service - LSB: Starts apcupsd daemon
   Loaded: loaded (/etc/init.d/apcupsd)
   Active: active (exited) since Mi 2017-01-04 14:21:58 CET; 3min 42s ago

Jan 04 14:21:58 raspberrypi apcupsd[419]: Starting UPS power management: apcupsd.
Jan 04 14:21:58 raspberrypi apcupsd[449]: apcupsd 3.14.12 (29 March 2014) debian startup succeeded
Jan 04 14:21:58 raspberrypi apcupsd[449]: NIS server startup succeeded
Jan 04 14:21:58 raspberrypi systemd[1]: Started LSB: Starts apcupsd daemon.



und nachdem ich

sudo /etc/init.d/apcupsd start

eingegeben habe gibt es

● apcupsd.service - LSB: Starts apcupsd daemon
   Loaded: loaded (/etc/init.d/apcupsd)
   Active: active (exited) since Mi 2017-01-04 14:21:58 CET; 5min ago

Jan 04 14:21:58 raspberrypi apcupsd[419]: Starting UPS power management: apcupsd.
Jan 04 14:21:58 raspberrypi apcupsd[449]: apcupsd 3.14.12 (29 March 2014) debian startup succeeded
Jan 04 14:21:58 raspberrypi apcupsd[449]: NIS server startup succeeded
Jan 04 14:21:58 raspberrypi systemd[1]: Started LSB: Starts apcupsd daemon.


das aus.

Blablubblaber

Hat niemand noch irgendwelche Ideen wieso das nicht klappt?

Hollo

Was klappt denn da nicht?
Bei der Statusabfrage siehst Du, dass der Dienst läuft.
Du startest ihn erneut und siehst bei der nächsten Abfrage, dass er noch immer läuft.
Da er schon lief wird er auch gar nicht neu gestartet.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Blablubblaber

Wenn ich ein

sudo /etc/init.d/apcupsd status

eingebe kommen die Daten der USV wenn ich nun ein neustart mache und es wieder eingebe kommt als Antwort auf status

Error contacting apcupsd @ 127.0.0.1:3551: Connection refused


dann muss ich wieder ein

sudo /etc/init.d/apcupsd start

eingebe auf das die Antwort

Starting UPS power management: apcupsd.

kommt und wenn ich nun wieder status eingebe kommen wieder die Daten der USV

Heist für mich so viel wie das der Dienst nicht läuft bis ich das start eingebe oder liege ich da falsch?

Wenn ich nach einem neustart

sudo systemctl status apcupsd.service

eingebe kommt als Antwort trotzdem

● apcupsd.service - LSB: Starts apcupsd daemon
   Loaded: loaded (/etc/init.d/apcupsd)
   Active: active (exited) since Sa 2017-01-07 09:53:32 CET; 1min 29s ago
  Process: 423 ExecStart=/etc/init.d/apcupsd start (code=exited, status=0/SUCCESS)

Jan 07 09:53:32 raspberrypi systemd[1]: Starting LSB: Starts apcupsd daemon...
Jan 07 09:53:32 raspberrypi apcupsd[451]: apcupsd 3.14.12 (29 March 2014) debian startup succeeded
Jan 07 09:53:32 raspberrypi apcupsd[451]: NIS server startup succeeded
Jan 07 09:53:32 raspberrypi apcupsd[423]: Starting UPS power management: apcupsd.
Jan 07 09:53:32 raspberrypi systemd[1]: Started LSB: Starts apcupsd daemon.


und ein

sudo /etc/init.d/apcupsd status

gibt trotzdem ein

Error contacting apcupsd @ 127.0.0.1:3551: Connection refused

aus solange bis ich ein

sudo /etc/init.d/apcupsd start

eingebe.


Hollo

Warum benutzt Du abwechselnd unterschiedliche Wege (service und init.d)?

Der "service-status" besagt ja lediglich das der Daemon gestartet wurde.
Anschliessend kommt die Fehlermeldung, dass aber die Verbindung abgelehnt wurde.

Hast Du Deine Konfigurationsdatei mal überprüft bzw. ist das gepostete die komplette?
Ich habe da lange nichts mit gemacht, aber aus dem Kopf passt die so nicht.

Da muss mW in die snmp Angabe neben der IP auch Port, noch irgendwas und die Freigabe-Art rein.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Blablubblaber

Ich habe hier mal das komplette config File wie es bei mir ist hoffe das jemand dort ein Fehler finden kann der dafür verantwortlich ist ich finde leider keinen.

## apcupsd.conf v1.1 ##
#
#  for apcupsd release 3.14.12 (29 March 2014) - debian
#
# "apcupsd" POSIX config file

#
# ========= General configuration parameters ============
#


# UPSNAME xxx
#   Use this to give your UPS a name in log files and such. This
#   is particulary useful if you have multiple UPSes. This does not
#   set the EEPROM. It should be 8 characters or less.
#UPSNAME

# UPSCABLE <cable>
#   Defines the type of cable connecting the UPS to your computer.
#
#   Possible generic choices for <cable> are:
#     simple, smart, ether, usb
#
#   Or a specific cable model number may be used:
#     940-0119A, 940-0127A, 940-0128A, 940-0020B,
#     940-0020C, 940-0023A, 940-0024B, 940-0024C,
#     940-1524C, 940-0024G, 940-0095A, 940-0095B,
#     940-0095C, 940-0625A, M-04-02-2000
#
UPSCABLE ether
#UPSCABLE usb

# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE   DEVICE           Description
# apcsmart  /dev/tty**       Newer serial character device, appropriate for
#                            SmartUPS models using a serial cable (not USB).
#
# usb       <BLANK>          Most new UPSes are USB. A blank DEVICE
#                            setting enables autodetection, which is
#                            the best choice for most installations.
#
# net       hostname:port    Network link to a master apcupsd through apcupsd's
#                            Network Information Server. This is used if the
#                            UPS powering your computer is connected to a
#                            different computer for monitoring.

# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE   DEVICE           Description
# apcsmart  /dev/tty**       Newer serial character device, appropriate for
#                            SmartUPS models using a serial cable (not USB).
#
# usb       <BLANK>          Most new UPSes are USB. A blank DEVICE
#                            setting enables autodetection, which is
#                            the best choice for most installations.
#
# net       hostname:port    Network link to a master apcupsd through apcupsd's
#                            Network Information Server. This is used if the
#                            UPS powering your computer is connected to a
#                            different computer for monitoring.

#
# snmp      hostname:port:vendor:community
#                            SNMP network link to an SNMP-enabled UPS device.
#                            Hostname is the ip address or hostname of the UPS
#                            on the network. Vendor can be can be "APC" or
#                            "APC_NOTRAP". "APC_NOTRAP" will disable SNMP trap
#                            catching; you usually want "APC". Port is usually
#                            161. Community is usually "private".
#
# netsnmp   hostname:port:vendor:community
#                            OBSOLETE
#                            Same as SNMP above but requires use of the
#                            net-snmp library. Unless you have a specific need
#                            for this old driver, you should use 'snmp' instead.
#
# dumb      /dev/tty**       Old serial character device for use with
#                            simple-signaling UPSes.
#
# pcnet     ipaddr:username:passphrase:port
#                            PowerChute Network Shutdown protocol which can be

#                            used as an alternative to SNMP with the AP9617
#                            family of smart slot cards. ipaddr is the IP
#                            address of the UPS management card. username and
#                            passphrase are the credentials for which the card
#                            has been configured. port is the port number on
#                            which to listen for messages from the UPS, normally
#                            3052. If this parameter is empty or missing, the
#                            default of 3052 will be used.
#
# modbus    /dev/tty**       Serial device for use with newest SmartUPS models
#                            supporting the MODBUS protocol.
#
UPSTYPE snmp
#UPSTYPE usb
#DEVICE /dev/ttyS0
DEVICE 192.168.178.5:::public


# POLLTIME <int>
#   Interval (in seconds) at which apcupsd polls the UPS for status. This

#   setting applies both to directly-attached UPSes (UPSTYPE apcsmart, usb,
#   dumb) and networked UPSes (UPSTYPE net, snmp). Lowering this setting
#   will improve apcupsd's responsiveness to certain events at the cost of
#   higher CPU utilization. The default of 60 is appropriate for most
#   situations.
#POLLTIME 60

# LOCKFILE <path to lockfile>
#   Path for device lock file. Not used on Win32.
LOCKFILE /var/lock

# SCRIPTDIR <path to script directory>
#   Directory in which apccontrol and event scripts are located.
SCRIPTDIR /etc/apcupsd

# PWRFAILDIR <path to powerfail directory>
#   Directory in which to write the powerfail flag file. This file
#   is created when apcupsd initiates a system shutdown and is
#   checked in the OS halt scripts to determine if a killpower
#   (turning off UPS output power) is required.

PWRFAILDIR /etc/apcupsd

# NOLOGINDIR <path to nologin directory>
#   Directory in which to write the nologin file. The existence
#   of this flag file tells the OS to disallow new logins.
NOLOGINDIR /etc


#
# ======== Configuration parameters used during power failures ==========
#

# The ONBATTERYDELAY is the time in seconds from when a power failure
#   is detected until we react to it with an onbattery event.
#
#   This means that, apccontrol will be called with the powerout argument
#   immediately when a power failure is detected.  However, the
#   onbattery argument is passed to apccontrol only after the
#   ONBATTERYDELAY time.  If you don't want to be annoyed by short
#   powerfailures, make sure that apccontrol powerout does nothing

#   i.e. comment out the wall.
ONBATTERYDELAY 6

#
# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
# the first that occurs will cause the initation of a shutdown.
#

# If during a power failure, the remaining battery percentage
# (as reported by the UPS) is below or equal to BATTERYLEVEL,
# apcupsd will initiate a system shutdown.
BATTERYLEVEL 5

# If during a power failure, the remaining runtime in minutes
# (as calculated internally by the UPS) is below or equal to MINUTES,
# apcupsd, will initiate a system shutdown.
MINUTES 3

# If during a power failure, the UPS has run on batteries for TIMEOUT
# many seconds or longer, apcupsd will initiate a system shutdown.

# A value of 0 disables this timer.
#
#  Note, if you have a Smart UPS, you will most likely want to disable
#    this timer by setting it to zero. That way, you UPS will continue
#    on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
#    or the remaining battery runtime drops to or below MINUTES.  Of course,
#    if you are testing, setting this to 60 causes a quick system shutdown
#    if you pull the power plug.
#  If you have an older dumb UPS, you will want to set this to less than
#    the time you know you can run on batteries.
TIMEOUT 0

#  Time in seconds between annoying users to signoff prior to
#  system shutdown. 0 disables.
ANNOY 300

# Initial delay after power failure before warning users to get
# off the system.
ANNOYDELAY 60


# The condition which determines when users are prevented from
# logging in during a power failure.
# NOLOGON <string> [ disable | timeout | percent | minutes | always ]
NOLOGON disable

# If KILLDELAY is non-zero, apcupsd will continue running after a
# shutdown has been requested, and after the specified time in
# seconds attempt to kill the power. This is for use on systems
# where apcupsd cannot regain control after a shutdown.
# KILLDELAY <seconds>  0 disables
KILLDELAY 0

#
# ==== Configuration statements for Network Information Server ====
#

# NETSERVER [ on | off ] on enables, off disables the network
#  information server. If netstatus is on, a network information
#  server process will be started for serving the STATUS and
#  EVENT data over the network (used by CGI programs).

NETSERVER on

# NISIP <dotted notation ip address>
#  IP address on which NIS server will listen for incoming connections.
#  This is useful if your server is multi-homed (has more than one
#  network interface and IP address). Default value is 0.0.0.0 which
#  means any incoming request will be serviced. Alternatively, you can
#  configure this setting to any specific IP address of your server and
#  NIS will listen for connections only on that interface. Use the
#  loopback address (127.0.0.1) to accept connections only from the
#  local machine.
NISIP 127.0.0.1

# NISPORT <port> default is 3551 as registered with the IANA
#  port to use for sending STATUS and EVENTS data over the network.
#  It is not used unless NETSERVER is on. If you change this port,
#  you will need to change the corresponding value in the cgi directory
#  and rebuild the cgi programs.
NISPORT 3551


# If you want the last few EVENTS to be available over the network
# by the network information server, you must define an EVENTSFILE.
EVENTSFILE /var/log/apcupsd.events

# EVENTSFILEMAX <kilobytes>
#  By default, the size of the EVENTSFILE will be not be allowed to exceed
#  10 kilobytes.  When the file grows beyond this limit, older EVENTS will
#  be removed from the beginning of the file (first in first out).  The
#  parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
#  to zero to allow the EVENTSFILE to grow without limit.
EVENTSFILEMAX 10

#
# ========== Configuration statements used if sharing =============
#            a UPS with more than one machine

#
# Remaining items are for ShareUPS (APC expansion card) ONLY
#


# UPSCLASS [ standalone | shareslave | sharemaster ]
#   Normally standalone unless you share an UPS using an APC ShareUPS
#   card.
UPSCLASS standalone

# UPSMODE [ disable | share ]
#   Normally disable unless you share an UPS using an APC ShareUPS card.
UPSMODE disable

#
# ===== Configuration statements to control apcupsd system logging ========
#

# Time interval in seconds between writing the STATUS file; 0 disables
STATTIME 0

# Location of STATUS file (written to only if STATTIME is non-zero)
STATFILE /var/log/apcupsd.status

# LOGSTATS [ on | off ] on enables, off disables

# Note! This generates a lot of output, so if
#       you turn this on, be sure that the
#       file defined in syslog.conf for LOG_NOTICE is a named pipe.
#  You probably do not want this on.
LOGSTATS off

# Time interval in seconds between writing the DATA records to
#   the log file. 0 disables.
DATATIME 0

# FACILITY defines the logging facility (class) for logging to syslog.
#          If not specified, it defaults to "daemon". This is useful
#          if you want to separate the data logged by apcupsd from other
#          programs.
#FACILITY DAEMON

#
# ========== Configuration statements used in updating the UPS EPROM =========
#


#
# These statements are used only by apctest when choosing "Set EEPROM with conf
# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
#

# UPS name, max 8 characters
#UPSNAME UPS_IDEN

# Battery date - 8 characters
#BATTDATE mm/dd/yy

# Sensitivity to line voltage quality (H cause faster transfer to batteries)
# SENSITIVITY H M L        (default = H)
#SENSITIVITY H

# UPS delay after power return (seconds)
# WAKEUP 000 060 180 300   (default = 0)
#WAKEUP 60

# UPS Grace period after request to power off (seconds)
# SLEEP 020 180 300 600    (default = 20)
#SLEEP 180

# Low line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
#  of FIRMWARE or APCMODEL. Some representative values are:
#    D 106 103 100 097
#    M 177 172 168 182
#    A 092 090 088 086
#    I 208 204 200 196     (default = 0 => not valid)
#LOTRANSFER  208

# High line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter
#  of FIRMWARE or APCMODEL. Some representative values are:
#    D 127 130 133 136
#    M 229 234 239 224
#    A 108 110 112 114
#    I 253 257 261 265     (default = 0 => not valid)
#HITRANSFER 253

# Battery charge needed to restore power
# RETURNCHARGE 00 15 50 90 (default = 15)
#RETURNCHARGE 15

# Alarm delay
# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = $
# BEEPSTATE 0 T L N        (default = 0)
#BEEPSTATE T


# Low battery warning delay in minutes
# LOWBATT 02 05 07 10      (default = 02)
#LOWBATT 2

# UPS Output voltage when running on batteries
# The permitted values depend on your model as defined by last letter
#  of FIRMWARE or APCMODEL. Some representative values are:
#    D 115
#    M 208
#    A 100
#    I 230 240 220 225     (default = 0 => not valid)
#OUTPUTVOLTS 230

# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
# SELFTEST 336 168 ON OFF  (default = 336)
#SELFTEST 336

mahowi

Wenn ich das richtig sehe gehören da noch Port und Vendor zum hosttype. Zumindest steht es so in der Beschreibung.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Blablubblaber

#11
Ich habe hier mal einen Auszug aus der Anleitung von APCUPSD wenn ich die richtig verstehe dann muss man da nichts angeben dann nimmt er die Default Einstellungen.

Connecting APCUPSD to a SNMP UPS

The previous sections describe configuration of the actual SNMP card. The remaining sections describe configuration of the APCUPSD to communicate using SNMP Protocol.

To enable the SNMP support it is enough to configure the correct device in your apcupsd.conf configuration file. The directive needed for this configuration is:

DEVICE <host>:<port>:<vendor>:<community>
...where the directive is made by four parts. All but the first may be omitted completely or left empty to accept the default.

host: IP address or DNS hostname of the UPS (required)

port: Remote SNMP port (optional, default: 161)

vendor: The type of SNMP MIB available on the UPS (optional, default: autodetect). Allowable choices for vendor are:

APC : APC PowerNet MIB, used on most APC brand UPSes
RFC : RFC1628 MIB, used by some non-APC UPSes
MGE : MGE MIB, used by many MGE brand UPSes
blank : Autodetect
Append "_NOTRAP" to the vendor name to disable SNMP trap catching (ex: "APC_NOTRAP"). See SNMP Trap Catching.

community: The read-write community string, usually "private". You can specify a read-only community string, usually "public", if you do not require killpower support. If the community string is omitted, apcupsd will attempt to autotedect by trying "private" and "public". (optional, default: autodetect).

A NIS Server/Client (Master/Slave) configuration with multiple servers is still applicable. However, an alternative configuration is possible with an SNMP enabled UPS. In this arrangement, all connected servers will be configured as a standalone server. Each will independently communicate to the UPS. One (primary) server will be chosen to manage the task of commanding the UPS to power down. All remaining (secondary) servers will be configured to quietly power down before the primary server issues the UPS power down command.


Quelle:
http://www.apcupsd.org/manual/manual.html#connecting-apcupsd-to-a-snmp-ups

mahowi

Dann kann ich Dir leider auch nicht helfen. Ich würde mal gucken,ob es irgendwelche Debug-Parameter gibt, die Dir ein paar Ausgaben beim Starten ins Log schreiben.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Blablubblaber

Wie kann ich das schauen ich kenne mich noch nicht so gut aus in der Linux Welt.

Hollo

Das
ZitatHabe es ausprobiert leider ohne Erfolg nach einem neustart vom rpi3 kommt auf

Code: [Auswählen]

sudo apcaccess status

als Ergebnis immer noch

Code: [Auswählen]

Error contacting apcupsd @ 127.0.0.1:3551: Connection refused

ist aber etwas anderes als die SNMP-Verbindung!
Da versuchst Du mit irgendwas lokal auf den apcups Daemon zuzugreifen und diese Verbindung wird abgelehnt.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"