Internet Engineering Task Force (IETF)                        J. Quittek
Request for Comments: 7577                                     R. Winter
Category: Standards Track                                       T. Dietz
ISSN: 2070-1721                                         NEC Europe, Ltd.
                                                               July 2015
        
Internet Engineering Task Force (IETF)                        J. Quittek
Request for Comments: 7577                                     R. Winter
Category: Standards Track                                       T. Dietz
ISSN: 2070-1721                                         NEC Europe, Ltd.
                                                               July 2015
        

Definition of Managed Objects for Battery Monitoring

电池监控的托管对象定义

Abstract

摘要

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines managed objects that provide information on the status of batteries in managed devices.

此备忘录定义了管理信息库(MIB)的一部分,用于Internet社区中的网络管理协议。特别是,它定义了可提供受管设备中电池状态信息的受管对象。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7577.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc7577.

Copyright Notice

版权公告

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2015 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

Table of Contents

目录

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  The Internet-Standard Management Framework  . . . . . . . . .   5
   3.  Design of the Battery MIB Module  . . . . . . . . . . . . . .   6
     3.1.  MIB Module Structure  . . . . . . . . . . . . . . . . . .   6
     3.2.  Battery Technologies  . . . . . . . . . . . . . . . . . .   8
       3.2.1.  Guidelines for Adding Battery Technologies  . . . . .   9
     3.3.  Battery Identification  . . . . . . . . . . . . . . . . .   9
     3.4.  Charging Cycles . . . . . . . . . . . . . . . . . . . . .  10
     3.5.  Charge Control  . . . . . . . . . . . . . . . . . . . . .  10
     3.6.  Imported Definitions  . . . . . . . . . . . . . . . . . .  11
   4.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .  11
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  33
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  36
     6.1.  SMI Object Identifier Registration  . . . . . . . . . . .  36
     6.2.  Battery Technology Registration . . . . . . . . . . . . .  36
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  37
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  37
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  38
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  40
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  40
        
   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  The Internet-Standard Management Framework  . . . . . . . . .   5
   3.  Design of the Battery MIB Module  . . . . . . . . . . . . . .   6
     3.1.  MIB Module Structure  . . . . . . . . . . . . . . . . . .   6
     3.2.  Battery Technologies  . . . . . . . . . . . . . . . . . .   8
       3.2.1.  Guidelines for Adding Battery Technologies  . . . . .   9
     3.3.  Battery Identification  . . . . . . . . . . . . . . . . .   9
     3.4.  Charging Cycles . . . . . . . . . . . . . . . . . . . . .  10
     3.5.  Charge Control  . . . . . . . . . . . . . . . . . . . . .  10
     3.6.  Imported Definitions  . . . . . . . . . . . . . . . . . .  11
   4.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .  11
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  33
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  36
     6.1.  SMI Object Identifier Registration  . . . . . . . . . . .  36
     6.2.  Battery Technology Registration . . . . . . . . . . . . .  36
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  37
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  37
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  38
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  40
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  40
        
1. Introduction
1. 介绍

Today, more and more managed devices contain batteries that supply them with power when disconnected from electrical power distribution grids. Common examples are nomadic and mobile devices, such as notebook computers, netbooks, and smartphones. The status of batteries in such a device, particularly the charging status, is typically controlled by automatic functions that act locally on the device and manually by users of the device.

如今,越来越多的受管设备包含电池,当与配电网断开时,电池为其供电。常见的例子是游牧和移动设备,如笔记本电脑、上网本和智能手机。此类设备中电池的状态,尤其是充电状态,通常由本地作用于设备的自动功能和设备用户手动控制。

In addition to this, there is a need to monitor battery status of these devices by network management systems. This document defines a portion of the Management Information Base (MIB) that provides a means for monitoring batteries in or attached to managed devices. The Battery MIB module defined in Section 4 meets the requirements for monitoring the status of batteries specified in RFC 6988 [RFC6988].

除此之外,还需要通过网络管理系统监控这些设备的电池状态。本文档定义了管理信息库(MIB)的一部分,该部分提供了监控受管设备中或连接到受管设备的电池的方法。第4节中定义的电池MIB模块符合RFC 6988[RFC6988]中规定的电池状态监测要求。

The Battery MIB module provides for monitoring the battery status. According to the framework for energy management [RFC7326], it is an Energy Managed Object; thus, MIB modules such as the Power and Energy Monitoring MIB [RFC7460] could, in principle, be implemented for batteries. The Battery MIB extends the more generic aspects of energy management by adding battery-specific information. Amongst other things, the Battery MIB enables the monitoring of:

电池MIB模块用于监控电池状态。根据能源管理框架[RFC7326],它是一个能源管理对象;因此,原则上可以为电池实现MIB模块,如电源和能量监控MIB[RFC7460]。电池MIB通过添加特定于电池的信息,扩展了能源管理的更通用方面。除其他事项外,电池MIB能够监控:

o the current charge of a battery,

o 电池的当前电量,

o the age of a battery (charging cycles),

o 电池的寿命(充电周期),

o the state of a battery (e.g., being recharged),

o 电池的状态(例如,正在充电),

o last usage of a battery, and

o 电池的上次使用,以及

o maximum energy provided by a battery (remaining and total capacity).

o 电池提供的最大能量(剩余和总容量)。

Further, means are provided for battery-powered devices to send notifications to inform the management system of needed replacement when the current battery charge has dropped below a certain threshold. The same applies to the age of a battery.

此外,为电池供电设备提供了当当前电池电量下降到某个阈值以下时发送通知以通知管理系统所需更换的装置。这同样适用于电池的寿命。

Many battery-driven devices have existing instrumentation for monitoring the battery status because this is already needed for local control of the battery by the device. This reduces the effort for implementing the managed objects defined in this document. For many devices, only additional software will be needed; no additional hardware instrumentation for battery monitoring is necessary.

许多电池驱动设备都有用于监测电池状态的现有仪器,因为设备对电池的本地控制已经需要这种仪器。这减少了实现本文档中定义的托管对象的工作量。对于许多设备,只需要额外的软件;无需额外的电池监测硬件仪器。

Since there are a lot of devices in use that contain more than one battery, means for battery monitoring defined in this document support addressing multiple batteries within a single device. Also, batteries today often come in packages that can include identification and might contain additional hardware and firmware. The former allows tracing a battery and allows continuous monitoring even if the battery is installed in another device. The firmware version is useful information as the battery behavior might be different for different firmware versions.

由于使用的许多设备包含多个电池,因此本文档中定义的电池监控方法支持在单个设备中寻址多个电池。此外,今天的电池通常采用包含标识的软件包,并且可能包含额外的硬件和固件。前者允许跟踪电池,即使电池安装在另一个设备中也可以进行连续监控。固件版本是有用的信息,因为不同固件版本的电池行为可能不同。

Not explicitly in the scope of definitions in this document are very small backup batteries, for example, batteries used on a PC motherboard to run the clock circuit and retain configuration memory while the system is turned off. Other means may be required for reporting on these batteries. However, the MIB module defined in Section 3.1 can be used for this purpose.

在本文档的定义范围内没有明确说明非常小的备用电池,例如,在系统关闭时,PC主板上用于运行时钟电路和保留配置内存的电池。可能需要其他方法来报告这些电池。但是,第3.1节中定义的MIB模块可用于此目的。

A traditional type of managed device containing batteries is an Uninterruptible Power Supply (UPS) system; these supply other devices with electrical energy when the main power supply fails. There is already a MIB module for managing UPS systems defined in RFC 1628 [RFC1628]. The UPS MIB module includes managed objects for monitoring the batteries contained in a UPS system. However, the information provided by the UPS MIB objects is limited and tailored to the particular needs of UPS systems.

包含电池的传统受管设备类型是不间断电源(UPS)系统;当主电源发生故障时,这些装置向其他装置提供电能。已经有一个MIB模块用于管理RFC 1628[RFC1628]中定义的UPS系统。UPS MIB模块包括用于监控UPS系统中包含的电池的受管对象。然而,UPS MIB对象提供的信息是有限的,并根据UPS系统的特殊需要进行定制。

A huge variety of battery technologies are available, and they are evolving over time. For different applications, different battery technologies are preferable, for example, because of different weight, cost, robustness, charging time, etc. Some technologies, such as lead-acid batteries, are continuously in use for decades, while others, such as nickel-based battery technologies (nickel-cadmium and nickel-metal hydride), have, to a wide extent, been replaced by lithium-based battery technologies (lithium-ion and lithium polymer).

电池技术种类繁多,并且随着时间的推移而不断发展。对于不同的应用,不同的电池技术是可取的,例如,由于重量、成本、坚固性、充电时间等不同。一些技术,如铅酸电池,持续使用数十年,而其他技术,如镍基电池技术(镍镉和镍金属氢化物),已经,在很大程度上,它已被锂基电池技术(锂离子和锂聚合物)所取代。

The Battery MIB module uses a generic abstraction of batteries that is independent of particular battery technologies and expected to be applicable to future technologies as well. While identification of a particular battery technology is supported by an extensible list of battery technology identifiers (see Section 3.2), individual properties of the technologies are not modeled by the abstraction. In particular, methods for charging a battery, and the parameters of those methods, which vary greatly between different technologies are not individually modeled.

电池MIB模块使用电池的通用抽象,独立于特定电池技术,预计也适用于未来技术。虽然特定电池技术的标识由可扩展的电池技术标识符列表支持(见第3.2节),但抽象并不模拟技术的各个属性。特别是,不同技术之间差异很大的电池充电方法和这些方法的参数没有单独建模。

Instead, the Battery MIB module uses a simple common charging model with batteries being in one of the following states: 'charging', 'maintaining charge', 'not charging', and 'discharging'. Control of the charging process is limited to requests for transitions between these states. For charging controllers that use charging state engines with more states, implementations of the Battery MIB module need to map those states to the four listed above.

相反,电池MIB模块使用简单的通用充电模式,电池处于以下状态之一:“充电”、“保持充电”、“不充电”和“放电”。充电过程的控制仅限于这些状态之间的转换请求。对于使用具有更多状态的充电状态引擎的充电控制器,电池MIB模块的实现需要将这些状态映射到上面列出的四种状态。

For energy management systems that require finer-grained control of the battery charging process, additional means need to be developed; for example, MIB modules that model richer sets of charging states and parameters for charging states.

对于需要对电池充电过程进行更精细控制的能量管理系统,需要开发额外的方法;例如,MIB模块对更丰富的充电状态集和充电状态参数进行建模。

All use cases sketched above assume that the batteries are contained in a managed entity. In a typical case, this entity also hosts the SNMP applications (command responder and notification generator) and the charging controller for contained batteries. For definitions in this document, it is not strictly required that batteries be contained in the same managed entity, even though the Battery MIB module (defined further below) uses the containment tree of the Entity MIB module [RFC6933] for battery indexing.

上面绘制的所有用例都假设电池包含在托管实体中。在典型情况下,此实体还托管SNMP应用程序(命令响应程序和通知生成器)和所含电池的充电控制器。对于本文档中的定义,虽然电池MIB模块(定义如下)使用实体MIB模块[RFC6933]的包含树进行电池索引,但并不严格要求电池包含在同一受管实体中。

External batteries can be supported as long as the charging controller for these batteries is connected to the SNMP applications that implement the Battery MIB module. An example with an external battery is shown in the figure below. It illustrates that the Battery MIB module is designed as an interface between the management system and battery charging controller. Out of scope of this

只要这些电池的充电控制器连接到实现电池MIB模块的SNMP应用程序,就可以支持外部电池。下图显示了带有外部电池的示例。说明了电池MIB模块是管理系统和电池充电控制器之间的接口。超出此范围

document is the interface between the battery charging controller and controlled batteries.

文档是电池充电控制器和受控电池之间的接口。

                 +-----------------------------------+
                 |         management system         |
                 +-----------------+-----------------+
                                   |
                                   | Battery MIB
                                   |
                 +-----------------+-----------------+
                 | managed element |                 |
                 |                 |                 |
                 |  +--------------+--------------+  |
                 |  | battery charging controller |  |
                 |  +-----+--------------+--------+  |
                 |        |              |           |
                 |  +-----+-----+        |           |
                 |  | internal  |        |           |
                 |  | battery   |        |           |
                 |  +-----------+        |           |
                 +-----------------------+-----------+
                                         |
                                   +-----+-----+
                                   | external  |
                                   | battery   |
                                   +-----------+
        
                 +-----------------------------------+
                 |         management system         |
                 +-----------------+-----------------+
                                   |
                                   | Battery MIB
                                   |
                 +-----------------+-----------------+
                 | managed element |                 |
                 |                 |                 |
                 |  +--------------+--------------+  |
                 |  | battery charging controller |  |
                 |  +-----+--------------+--------+  |
                 |        |              |           |
                 |  +-----+-----+        |           |
                 |  | internal  |        |           |
                 |  | battery   |        |           |
                 |  +-----------+        |           |
                 +-----------------------+-----------+
                                         |
                                   +-----+-----+
                                   | external  |
                                   | battery   |
                                   +-----------+
        

Figure 1: Battery MIB as Interface between Management System and Battery-Charging Controller Supporting External Batteries

图1:电池MIB作为管理系统和支持外部电池的电池充电控制器之间的接口

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“建议”、“不建议”、“可”和“可选”应按照RFC 2119[RFC2119]中的说明进行解释。

2. The Internet-Standard Management Framework
2. 因特网标准管理框架

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].

有关描述当前互联网标准管理框架的文件的详细概述,请参阅RFC 3410[RFC3410]第7节。

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies MIB modules that are compliant to the SMIv2, which is described in STD

托管对象通过虚拟信息存储(称为管理信息库或MIB)进行访问。MIB对象通常通过简单网络管理协议(SNMP)进行访问。MIB中的对象是使用管理信息结构(SMI)中定义的机制定义的。本备忘录规定了符合SMIv2的MIB模块,如STD中所述

58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58,RFC 2580 [RFC2580].

58,RFC 2578[RFC2578],STD 58,RFC 2579[RFC2579]和STD 58,RFC 2580[RFC2580]。

3. Design of the Battery MIB Module
3. 电池MIB模块的设计
3.1. MIB Module Structure
3.1. MIB模块结构

The Battery MIB module defined in this document defines objects for reporting information about batteries. All managed objects providing information on the status of a battery are contained in a single table called "batteryTable". The batteryTable contains one conceptual row per battery.

本文档中定义的电池MIB模块定义了用于报告电池信息的对象。所有提供电池状态信息的托管对象都包含在一个名为“batteryTable”的表中。batteryTable每个电池包含一个概念行。

Batteries are indexed by the entPhysicalIndex of the entPhysicalTable defined in the Entity MIB module [RFC6933]. An implementation of the Entity MIB module complying with the entity4CRCompliance MODULE-COMPLIANCE statement is required for compliant implementations of the Battery MIB module.

电池由实体MIB模块[RFC6933]中定义的entPhysicalTable的entPhysicalIndex索引。符合entity4CRCompliance module-COMPLIANCE声明的实体MIB模块实现是电池MIB模块符合性实现所必需的。

If a battery is replaced, and the replacing battery uses the same physical connector as the replaced battery, then the replacing battery MUST be indexed with the same value of object entPhysicalIndex as the replaced battery.

如果更换电池,并且更换电池使用与更换电池相同的物理连接器,则更换电池必须使用与更换电池相同的对象entPhysicalIndex值进行索引。

The kind of entity in the entPhysicalTable of the Entity MIB module is indicated by the value of enumeration object entPhysicalClass. All batteries SHOULD have the value of object entPhysicalClass set to battery(14) in their row of the entPhysicalTable.

实体MIB模块的entPhysicalTable中的实体类型由枚举对象entPhysicalClass的值指示。在entPhysicalTable的行中,所有电池的object entPhysicalClass值均应设置为电池(14)。

The batteryTable contains three groups of objects. The first group (OIDs ending with 1-9) provides information on static properties of the battery. The second group of objects (OIDs ending with 10-18) provides information on the current battery state, if it is charging or discharging, how much it is charged, its remaining capacity, the number of experienced charging cycles, etc.

batteryTable包含三组对象。第一组(以1-9结尾)提供有关蓄电池静态特性的信息。第二组对象(以10-18结尾的OID)提供有关当前电池状态、充电或放电、充电量、剩余容量、经历的充电循环次数等的信息。

      batteryTable(1)
      +--batteryEntry(1) [entPhysicalIndex]
         +-- r-n SnmpAdminString batteryIdentifier(1)
         +-- r-n SnmpAdminString batteryFirmwareVersion(2)
         +-- r-n Enumeration     batteryType(3)
         +-- r-n Unsigned32      batteryTechnology(4)
         +-- r-n Unsigned32      batteryDesignVoltage(5)
         +-- r-n Unsigned32      batteryNumberOfCells(6)
         +-- r-n Unsigned32      batteryDesignCapacity(7)
         +-- r-n Unsigned32      batteryMaxChargingCurrent(8)
         +-- r-n Unsigned32      batteryTrickleChargingCurrent(9)
         +-- r-n Unsigned32      batteryActualCapacity(10)
         +-- r-n Unsigned32      batteryChargingCycleCount(11)
         +-- r-n DateAndTime     batteryLastChargingCycleTime(12)
         +-- r-n Enumeration     batteryChargingOperState(13)
         +-- rwn Enumeration     batteryChargingAdminState(14)
         +-- r-n Unsigned32      batteryActualCharge(15)
         +-- r-n Unsigned32      batteryActualVoltage(16)
         +-- r-n Integer32       batteryActualCurrent(17)
         +-- r-n Integer32       batteryTemperature(18)
         +-- rwn Unsigned32      batteryAlarmLowCharge(19)
         +-- rwn Unsigned32      batteryAlarmLowVoltage(20)
         +-- rwn Unsigned32      batteryAlarmLowCapacity(21)
         +-- rwn Unsigned32      batteryAlarmHighCycleCount(22)
         +-- rwn Integer32       batteryAlarmHighTemperature(23)
         +-- rwn Integer32       batteryAlarmLowTemperature(24)
         +-- r-n SnmpAdminString batteryCellIdentifier(25)
        
      batteryTable(1)
      +--batteryEntry(1) [entPhysicalIndex]
         +-- r-n SnmpAdminString batteryIdentifier(1)
         +-- r-n SnmpAdminString batteryFirmwareVersion(2)
         +-- r-n Enumeration     batteryType(3)
         +-- r-n Unsigned32      batteryTechnology(4)
         +-- r-n Unsigned32      batteryDesignVoltage(5)
         +-- r-n Unsigned32      batteryNumberOfCells(6)
         +-- r-n Unsigned32      batteryDesignCapacity(7)
         +-- r-n Unsigned32      batteryMaxChargingCurrent(8)
         +-- r-n Unsigned32      batteryTrickleChargingCurrent(9)
         +-- r-n Unsigned32      batteryActualCapacity(10)
         +-- r-n Unsigned32      batteryChargingCycleCount(11)
         +-- r-n DateAndTime     batteryLastChargingCycleTime(12)
         +-- r-n Enumeration     batteryChargingOperState(13)
         +-- rwn Enumeration     batteryChargingAdminState(14)
         +-- r-n Unsigned32      batteryActualCharge(15)
         +-- r-n Unsigned32      batteryActualVoltage(16)
         +-- r-n Integer32       batteryActualCurrent(17)
         +-- r-n Integer32       batteryTemperature(18)
         +-- rwn Unsigned32      batteryAlarmLowCharge(19)
         +-- rwn Unsigned32      batteryAlarmLowVoltage(20)
         +-- rwn Unsigned32      batteryAlarmLowCapacity(21)
         +-- rwn Unsigned32      batteryAlarmHighCycleCount(22)
         +-- rwn Integer32       batteryAlarmHighTemperature(23)
         +-- rwn Integer32       batteryAlarmLowTemperature(24)
         +-- r-n SnmpAdminString batteryCellIdentifier(25)
        

The third group of objects in this table (OIDs ending with 19-25) is used for notifications. Threshold objects (OIDs ending with 19-24) indicate thresholds that can be used to raise an alarm if a property of the battery exceeds one of them. Raising an alarm may include sending a notification.

此表中的第三组对象(以19-25结尾的OID)用于通知。Threshold对象(以19-24结尾的OID)表示阈值,如果电池的属性超过其中一个阈值,则可以使用该阈值发出警报。发出警报可能包括发送通知。

The Battery MIB defines seven notifications for indicating:

电池MIB定义了七个通知,用于指示:

1. a battery-charging state change that was not triggered by writing to object batteryChargingAdminState,

1. 写入对象batteryChargingAdminState时未触发的电池充电状态更改,

2. a low-battery charging state,

2. 低电量充电状态,

3. a critical-battery state in which it cannot be used for power supply,

3. 电池的一种临界状态,在这种状态下,电池不能用于供电,

4. an aged battery that may need to be replaced,

4. 可能需要更换的老化电池,

5. a battery that has exceeded a temperature threshold,

5. 超过温度阈值的电池,

6. a battery that has been connected, and

6. 已连接的电池,以及

7. disconnection of one or more batteries.

7. 断开一个或多个电池。

Notifications 2-5 can use object batteryCellIdentifier to indicate a specific cell or a set of cells within the battery that have triggered the notification.

通知2-5可以使用object BatteryCelliIdentifier来指示电池中触发通知的特定电池或电池组。

3.2. Battery Technologies
3.2. 电池技术

Static information in the batteryTable includes battery type and technology. The battery type distinguishes primary (not rechargeable) batteries from rechargeable (secondary) batteries and capacitors. The battery technology describes the actual technology of a battery, which typically is a chemical technology.

电池表中的静态信息包括电池类型和技术。电池类型将主(非可充电)电池与可充电(二次)电池和电容器区分开来。电池技术描述了电池的实际技术,通常是一种化学技术。

Since battery technologies are the subject of intensive research and widely used technologies are often replaced by successor technologies within a few years, the list of battery technologies was not chosen as a fixed list. Instead, IANA has created a registry for battery technologies at <http://www.iana.org/assignments/battery-technologies> where numbers are assigned to battery technologies.

由于电池技术是深入研究的主题,广泛使用的技术往往在几年内被后续技术所取代,因此电池技术清单并没有被选为固定清单。取而代之的是,IANA在<http://www.iana.org/assignments/battery-technologies>其中编号被分配给电池技术。

The table below shows battery technologies known today that are in commercial use with the numbers assigned to them by IANA. New entries can be added to the IANA registry if new technologies are developed or if missing technologies are identified. Note that there exists a huge number of battery types that are not listed in the IANA registry. Many of them are experimental or cannot be used in an economically useful way. New entries should be added to the IANA registry only if the respective technologies are in commercial use and relevant to standardized battery monitoring over the Internet.

下表显示了目前已知的商用电池技术,其编号由IANA分配。如果开发了新技术或发现了缺失的技术,则可以将新条目添加到IANA注册表中。请注意,存在大量未在IANA注册表中列出的电池类型。其中许多是实验性的,或者不能以经济有效的方式使用。只有当相关技术用于商业用途且与互联网上的标准化电池监测相关时,才应将新条目添加到IANA注册表中。

      +--------------------------------+---------------+
      | Battery Technology             |      Value    |
      +--------------------------------+---------------+
      | Reserved                       |             0 |
      | Unknown                        |             1 |
      | Other                          |             2 |
      | Zinc-carbon                    |             3 |
      | Zinc chloride                  |             4 |
      | Nickel oxyhydroxide            |             5 |
      | Lithium-copper oxide           |             6 |
      | Lithium-iron disulfide         |             7 |
      | Lithium-manganese dioxide      |             8 |
      | Zinc-air                       |             9 |
      | Silver oxide                   |            10 |
      | Alkaline                       |            11 |
      | Lead-acid                      |            12 |
      | Valve-Regulated Lead-Acid, Gel |            13 |
      | Valve-Regulated Lead-Acid, AGM |            14 |
      | Nickel-cadmium                 |            15 |
      | Nickel-metal hydride           |            16 |
      | Nickel-zinc                    |            17 |
      | Lithium-ion                    |            18 |
      | Lithium polymer                |            19 |
      | Double layer capacitor         |            20 |
      | Unassigned                     | 21-4294967295 |
      +--------------------------------+---------------+
        
      +--------------------------------+---------------+
      | Battery Technology             |      Value    |
      +--------------------------------+---------------+
      | Reserved                       |             0 |
      | Unknown                        |             1 |
      | Other                          |             2 |
      | Zinc-carbon                    |             3 |
      | Zinc chloride                  |             4 |
      | Nickel oxyhydroxide            |             5 |
      | Lithium-copper oxide           |             6 |
      | Lithium-iron disulfide         |             7 |
      | Lithium-manganese dioxide      |             8 |
      | Zinc-air                       |             9 |
      | Silver oxide                   |            10 |
      | Alkaline                       |            11 |
      | Lead-acid                      |            12 |
      | Valve-Regulated Lead-Acid, Gel |            13 |
      | Valve-Regulated Lead-Acid, AGM |            14 |
      | Nickel-cadmium                 |            15 |
      | Nickel-metal hydride           |            16 |
      | Nickel-zinc                    |            17 |
      | Lithium-ion                    |            18 |
      | Lithium polymer                |            19 |
      | Double layer capacitor         |            20 |
      | Unassigned                     | 21-4294967295 |
      +--------------------------------+---------------+
        
3.2.1. Guidelines for Adding Battery Technologies
3.2.1. 添加电池技术的指南

New entries can be added to the IANA registry if new technologies are developed or if missing technologies are identified. Note that there exists a huge number of battery types that are not listed in the IANA registry. Many of them are experimental or cannot be used in an economically useful way. New entries should be added to the IANA registry only if the respective technologies are in commercial use and relevant to standardized battery monitoring over the Internet.

如果开发了新技术或发现了缺失的技术,则可以将新条目添加到IANA注册表中。请注意,存在大量未在IANA注册表中列出的电池类型。其中许多是实验性的,或者不能以经济有效的方式使用。只有当相关技术用于商业用途且与互联网上的标准化电池监测相关时,才应将新条目添加到IANA注册表中。

3.3. Battery Identification
3.3. 电池识别

There are two identifiers to be used: the entPhysicalUUID defined in the Entity MIB [RFC6933] module and the batteryIdentifier defined in this module. A battery is linked to an entPhysicalUUID through the shared entPhysicalIndex.

要使用两个标识符:在实体MIB[RFC6933]模块中定义的entPhysicalUUID和在此模块中定义的电池标识符。电池通过共享的entPhysicalIndex链接到entPhysicalUUID。

The batteryIdentifier uniquely identifies the battery itself while the entPhysicalUUID identifies the slot of the device in which the battery is (currently) contained. For a non-replaceable battery, both identifiers are always linked to the same physical battery. But

电池标识器唯一标识电池本身,而entPhysicalUUID标识电池(当前)所在设备的插槽。对于不可更换电池,两个标识符始终链接到同一个物理电池。但是

for batteries that can be replaced, the identifiers have different functions.

对于可以更换的电池,标识符具有不同的功能。

The entPhysicalUUID is always the same for a certain battery slot of a containing device even if the contained battery is replaced by another. The batteryIdentifier is a representation of the battery identifier set by the battery manufacturer. It is tied to the battery and usually cannot be changed.

包含设备的特定电池插槽的entPhysicalUUID始终相同,即使包含的电池被另一个电池替换。电池标识是电池制造商设置的电池标识的表示。它与电池相连,通常无法更换。

Many manufacturers deliver not just plain batteries but battery packages including additional hardware and firmware. Typically, these modules include a battery identifier that can by retrieved by a device in which a battery has been installed. The value of the object batteryIdentifier is an exact representation of this identifier. The batteryIdentifier is useful when batteries are removed and reinstalled in the same device or in other devices. Then, the device or the network management system can trace batteries and achieve continuity of battery monitoring.

许多制造商不仅提供普通电池,还提供电池包,包括额外的硬件和固件。通常,这些模块包括电池标识符,该标识符可由安装了电池的设备检索。对象batteryIdentifier的值是该标识符的精确表示。在同一设备或其他设备中卸下和重新安装电池时,电池识别器非常有用。然后,设备或网络管理系统可以跟踪电池并实现电池监测的连续性。

3.4. Charging Cycles
3.4. 充电周期

The lifetime of a battery can be approximated using the measure of charging cycles. A commonly used definition of a charging cycle is the amount of discharge equal to the design (or nominal) capacity of the battery [SBS]. This means that a single charging cycle may include several steps of partial charging and discharging until the amount of discharging has reached the design capacity of the battery. After that, the next charging cycle immediately starts.

可以使用充电周期的测量值来近似计算电池的寿命。充电循环的常用定义是放电量等于电池的设计(或标称)容量[SBS]。这意味着单个充电循环可能包括几个部分充电和放电步骤,直到放电量达到蓄电池的设计容量。之后,下一个充电循环立即开始。

3.5. Charge Control
3.5. 费用控制

Managed object batteryChargingOperState indicates the current operational charging state of a battery and is a read-only object. For controlling the charging state, object batteryChargingAdminState can be used. Writing to this object initiates a request to adapt the operational state according to the value that has been written.

托管对象batteryChargingOperState表示电池的当前工作充电状态,是只读对象。为了控制充电状态,可以使用对象电池ChargingAdminstate。写入此对象将启动一个请求,以根据已写入的值调整操作状态。

By default, the batteryChargingAdminState object is set to notSet(1). In this state, the charging controller is using its predefined policies to decide which operational state is suitable in the current situation.

默认情况下,batteryChargingAdminState对象设置为notSet(1)。在此状态下,充电控制器使用其预定义的策略来决定在当前情况下适合哪种操作状态。

Setting the value of object batteryChargingAdminState may result in not changing the state of the battery to this value or even in setting the charging state to another value than the requested one. Due to operational conditions and limitations of the implementation of the Battery MIB module, changing the battery status according to a set value of object batteryChargingAdminState might not be possible.

设置目标电池ChargingAdminstate的值可能导致电池状态未更改为此值,甚至可能导致将充电状态设置为请求值以外的其他值。由于电池MIB模块的操作条件和实施限制,可能无法根据目标电池充电管理状态的设定值更改电池状态。

For example, the charging controller might, at any time, decide to enter state discharging(5), if there is an operational need to use the battery for supplying power.

例如,如果操作上需要使用电池供电,充电控制器可随时决定进入放电状态(5)。

The object batteryChargingAdminState will not automatically change when the object batteryChargingOperState changes. If the operational state is changed, e.g., to the state discharging(5) due to operational conditions, the admin state will remain in its current state. The charging controller SHOULD change the operational state to the state indicated by the object batteryChargingAdminState as soon as operational conditions allow this change.

当对象BatteryChargingOverState更改时,对象batteryChargingAdminState不会自动更改。如果操作状态发生变化,例如,由于操作条件而变为放电状态(5),则管理状态将保持在其当前状态。只要操作条件允许,充电控制器应将操作状态更改为目标电池充电管理状态指示的状态。

If a state change of the object batteryChargingAdminState is desired upon change of the operational state, the object batteryChargingOperState must be polled or the notification batteryChargingStateNotification must be used to get notified about the state change. This could be used, e.g., if maintaining charge is not desired after fully charging a battery even if the charging controller and battery support it. The object batteryChargingAdminState can then be set to doNotCharge(3) when the object batteryChargingOperState changes from charging(2) to maintainingCharge(3). Another use case would be when performing several charge and discharge cycles for battery maintenance.

如果需要在操作状态发生更改时更改对象batteryChargingAdminState的状态,则必须轮询对象BatteryChargingOperate,或者必须使用通知batteryChargingStateNotification获取有关状态更改的通知。例如,如果在对蓄电池完全充电后不需要保持充电,即使充电控制器和蓄电池支持它,也可以使用此功能。当对象电池充电过状态从充电(2)更改为保持充电(3)时,可以将对象电池充电管理状态设置为不充电(3)。另一个用例是在为电池维护执行多个充电和放电循环时。

3.6. Imported Definitions
3.6. 导入的定义

The BATTERY-MIB module defined in this document imports definitions from the following MIB modules: SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], SNMP-FRAMEWORK-MIB [RFC3411], and ENTITY-MIB [RFC6933].

本文档中定义的BATTERY-MIB模块从以下MIB模块导入定义:SNMPv2 SMI[RFC2578]、SNMPv2 TC[RFC2579]、SNMPv2 CONF[RFC2580]、SNMP-FRAMEWORK-MIB[RFC3411]和ENTITY-MIB[RFC6933]。

4. Definitions
4. 定义
  BATTERY-MIB DEFINITIONS ::= BEGIN
        
  BATTERY-MIB DEFINITIONS ::= BEGIN
        

IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2, Integer32, Unsigned32 FROM SNMPv2-SMI -- RFC 2578 DateAndTime FROM SNMPv2-TC -- RFC 2579 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- RFC 2580 SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- RFC 3411 entPhysicalIndex FROM ENTITY-MIB; -- RFC 6933

从SNMPv2 SMI导入MODULE-IDENTITY、OBJECT-TYPE、NOTIFICATION-TYPE、mib-2、Integer32、Unsigned32--从SNMPv2 TC导入RFC 2578 DateAndTime--从SNMPv2 CONF导入RFC 2579 MODULE-COMPLIANCE、OBJECT-GROUP、NOTIFICATION-GROUP--从SNMP-FRAMEWORK-mib导入RFC 2580 snmpadmin--从ENTITY-mib导入RFC 3411 entPhysicalIndex;--RFC 6933

  batteryMIB MODULE-IDENTITY
      LAST-UPDATED "201506150000Z"         -- 15 June 2015
      ORGANIZATION "IETF EMAN Working Group"
      CONTACT-INFO
          "General Discussion: eman@ietf.org
          To Subscribe: <http://www.ietf.org/mailman/listinfo/eman>
          Archive: <http://www.ietf.org/mail-archive/web/eman>
        
  batteryMIB MODULE-IDENTITY
      LAST-UPDATED "201506150000Z"         -- 15 June 2015
      ORGANIZATION "IETF EMAN Working Group"
      CONTACT-INFO
          "General Discussion: eman@ietf.org
          To Subscribe: <http://www.ietf.org/mailman/listinfo/eman>
          Archive: <http://www.ietf.org/mail-archive/web/eman>
        

Editor: Juergen Quittek NEC Europe, Ltd. NEC Laboratories Europe Kurfuersten-Anlage 36 69115 Heidelberg Germany Tel: +49 6221 4342-115 Email: quittek@neclab.eu"

编辑:Juergen Quittek NEC Europe,Ltd.NEC Laboratories Europe Kurfuersten Anlage 36 69115德国海德堡电话:+49 6221 4342-115电子邮件:quittek@neclab.eu"

DESCRIPTION "This MIB module defines a set of objects for monitoring batteries of networked devices and of their components.

DESCRIPTION“此MIB模块定义了一组对象,用于监控联网设备及其组件的电池。

Copyright (c) 2015 IETF Trust and the persons identified as authors of the code. All rights reserved.

版权所有(c)2015 IETF信托基金和被确定为代码作者的人员。版权所有。

Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info).

根据IETF信托有关IETF文件的法律规定第4.c节规定的简化BSD许可证中包含的许可条款,允许以源代码和二进制格式重新分发和使用,无论是否修改(http://trustee.ietf.org/license-info).

This version of this MIB module is part of RFC 7577; see the RFC itself for full legal notices." -- Revision history

此版本的MIB模块是RFC 7577的一部分;有关完整的法律通知,请参见RFC本身。”——修订历史

REVISION "201506150000Z" -- 15 June 2015 DESCRIPTION "Initial version published as RFC 7577."

修订版“2015061500MZ”-2015年6月15日说明“初始版本发布为RFC 7577。”

      ::= { mib-2 233 }
        
      ::= { mib-2 233 }
        
  --******************************************************************
  -- Top-Level Structure of the MIB Module
  --******************************************************************
        
  --******************************************************************
  -- Top-Level Structure of the MIB Module
  --******************************************************************
        
  batteryNotifications OBJECT IDENTIFIER ::= { batteryMIB 0 }
  batteryObjects       OBJECT IDENTIFIER ::= { batteryMIB 1 }
  batteryConformance   OBJECT IDENTIFIER ::= { batteryMIB 2 }
        
  batteryNotifications OBJECT IDENTIFIER ::= { batteryMIB 0 }
  batteryObjects       OBJECT IDENTIFIER ::= { batteryMIB 1 }
  batteryConformance   OBJECT IDENTIFIER ::= { batteryMIB 2 }
        
  --==================================================================
  -- 1.  Object Definitions
  --==================================================================
        
  --==================================================================
  -- 1.  Object Definitions
  --==================================================================
        
  --------------------------------------------------------------------
  -- 1.1.  Battery Table
  --------------------------------------------------------------------
  batteryTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF BatteryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "This table provides information on batteries.  It contains
          one conceptual row per battery in a managed entity.
        
  --------------------------------------------------------------------
  -- 1.1.  Battery Table
  --------------------------------------------------------------------
  batteryTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF BatteryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "This table provides information on batteries.  It contains
          one conceptual row per battery in a managed entity.
        

Batteries are indexed by the entPhysicalIndex of the entPhysicalTable defined in the ENTITY-MIB (RFC 6933).

电池由ENTITY-MIB(RFC 6933)中定义的entPhysicalTable的entPhysicalIndex索引。

For implementations of the BATTERY-MIB, an implementation of the ENTITY-MIB complying with the entity4CRCompliance MODULE-COMPLIANCE statement of the ENTITY-MIB is required.

对于BATTERY-MIB的实现,需要实体-MIB的实现符合实体-MIB的entity4CRCompliance MODULE-COMPLIANCE声明。

          If batteries are replaced, and the replacing battery uses
          the same physical connector as the replaced battery, then
          the replacing battery SHOULD be indexed with the same value
          of object entPhysicalIndex as the replaced battery."
      ::= { batteryObjects 1 }
        
          If batteries are replaced, and the replacing battery uses
          the same physical connector as the replaced battery, then
          the replacing battery SHOULD be indexed with the same value
          of object entPhysicalIndex as the replaced battery."
      ::= { batteryObjects 1 }
        
  batteryEntry OBJECT-TYPE
      SYNTAX      BatteryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry providing information on a battery."
      INDEX  { entPhysicalIndex }
      ::= { batteryTable 1 }
        
  batteryEntry OBJECT-TYPE
      SYNTAX      BatteryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An entry providing information on a battery."
      INDEX  { entPhysicalIndex }
      ::= { batteryTable 1 }
        
  BatteryEntry ::=
      SEQUENCE {
         batteryIdentifier               SnmpAdminString,
         batteryFirmwareVersion          SnmpAdminString,
         batteryType                     INTEGER,
         batteryTechnology               Unsigned32,
         batteryDesignVoltage            Unsigned32,
         batteryNumberOfCells            Unsigned32,
         batteryDesignCapacity           Unsigned32,
         batteryMaxChargingCurrent       Unsigned32,
         batteryTrickleChargingCurrent   Unsigned32,
         batteryActualCapacity           Unsigned32,
         batteryChargingCycleCount       Unsigned32,
         batteryLastChargingCycleTime    DateAndTime,
         batteryChargingOperState        INTEGER,
         batteryChargingAdminState       INTEGER,
         batteryActualCharge             Unsigned32,
         batteryActualVoltage            Unsigned32,
         batteryActualCurrent            Integer32,
         batteryTemperature              Integer32,
         batteryAlarmLowCharge           Unsigned32,
         batteryAlarmLowVoltage          Unsigned32,
         batteryAlarmLowCapacity         Unsigned32,
         batteryAlarmHighCycleCount      Unsigned32,
         batteryAlarmHighTemperature     Integer32,
         batteryAlarmLowTemperature      Integer32,
         batteryCellIdentifier           SnmpAdminString
      }
        
  BatteryEntry ::=
      SEQUENCE {
         batteryIdentifier               SnmpAdminString,
         batteryFirmwareVersion          SnmpAdminString,
         batteryType                     INTEGER,
         batteryTechnology               Unsigned32,
         batteryDesignVoltage            Unsigned32,
         batteryNumberOfCells            Unsigned32,
         batteryDesignCapacity           Unsigned32,
         batteryMaxChargingCurrent       Unsigned32,
         batteryTrickleChargingCurrent   Unsigned32,
         batteryActualCapacity           Unsigned32,
         batteryChargingCycleCount       Unsigned32,
         batteryLastChargingCycleTime    DateAndTime,
         batteryChargingOperState        INTEGER,
         batteryChargingAdminState       INTEGER,
         batteryActualCharge             Unsigned32,
         batteryActualVoltage            Unsigned32,
         batteryActualCurrent            Integer32,
         batteryTemperature              Integer32,
         batteryAlarmLowCharge           Unsigned32,
         batteryAlarmLowVoltage          Unsigned32,
         batteryAlarmLowCapacity         Unsigned32,
         batteryAlarmHighCycleCount      Unsigned32,
         batteryAlarmHighTemperature     Integer32,
         batteryAlarmLowTemperature      Integer32,
         batteryCellIdentifier           SnmpAdminString
      }
        

batteryIdentifier OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an identifier for the battery.

batteryIdentifier对象类型语法SNMPAdministring MAX-ACCESS只读状态当前描述“此对象包含电池的标识符。

Many manufacturers deliver not only simple batteries but battery packages including additional hardware and firmware. Typically, these modules include an identifier that can be retrieved by a device in which a battery has been installed. The identifier is useful when batteries are removed and reinstalled in the same or other devices. Then, the device or the network management system can trace batteries and achieve continuity of battery monitoring.

许多制造商不仅提供简单的电池,还提供包括附加硬件和固件在内的电池包。通常,这些模块包括一个标识符,该标识符可由安装了电池的设备检索。在相同或其他设备中卸下和重新安装电池时,该标识符非常有用。然后,设备或网络管理系统可以跟踪电池并实现电池监测的连续性。

If the battery is identified by more than one value, for example, by a model number and a serial number, then the value of this object is a concatenation of these

如果电池由多个值标识,例如,由型号和序列号标识,则此对象的值是这些值的串联

values, separated by the colon symbol ':'. The values should be ordered so that a more significant value comes before a less significant one. In the example above, the (more significant) model number would be first, and the serial number would follow: '<model number>:<serial number>'.

值,由冒号“:”分隔。这些值应按顺序排列,以便更重要的值出现在不太重要的值之前。在上面的示例中,(更重要的)型号将位于第一位,序列号将紧随其后:“<model number>:<serial number>”。

If the battery identifier cannot be represented using the ISO/IEC IS 10646-1 character set, then a hexadecimal encoding of a binary representation of the entire battery identifier must be used.

如果无法使用ISO/IEC IS 10646-1字符集表示电池标识符,则必须使用整个电池标识符二进制表示形式的十六进制编码。

          The value of this object must be an empty string if there
          is no battery identifier or if the battery identifier is
          unknown."
      ::= { batteryEntry 1 }
        
          The value of this object must be an empty string if there
          is no battery identifier or if the battery identifier is
          unknown."
      ::= { batteryEntry 1 }
        

batteryFirmwareVersion OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the version number of the firmware that is included in a battery module.

batteryFirmwareVersion对象类型语法SNMPAdministring MAX-ACCESS只读状态当前描述“此对象表示电池模块中包含的固件的版本号。

Many manufacturers deliver not pure batteries but battery packages including additional hardware and firmware.

许多制造商提供的不是纯电池,而是包括附加硬件和固件在内的电池包。

Since the behavior of the battery may change with the firmware, it may be useful to retrieve the firmware version number.

由于电池的行为可能随固件的变化而变化,因此检索固件版本号可能很有用。

          The value of this object must be an empty string if there
          is no firmware or if the version number of the firmware is
          unknown."
      ::= { batteryEntry 2 }
        
          The value of this object must be an empty string if there
          is no firmware or if the version number of the firmware is
          unknown."
      ::= { batteryEntry 2 }
        
  batteryType OBJECT-TYPE
      SYNTAX      INTEGER {
                      unknown(1),
                      other(2),
                      primary(3),
                      rechargeable(4),
                      capacitor(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "This object indicates the type of battery.
        
  batteryType OBJECT-TYPE
      SYNTAX      INTEGER {
                      unknown(1),
                      other(2),
                      primary(3),
                      rechargeable(4),
                      capacitor(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "This object indicates the type of battery.
        

It distinguishes between primary (not rechargeable) batteries, rechargeable (secondary) batteries, and capacitors. Capacitors are not really batteries but are often used in the same way as a battery.

它区分主(非可充电)电池、可充电(二次)电池和电容器。电容器并非真正的电池,但通常与电池的使用方式相同。

The value other(2) can be used if the battery type is known but is none of the ones above. Value unknown(1) is to be used if the type of battery cannot be determined."

如果电池类型已知,但不属于上述类型,则可以使用其他值(2)。如果无法确定电池类型,则使用未知值(1)。”

      ::= { batteryEntry 3 }
        
      ::= { batteryEntry 3 }
        

batteryTechnology OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the technology used by the battery. Numbers identifying battery technologies are registered at IANA. A current list of assignments can be found at <http://www.iana.org/assignments/battery-technologies>.

电池技术对象类型语法Unsigned32 MAX-ACCESS只读状态当前描述“此对象表示电池使用的技术。标识电池技术的数字在IANA注册。当前分配列表可在以下位置找到:<http://www.iana.org/assignments/battery-technologies>.

Value unknown(1) MUST be used if the technology of the battery cannot be determined.

如果无法确定电池的技术,则必须使用未知值(1)。

          Value other(2) can be used if the battery technology is known
          but is not one of the types already registered at IANA."
      ::= { batteryEntry 4 }
        
          Value other(2) can be used if the battery technology is known
          but is not one of the types already registered at IANA."
      ::= { batteryEntry 4 }
        

batteryDesignVoltage OBJECT-TYPE SYNTAX Unsigned32 UNITS "millivolt" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the design (or nominal) voltage of the battery in units of millivolt (mV).

batteryDesignVoltage对象类型语法Unsigned32单位“毫伏”最大访问只读状态当前描述“此对象以毫伏(mV)为单位提供电池的设计(或标称)电压。

Note that the design voltage is a constant value and typically different from the actual voltage of the battery.

请注意,设计电压是一个恒定值,通常与蓄电池的实际电压不同。

          A value of 0 indicates that the design voltage is unknown."
      ::= { batteryEntry 5 }
        
          A value of 0 indicates that the design voltage is unknown."
      ::= { batteryEntry 5 }
        

batteryNumberOfCells OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current

batteryNumberOfCells对象类型语法Unsigned32 MAX-ACCESS只读状态当前

DESCRIPTION "This object indicates the number of cells contained in the battery.

DESCRIPTION“此对象表示电池中包含的电池数量。

          A value of 0 indicates that the number of cells is unknown."
      ::= { batteryEntry 6 }
        
          A value of 0 indicates that the number of cells is unknown."
      ::= { batteryEntry 6 }
        

batteryDesignCapacity OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere hours" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the design (or nominal) capacity of the battery in units of milliampere hours (mAh).

batteryDesignCapacity对象类型语法无符号32单位“毫安时”最大访问只读状态当前描述“此对象以毫安时(mAh)为单位提供电池的设计(或标称)容量。

Note that the design capacity is a constant value and typically different from the actual capacity of the battery. Usually, this is a value provided by the manufacturer of the battery.

请注意,设计容量是一个恒定值,通常与电池的实际容量不同。通常,这是电池制造商提供的值。

          A value of 0 indicates that the design capacity is
          unknown."
      ::= { batteryEntry 7 }
        
          A value of 0 indicates that the design capacity is
          unknown."
      ::= { batteryEntry 7 }
        

batteryMaxChargingCurrent OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the maximum current to be used for charging the battery in units of milliampere (mA).

batteryMaxChargingCurrent对象类型语法无符号32单位“毫安”MAX-ACCESS只读状态电流说明“此对象以毫安(mA)为单位提供用于为电池充电的最大电流。

Note that the maximum charging current may not lead to optimal charge of the battery and that some batteries can only be charged with the maximum current for a limited amount of time.

请注意,最大充电电流可能不会导致蓄电池的最佳充电,某些蓄电池只能在有限的时间内以最大电流充电。

          A value of 0 indicates that the maximum charging current is
          unknown."
      ::= { batteryEntry 8 }
        
          A value of 0 indicates that the maximum charging current is
          unknown."
      ::= { batteryEntry 8 }
        

batteryTrickleChargingCurrent OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere" MAX-ACCESS read-only STATUS current

batteryTrickleChargingCurrent对象类型语法无符号32单位“毫安”最大访问只读状态电流

DESCRIPTION "This object provides the recommended average current to be used for trickle charging the battery in units of mA.

DESCRIPTION“此对象以mA为单位提供用于蓄电池涓流充电的推荐平均电流。

Typically, this is a value recommended by the manufacturer of the battery or by the manufacturer of the charging circuit.

通常,这是蓄电池制造商或充电电路制造商推荐的值。

          A value of 0 indicates that the recommended trickle charging
          current is unknown."
      ::= { batteryEntry 9 }
        
          A value of 0 indicates that the recommended trickle charging
          current is unknown."
      ::= { batteryEntry 9 }
        

batteryActualCapacity OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere hours" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the actual capacity of the battery in units of mAh.

电池实际容量对象类型语法无符号32单位“毫安时”最大访问只读状态当前描述“此对象以毫安时为单位提供电池的实际容量。

Typically, the actual capacity of a battery decreases with time and with usage of the battery. It is usually lower than the design capacity.

通常,电池的实际容量会随着时间和电池的使用而降低。它通常低于设计容量。

Note that the actual capacity needs to be measured and is typically an estimate based on observed discharging and charging cycles of the battery.

请注意,实际容量需要测量,通常是基于观察到的蓄电池放电和充电周期的估计值。

          A value of 'ffffffff'H indicates that the actual capacity
          cannot be determined."
      ::= { batteryEntry 10 }
        
          A value of 'ffffffff'H indicates that the actual capacity
          cannot be determined."
      ::= { batteryEntry 10 }
        

batteryChargingCycleCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of completed charging cycles that the battery underwent. In line with the Smart Battery Data Specification Revision 1.1, a charging cycle is defined as the process of discharging the battery by a total amount equal to the battery design capacity as given by object batteryDesignCapacity. A charging cycle may include several steps of charging and discharging the battery until the discharging amount given by batteryDesignCapacity has been reached. As soon as a

batteryChargingCycleCount对象类型语法Unsigned32 MAX-ACCESS只读状态当前说明“此对象表示电池完成充电循环的次数。根据智能电池数据规范修订版1.1,充电周期定义为电池放电总量等于目标电池设计容量的过程。充电循环可包括对蓄电池进行充电和放电的几个步骤,直到达到蓄电池设计容量给出的放电量。一

charging cycle has been completed, the next one starts immediately, independent of the battery's current charge at the end of the cycle.

充电循环已完成,下一个充电循环立即开始,与循环结束时电池的当前充电无关。

For batteries of type primary(3), the value of this object is always 0.

对于主电池(3)类型的电池,此对象的值始终为0。

          A value of 'ffffffff'H indicates that the number of charging
          cycles cannot be determined."
      ::= { batteryEntry 11 }
        
          A value of 'ffffffff'H indicates that the number of charging
          cycles cannot be determined."
      ::= { batteryEntry 11 }
        

batteryLastChargingCycleTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The date and time of the last charging cycle. The value '0000000000000000'H is returned if the battery has not been charged yet or if the last charging time cannot be determined.

batteryLastChargingCycleTime对象类型语法DateAndTime MAX-ACCESS只读状态当前描述“上次充电循环的日期和时间。如果电池尚未充电或无法确定上次充电时间,则返回值“0000000000000000”。

          For batteries of type primary(1), the value of this object is
          always '0000000000000000'H."
      ::= { batteryEntry 12 }
        
          For batteries of type primary(1), the value of this object is
          always '0000000000000000'H."
      ::= { batteryEntry 12 }
        
  batteryChargingOperState OBJECT-TYPE
      SYNTAX      INTEGER {
                      unknown(1),
                      charging(2),
                      maintainingCharge(3),
                      noCharging(4),
                      discharging(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "This object indicates the current charging state of the
          battery.
        
  batteryChargingOperState OBJECT-TYPE
      SYNTAX      INTEGER {
                      unknown(1),
                      charging(2),
                      maintainingCharge(3),
                      noCharging(4),
                      discharging(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "This object indicates the current charging state of the
          battery.
        

Value unknown(1) indicates that the charging state of the battery cannot be determined.

值未知(1)表示无法确定蓄电池的充电状态。

Value charging(2) indicates that the battery is being charged in a way such that the charge of the battery increases.

值充电(2)表示电池充电方式使电池电量增加。

Value maintainingCharge(3) indicates that the battery is being charged with a low-average current that compensates

值保持充电(3)表示蓄电池充电时的平均电流较低,可进行补偿

self-discharging. This includes trickle charging, float charging, and other methods for maintaining the current charge of a battery. In typical implementations of charging controllers, state maintainingCharge(3) is only applied if the battery is fully charged or almost fully charged.

自放电。这包括涓流充电、浮充和其他维持电池当前充电的方法。在充电控制器的典型实施方式中,仅当电池充满电或几乎充满电时,才应用状态保持充电(3)。

Value noCharging(4) indicates that the battery is not being charged or discharged by electric current between the battery and electric circuits external to the battery. Note that the battery may still be subject to self-discharging.

值noCharging(4)表示蓄电池与蓄电池外部电路之间的电流未对蓄电池进行充电或放电。请注意,蓄电池可能仍处于自放电状态。

          Value discharging(5) indicates that the battery is either
          used as the power source for electric circuits external to
          the battery or discharged intentionally by the
          charging controller, e.g., for the purpose of battery
          maintenance.  In any case, the charge of the battery
          decreases."
      ::= { batteryEntry 13 }
        
          Value discharging(5) indicates that the battery is either
          used as the power source for electric circuits external to
          the battery or discharged intentionally by the
          charging controller, e.g., for the purpose of battery
          maintenance.  In any case, the charge of the battery
          decreases."
      ::= { batteryEntry 13 }
        
  batteryChargingAdminState OBJECT-TYPE
      SYNTAX      INTEGER {
                      notSet(1),
                      charge(2),
                      doNotCharge(3),
                      discharge(4)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The value of this object indicates the desired
          charging state of the battery.  The real state is
          indicated by object batteryChargingOperState.  See the
          definition of object batteryChargingOperState for a
          description of the values.
        
  batteryChargingAdminState OBJECT-TYPE
      SYNTAX      INTEGER {
                      notSet(1),
                      charge(2),
                      doNotCharge(3),
                      discharge(4)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The value of this object indicates the desired
          charging state of the battery.  The real state is
          indicated by object batteryChargingOperState.  See the
          definition of object batteryChargingOperState for a
          description of the values.
        

When this object is initialized by an implementation of the BATTERY-MIB module, its value is set to notSet(1). In this case, the charging controller is free to choose which operational state is suitable.

当该对象由BATTERY-MIB模块的实现初始化时,其值设置为notSet(1)。在这种情况下,充电控制器可以自由选择适合的工作状态。

When the batteryChargingAdminState object is set, then the BATTERY-MIB implementation must try to set the battery to the indicated state. The result will be indicated by object batteryChargingOperState.

当设置batteryChargingAdminState对象时,BATTERY-MIB实现必须尝试将电池设置为指示状态。结果将由对象电池充电过状态指示。

Setting object batteryChargingAdminState to value notSet(1) is a request to the charging controller to operate

将对象batteryChargingAdminState设置为值notSet(1)是对充电控制器的操作请求

autonomously and choose the operational state that is suitable.

自主选择合适的操作状态。

Setting object batteryChargingAdminState to value charge(2) is a request to enter the operational state charging(2) until the battery is fully charged. When the battery is fully charged, or if the battery was already fully charged or almost fully charged at the time of the request, the operational state will change to maintainingCharge(3) if the charging controller and the battery support the functionality of maintaining the charge, or it will change to noCharging(4) otherwise.

将对象batteryChargingAdminState设置为值charge(2)是一个进入工作状态charging(2)的请求,直到电池充满电。当电池充满电时,或者如果在请求时电池已经充满电或几乎充满电,如果充电控制器和电池支持保持充电的功能,则工作状态将变为保持充电(3),否则将变为不充电(4)。

Setting object batteryChargingAdminState to value doNotCharge(3) is a request for entering operational state noCharging(4).

将对象batteryChargingAdminState设置为值doNotCharge(3)是进入操作状态noCharging(4)的请求。

Setting object batteryChargingAdminState to value discharge(4) is a request for entering operational state discharging(5). Discharging can be accomplished by ordinary use, applying a dedicated load, or any other means. An example for applying this state is battery maintenance. If the battery is empty or almost empty, the operational state will change to noCharging(4). The charging controller will decide which charge condition will be considered empty dependent on the battery technology used. This is done to avoid damage on the battery due to deep discharge.

将对象batteryChargingAdminState设置为值放电(4)是进入工作状态放电(5)的请求。卸料可通过普通使用、施加专用负载或任何其他方式完成。应用此状态的一个示例是蓄电池维护。如果蓄电池为空或几乎为空,则工作状态将变为无充电(4)。充电控制器将根据所使用的电池技术决定哪种充电状态将被视为空载。这样做是为了避免由于深度放电而损坏蓄电池。

          Due to operational conditions and limitations of the
          implementation of the BATTERY-MIB module, changing the
          battery status according to a set value of object
          batteryChargingAdminState may not be possible.
          Setting the value of object batteryChargingAdminState
          may result in not changing the state of the battery
          to this value or even in setting the charging state
          to another value than the requested one.  For example,
          the charging controller might at any time decide to
          enter state discharging(5), if there is an operational need
          to use the battery for supplying power."
      ::= { batteryEntry 14 }
        
          Due to operational conditions and limitations of the
          implementation of the BATTERY-MIB module, changing the
          battery status according to a set value of object
          batteryChargingAdminState may not be possible.
          Setting the value of object batteryChargingAdminState
          may result in not changing the state of the battery
          to this value or even in setting the charging state
          to another value than the requested one.  For example,
          the charging controller might at any time decide to
          enter state discharging(5), if there is an operational need
          to use the battery for supplying power."
      ::= { batteryEntry 14 }
        

batteryActualCharge OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere hours" MAX-ACCESS read-only STATUS current

电池实际充电对象类型语法无符号32单位“毫安小时”最大访问只读状态当前

DESCRIPTION "This object provides the actual charge of the battery in units of mAh.

描述“此对象以毫安时为单位提供电池的实际充电。

Note that the actual charge needs to be measured and is typically an estimate based on observed discharging and charging cycles of the battery.

请注意,实际充电需要测量,通常是基于观察到的蓄电池放电和充电周期的估计值。

          A value of 'ffffffff'H indicates that the actual charge
          cannot be determined."
      ::= { batteryEntry 15 }
        
          A value of 'ffffffff'H indicates that the actual charge
          cannot be determined."
      ::= { batteryEntry 15 }
        

batteryActualVoltage OBJECT-TYPE SYNTAX Unsigned32 UNITS "millivolt" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the actual voltage of the battery in units of mV.

batteryActualVoltage对象类型语法Unsigned32单位“毫伏”最大访问只读状态当前描述“此对象以mV为单位提供蓄电池的实际电压。

          A value of 'ffffffff'H indicates that the actual voltage
          cannot be determined."
      ::= { batteryEntry 16 }
        
          A value of 'ffffffff'H indicates that the actual voltage
          cannot be determined."
      ::= { batteryEntry 16 }
        

batteryActualCurrent OBJECT-TYPE SYNTAX Integer32 UNITS "milliampere" MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides the actual charging or discharging current of the battery in units of mA. The charging current is represented by positive values, and the discharging current is represented by negative values.

电池实际电流对象类型语法整数32单位“毫安”最大访问只读状态电流说明“此对象以mA为单位提供电池的实际充电或放电电流。充电电流用正值表示,放电电流用负值表示。

          A value of '7fffffff'H indicates that the actual current
          cannot be determined."
      ::= { batteryEntry 17 }
        
          A value of '7fffffff'H indicates that the actual current
          cannot be determined."
      ::= { batteryEntry 17 }
        

batteryTemperature OBJECT-TYPE SYNTAX Integer32 UNITS "deci-degrees Celsius" MAX-ACCESS read-only STATUS current DESCRIPTION "The ambient temperature at or within close proximity of the battery.

电池温度对象类型语法整数32单位“摄氏分贝”最大访问只读状态当前描述“电池附近或附近的环境温度”。

          A value of '7fffffff'H indicates that the temperature
          cannot be determined."
      ::= { batteryEntry 18 }
        
          A value of '7fffffff'H indicates that the temperature
          cannot be determined."
      ::= { batteryEntry 18 }
        

batteryAlarmLowCharge OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere hours" MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the lower-threshold value for object batteryActualCharge. If the value of object batteryActualCharge falls below this threshold, a low-battery alarm will be raised. The alarm procedure may include generating a batteryLowNotification.

batteryAlarmLowCharge对象类型语法无符号32单位“毫安小时”最大访问读写状态当前说明“此对象为对象电池实际充电提供较低的阈值。如果目标电池实际充电值低于此阈值,则会发出电池电量过低警报。报警程序可能包括生成蓄电池断电通知。

This object should be set to a value such that when the batteryLowNotification is generated, the battery is still sufficiently charged to keep the device(s) that it powers operational for a time long enough to take actions before the powered device(s) enters a 'sleep' or 'off' state.

此对象应设置为一个值,以便在生成电池断电通知时,电池仍能充分充电,以使其供电的设备能够运行足够长的时间,以便在供电设备进入“睡眠”或“关闭”状态之前采取措施。

          A value of 0 indicates that no alarm will be raised for any
          value of object batteryActualVoltage."
      ::= { batteryEntry 19 }
        
          A value of 0 indicates that no alarm will be raised for any
          value of object batteryActualVoltage."
      ::= { batteryEntry 19 }
        

batteryAlarmLowVoltage OBJECT-TYPE SYNTAX Unsigned32 UNITS "millivolt" MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the lower-threshold value for object batteryActualVoltage. If the value of object batteryActualVoltage falls below this threshold, a low-battery alarm will be raised. The alarm procedure may include generating a batteryLowNotification.

batteryAlarmLowVoltage对象类型语法无符号32个单位“毫伏”最大访问读写状态当前说明“此对象为对象电池实际电压提供较低的阈值。如果目标电池实际电压值低于此阈值,将发出电池电量低报警。报警程序可能包括生成蓄电池断电通知。

This object should be set to a value such that when the batteryLowNotification is generated, the battery is still sufficiently charged to keep the device(s) that it powers operational for a time long enough to take actions before the powered device(s) enters a 'sleep' or 'off' state.

此对象应设置为一个值,以便在生成电池断电通知时,电池仍能充分充电,以使其供电的设备能够运行足够长的时间,以便在供电设备进入“睡眠”或“关闭”状态之前采取措施。

            A value of 0 indicates that no alarm will be raised for any
            value of object batteryActualVoltage."
        ::= { batteryEntry 20 }
        
            A value of 0 indicates that no alarm will be raised for any
            value of object batteryActualVoltage."
        ::= { batteryEntry 20 }
        

batteryAlarmLowCapacity OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliampere hours" MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the lower-threshold value for object batteryActualCapacity. If the value of object batteryActualCapacity falls below this threshold, a battery aging alarm will be raised. The alarm procedure may include generating a batteryAgingNotification.

batteryAlarmLowCapacity对象类型语法无符号32单位“毫安小时”最大访问读写状态当前说明“此对象为对象电池实际容量提供较低的阈值。如果对象电池实际容量的值低于此阈值,则会发出电池老化警报。报警程序可能包括生成电池报警通知。

          A value of 0 indicates that no alarm will be raised for any
          value of object batteryActualCapacity."
      ::= { batteryEntry 21 }
        
          A value of 0 indicates that no alarm will be raised for any
          value of object batteryActualCapacity."
      ::= { batteryEntry 21 }
        

batteryAlarmHighCycleCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the upper-threshold value for object batteryChargingCycleCount. If the value of object batteryChargingCycleCount rises above this threshold, a battery aging alarm will be raised. The alarm procedure may include generating a batteryAgingNotification.

batteryAlarmHighCycleCount对象类型语法Unsigned32 MAX-ACCESS读写状态当前说明“此对象为对象batteryChargingCycleCount提供上限阈值。如果对象batteryChargingCycleCount的值高于此阈值,则会发出电池老化警报。报警程序可能包括生成电池报警通知。

          A value of 0 indicates that no alarm will be raised for any
          value of object batteryChargingCycleCount."
      ::= { batteryEntry 22 }
        
          A value of 0 indicates that no alarm will be raised for any
          value of object batteryChargingCycleCount."
      ::= { batteryEntry 22 }
        

batteryAlarmHighTemperature OBJECT-TYPE SYNTAX Integer32 UNITS "deci-degrees Celsius" MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the upper-threshold value for object batteryTemperature. If the value of object batteryTemperature rises above this threshold, a battery high temperature alarm will be raised. The alarm procedure may include generating a batteryTemperatureNotification.

batteryAlarmHighTemperature对象类型语法整数32单位“摄氏分贝”最大访问读写状态当前说明“此对象提供对象电池温度的上限阈值。如果目标电池温度值高于此阈值,则会发出电池高温警报。报警程序可能包括生成电池温度通知。

          A value of '7fffffff'H indicates that no alarm will be
          raised for any value of object batteryTemperature."
      ::= { batteryEntry 23 }
        
          A value of '7fffffff'H indicates that no alarm will be
          raised for any value of object batteryTemperature."
      ::= { batteryEntry 23 }
        

batteryAlarmLowTemperature OBJECT-TYPE SYNTAX Integer32 UNITS "deci-degrees Celsius" MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides the lower-threshold value for object batteryTemperature. If the value of object batteryTemperature falls below this threshold, a battery low temperature alarm will be raised. The alarm procedure may include generating a batteryTemperatureNotification.

BatteryalarmLowthment对象类型语法整数32单位“摄氏分贝”最大访问读写状态当前说明“此对象为对象电池温度提供较低的阈值。如果目标电池温度值低于此阈值,将发出电池低温警报。报警程序可能包括生成电池温度通知。

          A value of '7fffffff'H indicates that no alarm will be
          raised for any value of object batteryTemperature."
      ::= { batteryEntry 24 }
        
          A value of '7fffffff'H indicates that no alarm will be
          raised for any value of object batteryTemperature."
      ::= { batteryEntry 24 }
        

batteryCellIdentifier OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object identifies one or more cells of a battery. The format of the cell identifier may vary between different implementations. It should uniquely identify one or more cells of the indexed battery.

BatteryCelliIdentifier对象类型语法SNMPAdministring MAX-ACCESS只读状态当前描述“此对象的值标识电池的一个或多个电池芯。电池芯标识符的格式可能因不同的实现而异。它应唯一标识索引电池的一个或多个电池芯。

This object can be used for batteries, such as lithium polymer batteries for which battery controllers monitor cells individually.

此对象可用于电池,如锂聚合物电池,电池控制器可单独监控电池。

This object is used by notifications of types batteryLowNotification, batteryTemperatureNotification, batteryCriticalNotification, and batteryAgingNotification. These notifications can use the value of this object to indicate the event that triggered the generation of the notification in more detail by specifying a single cell or a set of cells within the battery that is specifically addressed by the notification.

此对象由类型为BatteryLogNotification、batteryTemperatureNotification、batteryCriticalNotification和batteryAgingNotification的通知使用。这些通知可以使用此对象的值,通过指定通知专门处理的电池内的单个电池或一组电池,更详细地指示触发生成通知的事件。

An example use case for this object is a single cell in a battery that exceeds the temperature indicated by object batteryAlarmHighTemperature. In such a case, a batteryTemperatureNotification can be generated that not only indicates the battery for which the temperature limit has been exceeded but also the particular cell.

此对象的一个示例用例是电池中的单个电池超过对象batteryAlarmHighTemperature指示的温度。在这种情况下,可以生成蓄电池温度通知,该通知不仅指示超出温度限制的蓄电池,还指示特定的蓄电池。

The initial value of this object is the empty string. The value of this object is set each time a

此对象的初始值为空字符串。此对象的值在每次

batteryLowNotification, batteryTemperatureNotification, batteryCriticalNotification, or batteryAgingNotification is generated.

已生成电池欠通知、电池温度通知、电池临界通知或电池报警通知。

          When a notification is generated that does not indicate a
          specific cell or set of cells, the value of this object is
          set to the empty string."
      ::= { batteryEntry 25 }
        
          When a notification is generated that does not indicate a
          specific cell or set of cells, the value of this object is
          set to the empty string."
      ::= { batteryEntry 25 }
        
  --==================================================================
  -- 2.  Notifications
  --==================================================================
        
  --==================================================================
  -- 2.  Notifications
  --==================================================================
        
  batteryChargingStateNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryChargingOperState
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when a charging state
          of the battery (indicated by the value of object
          batteryChargingOperState) is triggered by an event other
          than a write action to object batteryChargingAdminState.
          Such an event may, for example, be triggered by a local
          battery controller."
      ::= { batteryNotifications 1 }
        
  batteryChargingStateNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryChargingOperState
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when a charging state
          of the battery (indicated by the value of object
          batteryChargingOperState) is triggered by an event other
          than a write action to object batteryChargingAdminState.
          Such an event may, for example, be triggered by a local
          battery controller."
      ::= { batteryNotifications 1 }
        
  batteryLowNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCharge,
          batteryActualVoltage,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the current charge
          (batteryActualCharge) or the current voltage
          (batteryActualVoltage) of the battery falls below a
          threshold defined by object batteryAlarmLowCharge or object
          batteryAlarmLowVoltage, respectively.
        
  batteryLowNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCharge,
          batteryActualVoltage,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the current charge
          (batteryActualCharge) or the current voltage
          (batteryActualVoltage) of the battery falls below a
          threshold defined by object batteryAlarmLowCharge or object
          batteryAlarmLowVoltage, respectively.
        

Note that, typically, this notification is generated in a state where the battery is still sufficiently charged to keep the device(s) that it powers operational for some time. If the charging state of the battery has become critical, i.e., the device(s) powered by the battery must go to a 'sleep' or 'off' state, then the batteryCriticalNotification should be used instead.

请注意,通常,此通知是在电池仍然充满电以使设备保持其供电运行一段时间的状态下生成的。如果电池的充电状态变得至关重要,即由电池供电的设备必须进入“睡眠”或“关闭”状态,则应改用电池关键通知。

If the low charge or voltage has been detected for a single cell or a set of cells of the battery and not for the entire battery, then object batteryCellIdentifier should be set to a value that identifies the cell or set of cells. Otherwise, the value of object batteryCellIdentifier should be set to the empty string when this notification is generated.

如果检测到单个或一组电池的低电荷或低电压,而不是整个电池的低电荷或低电压,则应将object batteryCellIdentifier设置为识别该电池或一组电池的值。否则,在生成此通知时,应将object BatteryCelliIdentifier的值设置为空字符串。

The notification should not be sent again for the same battery or cell before either (a) the current voltage or the current charge, respectively, has become higher than the corresponding threshold through charging or (b) an indication of a maintenance action has been detected, such as a battery disconnection event or a reinitialization of the battery monitoring system.

在(a)当前电压或当前电荷通过充电分别高于相应阈值或(b)检测到维护操作指示之前,不得再次发送相同电池或电池的通知,例如蓄电池断开事件或蓄电池监测系统的重新初始化。

          This notification should not be sent when the battery is in
          a charging mode, i.e., the value of object
          batteryChargingOperState is charging(2)."
      ::= { batteryNotifications 2 }
        
          This notification should not be sent when the battery is in
          a charging mode, i.e., the value of object
          batteryChargingOperState is charging(2)."
      ::= { batteryNotifications 2 }
        
  batteryCriticalNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCharge,
          batteryActualVoltage,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the current charge
          of the battery falls so low that it cannot provide a
          sufficient power supply function for regular operation
          of the powered device(s).  The battery needs to be charged
          before it can be used for regular power supply again.  The
          battery may still provide sufficient power for a 'sleep'
          mode of a powered device(s) or for a transition into an 'off'
          mode.
        
  batteryCriticalNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCharge,
          batteryActualVoltage,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the current charge
          of the battery falls so low that it cannot provide a
          sufficient power supply function for regular operation
          of the powered device(s).  The battery needs to be charged
          before it can be used for regular power supply again.  The
          battery may still provide sufficient power for a 'sleep'
          mode of a powered device(s) or for a transition into an 'off'
          mode.
        

If the critical state is caused by a single cell or a set of cells of the battery, then object batteryCellIdentifier should be set to a value that identifies the cell or set of cells. Otherwise, the value of object batteryCellIdentifier should be set to the empty string when this notification is generated.

如果临界状态是由电池的单个电池或一组电池引起的,则对象电池识别器应设置为识别该电池或电池组的值。否则,在生成此通知时,应将object BatteryCelliIdentifier的值设置为空字符串。

The notification should not be sent again for the same battery before either the battery charge has increased through charging to a non-critical value or an indication

在电池电量通过充电增加至非临界值或指示之前,不得再次发送相同电池的通知

of a maintenance action has been detected, such as a battery disconnection event or a reinitialization of the battery monitoring system.

检测到任何维护操作,如蓄电池断开事件或蓄电池监测系统重新初始化。

          This notification should not be sent when the battery is in
          a charging mode, i.e., the value of object
          batteryChargingOperState is charging(2)."
      ::= { batteryNotifications 3 }
        
          This notification should not be sent when the battery is in
          a charging mode, i.e., the value of object
          batteryChargingOperState is charging(2)."
      ::= { batteryNotifications 3 }
        
  batteryTemperatureNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryTemperature,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the measured
          temperature (batteryTemperature) rises above the threshold
          defined by object batteryAlarmHighTemperature or falls
          below the threshold defined by object
          batteryAlarmLowTemperature.
        
  batteryTemperatureNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryTemperature,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the measured
          temperature (batteryTemperature) rises above the threshold
          defined by object batteryAlarmHighTemperature or falls
          below the threshold defined by object
          batteryAlarmLowTemperature.
        

If the low or high temperature has been detected for a single cell or a set of cells of the battery and not for the entire battery, then object batteryCellIdentifier should be set to a value that identifies the cell or set of cells. Otherwise, the value of object batteryCellIdentifier should be set to the empty string when this notification is generated.

如果检测到单个电池或一组电池的低温或高温,而不是整个电池的低温或高温,则应将object batteryCellIdentifier设置为识别该电池或一组电池的值。否则,在生成此通知时,应将object BatteryCelliIdentifier的值设置为空字符串。

It may occur that the temperature alternates between values slightly below and slightly above a threshold. For limiting the notification rate in such a case, this notification should not be sent again for the same battery or cell, respectively, within a time interval of 10 minutes.

温度可能在略低于阈值和略高于阈值的值之间交替变化。为了限制这种情况下的通知速率,在10分钟的时间间隔内,不应分别针对同一电池或电池再次发送此通知。

          An exception to the rate limitations occurs immediately
          after the reinitialization of the battery monitoring system.
          At this point in time, if the battery temperature is above
          the threshold defined by object batteryAlarmHighTemperature
          or below the threshold defined by object
          batteryAlarmLowTemperature, respectively, then this
          notification should be sent, independent of the time at
          which previous notifications for the same battery or cell,
          respectively, had been sent."
      ::= { batteryNotifications 4 }
        
          An exception to the rate limitations occurs immediately
          after the reinitialization of the battery monitoring system.
          At this point in time, if the battery temperature is above
          the threshold defined by object batteryAlarmHighTemperature
          or below the threshold defined by object
          batteryAlarmLowTemperature, respectively, then this
          notification should be sent, independent of the time at
          which previous notifications for the same battery or cell,
          respectively, had been sent."
      ::= { batteryNotifications 4 }
        
  batteryAgingNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCapacity,
          batteryChargingCycleCount,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the actual
          capacity (batteryActualCapacity) falls below a threshold
          defined by object batteryAlarmLowCapacity
          or when the charging cycle count of the battery
          (batteryChargingCycleCount) exceeds the threshold defined
          by object batteryAlarmHighCycleCount.
        
  batteryAgingNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryActualCapacity,
          batteryChargingCycleCount,
          batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when the actual
          capacity (batteryActualCapacity) falls below a threshold
          defined by object batteryAlarmLowCapacity
          or when the charging cycle count of the battery
          (batteryChargingCycleCount) exceeds the threshold defined
          by object batteryAlarmHighCycleCount.
        

If the aging has been detected for a single cell or a set of cells of the battery and not for the entire battery, then object batteryCellIdentifier should be set to a value that identifies the cell or set of cells. Otherwise, the value of object batteryCellIdentifier should be set to the empty string when this notification is generated.

如果检测到单个电池或电池组的老化,而不是整个电池的老化,则应将object batteryCellIdentifier设置为识别该电池或电池组的值。否则,在生成此通知时,应将object BatteryCelliIdentifier的值设置为空字符串。

          This notification should not be sent again for the same
          battery or cell, respectively, before an indication of a
          maintenance action has been detected, such as a battery
          disconnection event or a reinitialization of the battery
          monitoring system."
      ::= { batteryNotifications 5 }
        
          This notification should not be sent again for the same
          battery or cell, respectively, before an indication of a
          maintenance action has been detected, such as a battery
          disconnection event or a reinitialization of the battery
          monitoring system."
      ::= { batteryNotifications 5 }
        
  batteryConnectedNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when it has been
          detected that a battery has been connected.  The battery
          can be identified by the value of object batteryIdentifier
          as well as by the value of index entPhysicalIndex that is
          contained in the OID of object batteryIdentifier."
      ::= { batteryNotifications 6 }
        
  batteryConnectedNotification NOTIFICATION-TYPE
      OBJECTS     {
          batteryIdentifier
      }
      STATUS      current
      DESCRIPTION
          "This notification can be generated when it has been
          detected that a battery has been connected.  The battery
          can be identified by the value of object batteryIdentifier
          as well as by the value of index entPhysicalIndex that is
          contained in the OID of object batteryIdentifier."
      ::= { batteryNotifications 6 }
        
  batteryDisconnectedNotification NOTIFICATION-TYPE
      STATUS      current
      DESCRIPTION
          "This notification can be generated when it has been
          detected that one or more batteries have been disconnected."
      ::= { batteryNotifications 7 }
        
  batteryDisconnectedNotification NOTIFICATION-TYPE
      STATUS      current
      DESCRIPTION
          "This notification can be generated when it has been
          detected that one or more batteries have been disconnected."
      ::= { batteryNotifications 7 }
        
  --==================================================================
  -- 3.  Conformance Information
  --==================================================================
        
  --==================================================================
  -- 3.  Conformance Information
  --==================================================================
        
  batteryCompliances OBJECT IDENTIFIER ::= { batteryConformance 1 }
  batteryGroups      OBJECT IDENTIFIER ::= { batteryConformance 2 }
        
  batteryCompliances OBJECT IDENTIFIER ::= { batteryConformance 1 }
  batteryGroups      OBJECT IDENTIFIER ::= { batteryConformance 2 }
        
  --------------------------------------------------------------------
  -- 3.1.  Compliance Statements
  --------------------------------------------------------------------
        
  --------------------------------------------------------------------
  -- 3.1.  Compliance Statements
  --------------------------------------------------------------------
        

batteryCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for implementations of the BATTERY-MIB module.

BATTERY COMPLIANCE MODULE-COMPLIANCE STATUS current DESCRIPTION“电池-MIB模块实施的合规性声明。

A compliant implementation MUST implement the objects defined in the mandatory groups batteryDescriptionGroup and batteryStatusGroup.

符合要求的实现必须实现在强制组batteryDescriptionGroup和BatteryStationGroup中定义的对象。

          Note that this compliance statement requires
          compliance with the entity4CRCompliance
          MODULE-COMPLIANCE statement of the
          ENTITY-MIB (RFC 6933)."
      MODULE  -- this module
          MANDATORY-GROUPS {
              batteryDescriptionGroup,
              batteryStatusGroup
          }
        
          Note that this compliance statement requires
          compliance with the entity4CRCompliance
          MODULE-COMPLIANCE statement of the
          ENTITY-MIB (RFC 6933)."
      MODULE  -- this module
          MANDATORY-GROUPS {
              batteryDescriptionGroup,
              batteryStatusGroup
          }
        

GROUP batteryAlarmThresholdsGroup DESCRIPTION "A compliant implementation does not have to implement the batteryAlarmThresholdsGroup."

GROUP batteryAlarmThresholdsGroup DESCRIPTION“符合要求的实现不必实现batteryAlarmThresholdsGroup。”

GROUP batteryNotificationsGroup DESCRIPTION "A compliant implementation does not have to implement the batteryNotificationsGroup."

GROUP BatteryNotificationGroup DESCRIPTION“符合要求的实施不必实施BatteryNotificationGroup。”

GROUP batteryPerCellNotificationsGroup DESCRIPTION "A compliant implementation does not have to implement the batteryPerCellNotificationsGroup."

组batteryPerCellNotificationsGroup DESCRIPTION“符合要求的实现不必实现batteryPerCellNotificationsGroup。”

GROUP batteryAdminGroup DESCRIPTION

组电池组管理组说明

"A compliant implementation does not have to implement the batteryAdminGroup."

“符合要求的实现不必实现batteryAdminGroup。”

OBJECT batteryAlarmLowCharge MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT batteryAlarmLowCharge MIN-ACCESS只读说明“支持此对象上的设置操作不需要符合要求的实现。”

OBJECT batteryAlarmLowVoltage MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT batteryAlarmLowVoltage最小访问只读说明“支持此对象上的设置操作不需要符合要求的实现。”

OBJECT batteryAlarmLowCapacity MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT batteryAlarmLowCapacity最小访问只读说明“支持此对象上的设置操作不需要符合要求的实现。”

OBJECT batteryAlarmHighCycleCount MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT batteryAlarmHighCycleCount MIN-ACCESS只读说明“支持此对象上的设置操作不需要符合要求的实现。”

OBJECT batteryAlarmHighTemperature MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT batteryAlarmHighTemperature MIN-ACCESS只读说明“支持此对象上的设置操作不需要符合要求的实现。”

OBJECT batteryAlarmLowTemperature MIN-ACCESS read-only DESCRIPTION "A compliant implementation is not required to support set operations on this object."

OBJECT BatterYalarmLowthment MIN-ACCESS只读说明“支持此对象上的设置操作不需要符合要求的实现。”

      ::= { batteryCompliances 1 }
        
      ::= { batteryCompliances 1 }
        
  --------------------------------------------------------------------
  -- 3.2.  MIB Grouping
  --------------------------------------------------------------------
        
  --------------------------------------------------------------------
  -- 3.2.  MIB Grouping
  --------------------------------------------------------------------
        

batteryDescriptionGroup OBJECT-GROUP OBJECTS { batteryIdentifier,

batteryDescriptionGroup对象组对象{batteryIdentifier,

         batteryFirmwareVersion,
         batteryType,
         batteryTechnology,
         batteryDesignVoltage,
         batteryNumberOfCells,
         batteryDesignCapacity,
         batteryMaxChargingCurrent,
         batteryTrickleChargingCurrent
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation MUST implement the objects
         contained in this group."
      ::= { batteryGroups 1 }
        
         batteryFirmwareVersion,
         batteryType,
         batteryTechnology,
         batteryDesignVoltage,
         batteryNumberOfCells,
         batteryDesignCapacity,
         batteryMaxChargingCurrent,
         batteryTrickleChargingCurrent
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation MUST implement the objects
         contained in this group."
      ::= { batteryGroups 1 }
        
  batteryStatusGroup OBJECT-GROUP
      OBJECTS {
         batteryActualCapacity,
         batteryChargingCycleCount,
         batteryLastChargingCycleTime,
         batteryChargingOperState,
         batteryActualCharge,
         batteryActualVoltage,
         batteryActualCurrent,
         batteryTemperature
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation MUST implement the objects
         contained in this group."
      ::= { batteryGroups 2 }
        
  batteryStatusGroup OBJECT-GROUP
      OBJECTS {
         batteryActualCapacity,
         batteryChargingCycleCount,
         batteryLastChargingCycleTime,
         batteryChargingOperState,
         batteryActualCharge,
         batteryActualVoltage,
         batteryActualCurrent,
         batteryTemperature
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation MUST implement the objects
         contained in this group."
      ::= { batteryGroups 2 }
        
  batteryAdminGroup OBJECT-GROUP
      OBJECTS {
         batteryChargingAdminState
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation does not have to implement the
         object contained in this group."
      ::= { batteryGroups 3 }
        
  batteryAdminGroup OBJECT-GROUP
      OBJECTS {
         batteryChargingAdminState
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation does not have to implement the
         object contained in this group."
      ::= { batteryGroups 3 }
        

batteryAlarmThresholdsGroup OBJECT-GROUP OBJECTS { batteryAlarmLowCharge, batteryAlarmLowVoltage, batteryAlarmLowCapacity, batteryAlarmHighCycleCount,

BatteryArmThresholds组对象组对象{BatteryArmLowCharge,BatteryArmLowVoltage,BatteryArmLowCapacity,BatteryArmHighCycleCount,

         batteryAlarmHighTemperature,
         batteryAlarmLowTemperature
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation does not have to implement the
         objects contained in this group."
      ::= { batteryGroups 4 }
        
         batteryAlarmHighTemperature,
         batteryAlarmLowTemperature
      }
      STATUS      current
      DESCRIPTION
         "A compliant implementation does not have to implement the
         objects contained in this group."
      ::= { batteryGroups 4 }
        
  batteryNotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
         batteryChargingStateNotification,
         batteryLowNotification,
         batteryCriticalNotification,
         batteryAgingNotification,
         batteryTemperatureNotification,
         batteryConnectedNotification,
         batteryDisconnectedNotification
      }
      STATUS      current
      DESCRIPTION
          "A compliant implementation does not have to implement the
          notifications contained in this group."
      ::= { batteryGroups 5 }
        
  batteryNotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
         batteryChargingStateNotification,
         batteryLowNotification,
         batteryCriticalNotification,
         batteryAgingNotification,
         batteryTemperatureNotification,
         batteryConnectedNotification,
         batteryDisconnectedNotification
      }
      STATUS      current
      DESCRIPTION
          "A compliant implementation does not have to implement the
          notifications contained in this group."
      ::= { batteryGroups 5 }
        
  batteryPerCellNotificationsGroup OBJECT-GROUP
      OBJECTS {
         batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "A compliant implementation does not have to implement the
          object contained in this group."
      ::= { batteryGroups 6 }
  END
        
  batteryPerCellNotificationsGroup OBJECT-GROUP
      OBJECTS {
         batteryCellIdentifier
      }
      STATUS      current
      DESCRIPTION
          "A compliant implementation does not have to implement the
          object contained in this group."
      ::= { batteryGroups 6 }
  END
        
5. Security Considerations
5. 安全考虑

There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection opens devices to attack. These are the tables and objects and their sensitivity/vulnerability:

此MIB模块中定义了许多管理对象,其MAX-ACCESS子句为read-write。在某些网络环境中,此类对象可能被视为敏感或易受攻击。在没有适当保护的非安全环境中支持SET操作会使设备受到攻击。以下是表和对象及其敏感度/漏洞:

o batteryChargingAdminState: Setting the battery charging state can be beneficial for an operator for various reasons such as charging batteries when the

o 蓄电池充电管理状态:设置蓄电池充电状态可能对操作员有益,原因有多种,例如在蓄电池充电时对蓄电池充电

price of electricity is low. However, setting the charging state can be used by an attacker to discharge batteries of devices and thereby switching these devices off if they are powered solely by batteries. In particular, if the batteryAlarmLowCharge and batteryAlarmLowVoltage can also be set, this attack will go unnoticed (i.e., no notifications are sent).

电价很低。但是,攻击者可以使用设置充电状态来对设备的电池进行放电,从而在仅由电池供电的情况下关闭这些设备。特别是,如果还可以设置batteryAlarmLowCharge和batteryAlarmLowVoltage,则此攻击将不被注意(即不发送通知)。

o batteryAlarmLowCharge and batteryAlarmLowVoltage: These objects set the threshold for an alarm to be raised when the battery charge or voltage falls below the corresponding one of them. An attacker setting one of these alarm values can switch off the alarm by setting it to the 'off' value 0, or it can modify the alarm behavior by setting it to any other value. The result may be loss of data if the battery runs empty without warning to a recipient expecting such a notification.

o batteryAlarmLowCharge和batteryAlarmLowVoltage:这些对象设置了当电池电量或电压低于相应的阈值时发出警报的阈值。设置其中一个报警值的攻击者可以通过将其设置为“关闭”值0来关闭报警,也可以通过将其设置为任何其他值来修改报警行为。如果电池耗尽而未向预期收到此类通知的收件人发出警告,则可能会导致数据丢失。

o batteryAlarmLowCapacity and batteryAlarmHighCycleCount: These objects set the threshold for an alarm to be raised when the battery becomes older and less performant than required for stable operation. An attacker setting this alarm value can switch off the alarm by setting it to the 'off' value 0 or modify the alarm behavior by setting it to any other value. This may lead to either a costly replacement of a working battery or use of batteries that are too old or too weak. The consequence of the latter could be that, e.g., a battery cannot provide power long enough between two scheduled charging actions causing the powered device to shut down and potentially lose data.

o batteryAlarmLowCapacity和batteryAlarmHighCycleCount:这些对象设置当电池老化且性能低于稳定运行所需时发出警报的阈值。设置此报警值的攻击者可以通过将其设置为“关闭”值0来关闭报警,或通过将其设置为任何其他值来修改报警行为。这可能导致昂贵的工作电池更换或使用太旧或太弱的电池。后者的后果可能是,例如,电池无法在两个预定充电动作之间提供足够长的电力,导致供电设备关闭并可能丢失数据。

o batteryAlarmHighTemperature and batteryAlarmLowTemperature: These objects set thresholds for an alarm to be raised when the battery rises above / falls below them. An attacker setting one of these alarm values can switch off these alarms by setting them to the 'off' value '7fffffff'H, or it can modify the alarm behavior by setting them to any other value. The result may be, e.g., an unnecessary shutdown of a device if batteryAlarmHighTemperature is set too low, there is damage to the device by temperatures that are too high if switched off or set to values that are too high, or there is damage to the battery when, e.g., it is being charged. Batteries can also be damaged, e.g., in an attempt to charge them at temperatures that are too low.

o batteryAlarmHighTemperature和batteryAlarmLowTemperature:这些对象设置了当电池高于/低于它们时发出警报的阈值。设置其中一个报警值的攻击者可以通过将其设置为“关闭”值“7fffffff'H”来关闭这些报警,也可以通过将其设置为任何其他值来修改报警行为。结果可能是,例如,如果蓄电池温度设置过低,则设备会不必要地停机;如果关闭或设置过高,则设备会因温度过高而损坏;或者,例如,在充电时,电池会损坏。电池也可能损坏,例如,试图在过低的温度下充电时。

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:

在某些网络环境中,此MIB模块中的某些可读对象(即具有MAX-ACCESS而非not ACCESS的对象)可能被视为敏感或易受攻击。因此,在通过SNMP通过网络发送这些对象时,控制甚至获取和/或通知对这些对象的访问,甚至可能加密这些对象的值,这一点非常重要。以下是表和对象及其敏感度/漏洞:

All potentially sensible or vulnerable objects of this MIB module are in the batteryTable. In general, there are no serious operational vulnerabilities foreseen in case of an unauthorized read access to this table. However, corporate confidentiality issues need to be considered. The following information or parts of it might be a trade secret:

此MIB模块的所有可能敏感或易受攻击的对象都位于batteryTable中。一般来说,如果未经授权读取此表,则不存在严重的操作漏洞。但是,需要考虑公司保密问题。以下信息或其部分可能是商业秘密:

o the number of batteries installed in a managed node (batteryIndex)

o 托管节点中安装的电池数量(电池索引)

o properties of these batteries (batteryActualCapacity and batteryChargingCycleCount)

o 这些电池的特性(电池实际容量和电池充电周期计数)

o the time at which the next replacement cycle for batteries can be expected (batteryAlarmLowCapacity and batteryAlarmHighCycleCount)

o 预计电池的下一个更换周期的时间(电池电量低容量和电池电量高周期计数)

o the types of batteries in use and their firmware versions (batteryIdentifier, batteryFirmwareVersion, batteryType, and batteryTechnology)

o 正在使用的电池类型及其固件版本(电池标识器、电池固件版本、电池类型和电池技术)

For any battery-powered device whose use can be correlated to an individual or a small group of individuals, the following objects have the potential to reveal information about those individuals' activities or habits (e.g., if they are near a power outlet, if they have been using their devices heavily, etc.):

对于任何使用电池供电的设备,其使用可能与个人或一小群个人相关,以下对象有可能揭示有关这些个人活动或习惯的信息(例如,如果他们靠近电源插座,如果他们一直在大量使用其设备等):

o batteryChargingCycleCount

o 电池充电周期计数

o batteryLastChargingCycleTime

o 电池充电周期

o batteryChargingOperState

o 过硫酸蓄电池

o batteryActualCharge

o 电池自动充电

o batteryActualVoltage

o 蓄电池实际电压

o batteryActualCurrent

o 蓄电池电流

o batteryTemperature

o 电池温度

o batteryAlarmLowCharge

o 电池低电荷

o batteryAlarmLowVoltage

o 蓄电池低压

o batteryAlarmLowCapacity

o 电池低容量

o batteryAlarmHighCycleCount

o batteryAlarmHighCycleCount

o batteryAlarmHighTemperature

o 电池高温

o batteryAlarmLowTemperature

o 蓄电池低温

Implementers of this specification should use appropriate privacy protections as discussed in Section 9 of "Requirements for Energy Management" [RFC6988]. Battery monitoring of devices used by individuals or in homes should only occur with proper authorization.

本规范的实施者应使用“能源管理要求”[RFC6988]第9节中讨论的适当隐私保护。对个人或家庭使用的设备进行电池监测时,必须经过适当授权。

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.

SNMPv3之前的SNMP版本未包含足够的安全性。即使网络本身是安全的(例如通过使用IPsec),也无法控制安全网络上的谁可以访问和获取/设置(读取/更改/创建/删除)此MIB模块中的对象。

   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC3414] with the AES cipher algorithm [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC5591] in combination with a secure transport such as SSH
   [RFC5592] or TLS/DTLS [RFC6353].
        
   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC3414] with the AES cipher algorithm [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC5591] in combination with a secure transport such as SSH
   [RFC5592] or TLS/DTLS [RFC6353].
        

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

此外,不建议部署SNMPv3之前的SNMP版本。相反,建议部署SNMPv3并启用加密安全性。然后,客户/运营商应负责确保授予访问此MIB模块实例权限的SNMP实体已正确配置为仅授予那些拥有确实获取或设置(更改/创建/删除)对象的合法权限的主体(用户)访问对象。

6. IANA Considerations
6. IANA考虑
6.1. SMI Object Identifier Registration
6.1. SMI对象标识符注册

The Battery MIB module defined in this document uses the following IANA-assigned OBJECT IDENTIFIER value recorded in the SMI Numbers registry:

本文档中定义的电池MIB模块使用SMI编号注册表中记录的以下IANA分配对象标识符值:

             Descriptor        OBJECT IDENTIFIER value
             ----------        -----------------------
             batteryMIB        { mib-2 233 }
        
             Descriptor        OBJECT IDENTIFIER value
             ----------        -----------------------
             batteryMIB        { mib-2 233 }
        
6.2. Battery Technology Registration
6.2. 电池技术注册

Object batteryTechnology defined in Section 4 reports battery technologies. Eighteen values for battery technologies have initially been defined. They are listed in a table in Section 3.2.

第4节中定义的对象电池技术报告了电池技术。最初确定了电池技术的18个值。它们列在第3.2节的表格中。

For ensuring extensibility of this list, IANA has created a registry for battery technologies at <http://www.iana.org/assignments/battery-technologies> and filled it with the initial list given in Section 3.2.

为了确保此列表的可扩展性,IANA在<http://www.iana.org/assignments/battery-technologies>并填写第3.2节中给出的初始列表。

New assignments of numbers for battery technologies will be administered by IANA through Expert Review [RFC5226]. Experts must check for sufficient relevance of a battery technology to be added according to the guidelines in Section 3.2.1.

电池技术的新编号分配将由IANA通过专家评审进行管理[RFC5226]。专家必须根据第3.2.1节中的指南检查要添加的电池技术是否具有足够的相关性。

7. References
7. 工具书类
7.1. Normative References
7.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<http://www.rfc-editor.org/info/rfc2119>.

[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, DOI 10.17487/RFC2578, April 1999, <http://www.rfc-editor.org/info/rfc2578>.

[RFC2578]McCloghrie,K.,Ed.,Perkins,D.,Ed.,和J.Schoenwaeld,Ed.“管理信息的结构版本2(SMIv2)”,STD 58,RFC 2578,DOI 10.17487/RFC2578,1999年4月<http://www.rfc-editor.org/info/rfc2578>.

[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, DOI 10.17487/RFC2579, April 1999, <http://www.rfc-editor.org/info/rfc2579>.

[RFC2579]McCloghrie,K.,Ed.,Perkins,D.,Ed.,和J.Schoenwaeld,Ed.“SMIv2的文本约定”,STD 58,RFC 2579,DOI 10.17487/RFC2579,1999年4月<http://www.rfc-editor.org/info/rfc2579>.

[RFC2580] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Conformance Statements for SMIv2", STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999, <http://www.rfc-editor.org/info/rfc2580>.

[RFC2580]McCloghrie,K.,Ed.,Perkins,D.,Ed.,和J.Schoenwaeld,Ed.“SMIv2的一致性声明”,STD 58,RFC 2580,DOI 10.17487/RFC2580,1999年4月<http://www.rfc-editor.org/info/rfc2580>.

[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, DOI 10.17487/RFC3411, December 2002, <http://www.rfc-editor.org/info/rfc3411>.

[RFC3411]Harrington,D.,Presohn,R.,和B.Wijnen,“描述简单网络管理协议(SNMP)管理框架的体系结构”,STD 62,RFC 3411,DOI 10.17487/RFC34112002年12月<http://www.rfc-editor.org/info/rfc3411>.

[RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", STD 62, RFC 3414, DOI 10.17487/RFC3414, December 2002, <http://www.rfc-editor.org/info/rfc3414>.

[RFC3414]Blumenthal,U.和B.Wijnen,“简单网络管理协议(SNMPv3)版本3的基于用户的安全模型(USM)”,STD 62,RFC 3414,DOI 10.17487/RFC3414,2002年12月<http://www.rfc-editor.org/info/rfc3414>.

[RFC3826] Blumenthal, U., Maino, F., and K. McCloghrie, "The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model", RFC 3826, DOI 10.17487/RFC3826, June 2004, <http://www.rfc-editor.org/info/rfc3826>.

[RFC3826]Blumenthal,U.,Maino,F.,和K.McCloghrie,“基于SNMP用户的安全模型中的高级加密标准(AES)密码算法”,RFC 3826,DOI 10.17487/RFC3826,2004年6月<http://www.rfc-editor.org/info/rfc3826>.

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, <http://www.rfc-editor.org/info/rfc5226>.

[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,DOI 10.17487/RFC5226,2008年5月<http://www.rfc-editor.org/info/rfc5226>.

[RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model for the Simple Network Management Protocol (SNMP)", STD 78, RFC 5591, DOI 10.17487/RFC5591, June 2009, <http://www.rfc-editor.org/info/rfc5591>.

[RFC5591]Harrington,D.和W.Hardaker,“简单网络管理协议(SNMP)的传输安全模型”,STD 78,RFC 5591,DOI 10.17487/RFC55912009年6月<http://www.rfc-editor.org/info/rfc5591>.

[RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure Shell Transport Model for the Simple Network Management Protocol (SNMP)", RFC 5592, DOI 10.17487/RFC5592, June 2009, <http://www.rfc-editor.org/info/rfc5592>.

[RFC5592]Harrington,D.,Salowey,J.,和W.Hardaker,“简单网络管理协议(SNMP)的安全外壳传输模型”,RFC 5592,DOI 10.17487/RFC5592,2009年6月<http://www.rfc-editor.org/info/rfc5592>.

[RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport Model for the Simple Network Management Protocol (SNMP)", STD 78, RFC 6353, DOI 10.17487/RFC6353, July 2011, <http://www.rfc-editor.org/info/rfc6353>.

[RFC6353]Hardaker,W.“简单网络管理协议(SNMP)的传输层安全(TLS)传输模型”,STD 78,RFC 6353,DOI 10.17487/RFC6353,2011年7月<http://www.rfc-editor.org/info/rfc6353>.

[RFC6933] Bierman, A., Romascanu, D., Quittek, J., and M. Chandramouli, "Entity MIB (Version 4)", RFC 6933, DOI 10.17487/RFC6933, May 2013, <http://www.rfc-editor.org/info/rfc6933>.

[RFC6933]Bierman,A.,Romascanu,D.,Quittek,J.,和M.Chandramouli,“实体MIB(版本4)”,RFC 6933,DOI 10.17487/RFC6933,2013年5月<http://www.rfc-editor.org/info/rfc6933>.

7.2. Informative References
7.2. 资料性引用

[RFC1628] Case, J., Ed., "UPS Management Information Base", RFC 1628, DOI 10.17487/RFC1628, May 1994, <http://www.rfc-editor.org/info/rfc1628>.

[RFC1628]Case,J.,Ed.,“UPS管理信息库”,RFC 1628,DOI 10.17487/RFC1628,1994年5月<http://www.rfc-editor.org/info/rfc1628>.

[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, DOI 10.17487/RFC3410, December 2002, <http://www.rfc-editor.org/info/rfc3410>.

[RFC3410]Case,J.,Mundy,R.,Partain,D.,和B.Stewart,“互联网标准管理框架的介绍和适用性声明”,RFC 3410,DOI 10.17487/RFC3410,2002年12月<http://www.rfc-editor.org/info/rfc3410>.

[RFC6988] Quittek, J., Ed., Chandramouli, M., Winter, R., Dietz, T., and B. Claise, "Requirements for Energy Management", RFC 6988, DOI 10.17487/RFC6988, September 2013, <http://www.rfc-editor.org/info/rfc6988>.

[RFC6988]Quitek,J.,Ed.,Chandramouli,M.,Winter,R.,Dietz,T.,和B.Claise,“能源管理要求”,RFC 6988,DOI 10.17487/RFC6988,2013年9月<http://www.rfc-editor.org/info/rfc6988>.

[RFC7326] Parello, J., Claise, B., Schoening, B., and J. Quittek, "Energy Management Framework", RFC 7326, DOI 10.17487/RFC7326, September 2014, <http://www.rfc-editor.org/info/rfc7326>.

[RFC7326]Parello,J.,Claise,B.,Schoining,B.,和J.Quitek,“能源管理框架”,RFC 7326,DOI 10.17487/RFC7326,2014年9月<http://www.rfc-editor.org/info/rfc7326>.

[RFC7460] Chandramouli, M., Claise, B., Schoening, B., Quittek, J., and T. Dietz, "Monitoring and Control MIB for Power and Energy", RFC 7460, DOI 10.17487/RFC7460, March 2015, <http://www.rfc-editor.org/info/rfc7460>.

[RFC7460]Chandramouli,M.,Claise,B.,Schoining,B.,Quitek,J.,和T.Dietz,“电力和能源的监控MIB”,RFC 7460,DOI 10.17487/RFC7460,2015年3月<http://www.rfc-editor.org/info/rfc7460>.

[SBS] "Smart Battery Data Specification", Revision 1.1, December 1998.

[SBS]“智能电池数据规范”,第1.1版,1998年12月。

Acknowledgements

致谢

We would like to thank Steven Chew, Bill Mielke, and Alan Luchuk for their valuable input.

我们要感谢Steven Chew、Bill Mielke和Alan Luchuk的宝贵意见。

Authors' Addresses

作者地址

Juergen Quittek NEC Europe, Ltd. NEC Laboratories Europe Network Research Division Kurfuersten-Anlage 36 Heidelberg 69115 Germany

Juergen Quittek NEC Europe,Ltd.NEC实验室欧洲网络研究部Kurfuersten Anlage 36德国海德堡69115

   Phone: +49 6221 4342-115
   Email: quittek@neclab.eu
        
   Phone: +49 6221 4342-115
   Email: quittek@neclab.eu
        

Rolf Winter NEC Europe, Ltd. NEC Laboratories Europe Network Research Division Kurfuersten-Anlage 36 Heidelberg 69115 Germany

Rolf Winter NEC Europe,Ltd.NEC实验室欧洲网络研究部Kurfuersten Anlage 36德国海德堡69115

   Phone: +49 6221 4342-121
   Email: Rolf.Winter@neclab.eu
        
   Phone: +49 6221 4342-121
   Email: Rolf.Winter@neclab.eu
        

Thomas Dietz NEC Europe, Ltd. NEC Laboratories Europe Network Research Division Kurfuersten-Anlage 36 Heidelberg 69115 Germany

Thomas Dietz NEC欧洲有限公司NEC实验室欧洲网络研究部Kurfuersten Anlage 36德国海德堡69115

   Phone: +49 6221 4342-128
   Email: Thomas.Dietz@neclab.eu
        
   Phone: +49 6221 4342-128
   Email: Thomas.Dietz@neclab.eu