コード例 #1
0
parser = argparse.ArgumentParser(
    description='dummy dbus service'
)

parser.add_argument("-n", "--name", help="the D-Bus service you want me to claim",
                type=str, default="com.victronenergy.solarcharger.tty33")

args = parser.parse_args()

logger = setup_logging(debug=True)
logger.info(__file__ + " is starting up, use -h argument to see optional arguments")

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(
    servicename=args.name,
    deviceinstance=0,
    paths={
        '/Dc/0/Voltage': {'initial': 12},
        '/Dc/0/Current': {'initial': 0},
	    '/Dc/0/Power': {'initial': 290, 'update': 1}
},
    productname='Solarcharger',
    connection='VE.Direct port 1')

logger.info('Connected to dbus, and switching over to gobject.MainLoop() (= event based)')
mainloop = gobject.MainLoop()
mainloop.run()

コード例 #2
0
logging.basicConfig(level=logging.DEBUG)
logging.info(__file__ +
             " is starting up, use -h argument to see optional arguments")

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

pvac_output = DbusDummyService(servicename=args.name,
                               deviceinstance=args.position,
                               productname='Grid meter (dummy)',
                               paths={
                                   '/Ac/L1/Power': {
                                       'initial': 150
                                   },
                                   '/Ac/L2/Power': {
                                       'initial': 200
                                   },
                                   '/Ac/L3/Power': {
                                       'initial': 250
                                   },
                                   '/Ac/Power': {
                                       'initial': 600
                                   }
                               })

print(
    'Connected to dbus, and switching over to gobject.MainLoop() (= event based)'
)
mainloop = GLib.MainLoop()
mainloop.run()
コード例 #3
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Serial': {
                             'initial': None
                         },
                         '/CustomName': {
                             'initial': None
                         },
                         '/GroupId': {
                             'initial': None
                         },
                         '/IsInverterCharger': {
                             'initial': 0
                         },
                         '/Alarms/LowVoltage': {
                             'initial': 0
                         },
                         '/Alarms/HighVoltage': {
                             'initial': 0
                         },
                         '/Alarms/LowTemperature': {
                             'initial': 0
                         },
                         '/Alarms/HighTemperature': {
                             'initial': 0
                         },
                         '/Alarms/Overload': {
                             'initial': 0
                         },
                         '/Alarms/Ripple': {
                             'initial': 0
                         },
                         '/Alarms/LowVoltageAcOut': {
                             'initial': 0
                         },
                         '/Alarms/HighVoltageAcOut': {
                             'initial': 0
                         },
                         '/Dc/0/Voltage': {
                             'initial': 50
                         },
                         '/Dc/0/Current': {
                             'initial': 4.1
                         },
                         '/Ac/Out/L1/V': {
                             'initial': 230
                         },
                         '/Ac/Out/L1/I': {
                             'initial': 0.9
                         },
                         '/Ac/Out/L1/P': {
                             'initial': 180
                         },
                         '/Ac/Out/L1/S': {
                             'initial': 200
                         },
                         '/Ac/Out/L1/F': {
                             'initial': 50
                         },
                         '/Mode': {
                             'initial': 2
                         },
                         '/State': {
                             'initial': 9
                         },
                         '/Relay/0/State': {
                             'initial': 0
                         },
                         '/Pv/V': {
                             'initial': 381
                         },
                         '/Yield/Power': {
                             'initial': 123
                         },
                         '/DeviceOffReason': {
                             'initial': 0
                         },
                         '/Soc': {
                             'initial': 10
                         },
                         '/Energy/InverterToAcOut': {
                             'initial': None
                         },
                         '/Energy/OutToInverter': {
                             'initial': None
                         },
                         '/Energy/SolarToBattery': {
                             'initial': None
                         },
                         '/Energy/SolarToAcOut': {
                             'initial': None
                         },
                     },
                     productname='Inverter RS Smart 48V/6000VA/80A',
                     connection='VE.Direct port 1')
コード例 #4
0
def main():
    # Argument parsing
    parser = argparse.ArgumentParser(description='dummy dbus service')

    parser.add_argument("-n",
                        "--name",
                        help="the D-Bus service you want me to claim",
                        type=str,
                        default="com.victronenergy.battery.socketcan_can0")

    parser.add_argument("parent",
                        help="battery service to proxy for",
                        type=str,
                        default="com.victronenergy.battery.ttyO0")

    args = parser.parse_args()
    logging.basicConfig(level=logging.INFO)

    # Have a mainloop, so we can send/receive asynchronous calls to and from dbus
    DBusGMainLoop(set_as_default=True)

    s = DbusDummyService(servicename=args.name,
                         deviceinstance=0,
                         paths={
                             '/Alarms/CellImbalance': {
                                 'initial': 0
                             },
                             '/Alarms/HighChargeCurrent': {
                                 'initial': 0
                             },
                             '/Alarms/HighChargeTemperature': {
                                 'initial': 0
                             },
                             '/Alarms/HighDischargeCurrent': {
                                 'initial': 0
                             },
                             '/Alarms/HighTemperature': {
                                 'initial': 0
                             },
                             '/Alarms/HighVoltage': {
                                 'initial': 0
                             },
                             '/Alarms/InternalFailure': {
                                 'initial': 0
                             },
                             '/Alarms/LowChargeTemperature': {
                                 'initial': 0
                             },
                             '/Alarms/LowTemperature': {
                                 'initial': 0
                             },
                             '/Alarms/LowVoltage': {
                                 'initial': 0
                             },
                             '/Soc': {
                                 'initial': None
                             },
                             '/Dc/0/Voltage': {
                                 'initial': None
                             },
                             '/Dc/0/Current': {
                                 'initial': None
                             },
                             '/Dc/0/Power': {
                                 'initial': None
                             },
                             '/Dc/0/Temperature': {
                                 'initial': 23.8
                             },
                             '/Info/BatteryLowVoltage': {
                                 'initial': None
                             },
                             '/Info/MaxChargeCurrent': {
                                 'initial': None
                             },
                             '/Info/MaxChargeVoltage': {
                                 'initial': None
                             },
                             '/Info/MaxDischargeCurrent': {
                                 'initial': None
                             },
                         },
                         productname='ACME BMS battery',
                         connection='CAN-bus')

    logger.info('Connected to dbus')

    # Track some items and reflect them
    conn = s._dbusservice._dbusconn
    track(conn, args.parent, '/Dc/0/Voltage',
          partial(_set_value, s, '/Dc/0/Voltage'))
    track(conn, args.parent, '/Dc/0/Current',
          partial(_set_value, s, '/Dc/0/Current'))
    track(conn, args.parent, '/Dc/0/Power',
          partial(_set_value, s, '/Dc/0/Power'))
    track(conn, args.parent, '/Soc', partial(_set_value, s, '/Soc'))

    logger.info('Switching over to GLib.MainLoop() (= event based)')
    mainloop = GLib.MainLoop()
    mainloop.run()
コード例 #5
0
                    "--name",
                    help="the D-Bus service you want me to claim",
                    type=str,
                    default="com.victronenergy.charger.ttyO1")

args = parser.parse_args()

print(__file__ + " is starting up, use -h argument to see optional arguments")
logger = setup_logging(debug=True)

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Dc/0/Voltage': {
                             'initial': 31
                         },
                         '/Dc/0/Current': {
                             'initial': 32
                         }
                     },
                     productname='Charger (dummy)',
                     connection='VE.Direct port 1')

logger.info(
    'Connected to dbus, and switching over to GLib.MainLoop() (= event based)')
mainloop = GLib.MainLoop()
mainloop.run()
コード例 #6
0
parser.add_argument(
    "-p", "--position", help="position (and instance): 0=grid, 1=output, 2=genset", type=int,
    default="0")

args = parser.parse_args()

# Init logging
logger = setup_logging(debug=True)
logger.info(__file__ + " is starting up, use -h argument to see optional arguments")

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

pvac_output = DbusDummyService(
    servicename=args.name,
    deviceinstance=args.position,
    paths={
        '/Ac/L1/Power': {'initial': 0, 'update': 0},
        '/Ac/L2/Power': {'initial': 0, 'update': 0},
        '/Ac/L3/Power': {'initial': 0, 'update': 0},
        '/Ac/Energy/Forward': {'initial': 0, 'update': 1},
        '/Position': {'initial': int(args.position), 'update': 0}})

logger.info('Connected to dbus, and switching over to gobject.MainLoop() (= event based)')
mainloop = gobject.MainLoop()
mainloop.run()




コード例 #7
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=1,
                     paths={
                         '/CustomName': {
                             'initial': 'North roof'
                         },
                         '/State': {
                             'initial': 242
                         },
                         '/Dc/0/Voltage': {
                             'initial': 41.0,
                             'update': partial(loop, 41, 20)
                         },
                         '/Dc/0/Current': {
                             'initial': 42.0,
                             'update': partial(loop, 42, 20)
                         },
                         '/Dc/0/Temperature': {
                             'initial': 5,
                             'update': partial(loop, 5, 20)
                         },
                         '/Pv/I': {
                             'initial': 0.0,
                             'update': partial(loop, 0, 20)
                         },
                         '/Pv/V': {
                             'initial': 80.0,
                             'update': partial(loop, 80, 20)
                         },
                         '/Yield/Power': {
                             'initial': 800,
                             'update': partial(loop, 800, 20)
                         },
                         '/Yield/User': {
                             'initial': 0.1,
                             'update': upwards
                         },
                         '/History/Daily/0/TimeInBulk': {
                             'initial': 0,
                             'update': 1
                         },
                         '/Link/NetworkMode': {
                             'initial': None
                         },
                         '/Link/NetworkStatus': {
                             'initial': None
                         },
                         '/Link/ChargeVoltage': {
                             'initial': None
                         },
                         '/Link/ChargeCurrent': {
                             'initial': None
                         },
                         '/Settings/ChargeCurrentLimit': {
                             'initial': 70
                         },
                         '/Settings/BmsPresent': {
                             'initial': None
                         },
                         '/DeviceOffReason': {
                             'initial': 0
                         },
                     },
                     productname='Solarcharger',
                     connection='VE.Direct port 1')
コード例 #8
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Soc': {
                             'initial': 20
                         },
                         '/TimeToGo': {
                             'initial': 20
                         },
                         '/Dc/0/Voltage': {
                             'initial': 21
                         },
                         '/Dc/1/Voltage': {
                             'initial': None
                         },
                         '/Dc/0/Current': {
                             'initial': 22
                         },
                         '/Dc/0/Power': {
                             'initial': 23
                         },
                         '/Dc/0/Temperature': {
                             'initial': None
                         },
                         '/CustomName': {
                             'initial': None
                         }
                     },
                     productname='BMV-700',
                     connection='VE.Direct port 1')
コード例 #9
0
    description='dummy dbus service'
)

parser.add_argument("-n", "--name", help="the D-Bus service you want me to claim",
                type=str, default="com.victronenergy.tank.builtin_adc5_di0")

args = parser.parse_args()

print(__file__ + " is starting up, use -h argument to see optional arguments")
logger = setup_logging(debug=True)

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(
    servicename=args.name,
    deviceinstance=0,
    paths={
        '/Capacity': {'initial': 100},
        '/FluidType': {'initial': 0},
        '/Level': {'initial': 50},
        '/Remaining': {'initial': 50},
        '/Status': {'initial': 1},
    },
    productname='Generic Tank sensor',
    connection='ADC port 1')

logger.info('Connected to dbus, and switching over to GLib.MainLoop() (= event based)')
mainloop = GLib.MainLoop()
mainloop.run()
コード例 #10
0
# Init logging
logging.basicConfig(level=logging.DEBUG)
logging.info(__file__ +
             " is starting up, use -h argument to see optional arguments")

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

pvac_output = DbusDummyService(servicename=args.name,
                               productname='Battery',
                               deviceinstance=223,
                               paths={
                                   '/Dc/0/V': {
                                       'initial': 2,
                                       'update': 0
                                   },
                                   '/Dc/0/I': {
                                       'initial': -15,
                                       'update': 0
                                   },
                                   '/Soc': {
                                       'initial': 10,
                                       'update': 0
                                   }
                               })

print 'Connected to dbus, and switching over to gobject.MainLoop() (= event based)'
mainloop = gobject.MainLoop()
mainloop.run()
コード例 #11
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Start': {
                             'initial': None
                         },
                         '/AutoStart': {
                             'initial': 1
                         },
                         '/CustomName': {
                             'initial': None
                         },
                         '/StatusCode': {
                             'initial': 0
                         },
                         '/ErrorCode': {
                             'initial': 0
                         },
                         '/Engine/Load': {
                             'initial': 65
                         },
                         '/Engine/Speed': {
                             'initial': 1800
                         },
                         '/Engine/OperatingHours': {
                             'initial': 101
                         },
                         '/Engine/CoolantTemperature': {
                             'initial': 92
                         },
                         '/Engine/WindingTemperature': {
                             'initial': 101
                         },
                         '/Engine/ExaustTemperature': {
                             'initial': 188
                         },
                         '/StarterVoltage': {
                             'initial': 12.2
                         },
                         '/Ac/L1/Voltage': {
                             'initial': 230.2
                         },
                         '/Ac/L1/Current': {
                             'initial': 1.2
                         },
                         '/Ac/L1/Power': {
                             'initial': 480.1
                         },
                         '/Ac/L1/Frequency': {
                             'initial': 50.1
                         },
                         '/Ac/L2/Voltage': {
                             'initial': 231.2
                         },
                         '/Ac/L2/Current': {
                             'initial': 1.3
                         },
                         '/Ac/L2/Power': {
                             'initial': 481.1
                         },
                         '/Ac/L2/Frequency': {
                             'initial': 50.1
                         },
                         '/Ac/L3/Voltage': {
                             'initial': 229.2
                         },
                         '/Ac/L3/Current': {
                             'initial': 1.1
                         },
                         '/Ac/L3/Power': {
                             'initial': 481.1
                         },
                         '/Ac/L3/Frequency': {
                             'initial': 50.1
                         },
                     },
                     productname='Generic Genset',
                     connection='CAN-bus')
コード例 #12
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/State': {
                             'initial': 242
                         },
                         '/Dc/0/Voltage': {
                             'initial': 41
                         },
                         '/Dc/0/Current': {
                             'initial': 42
                         },
                         '/Dc/0/Temperature': {
                             'initial': None
                         },
                         '/Link/NetworkMode': {
                             'initial': None
                         },
                         '/Link/NetworkStatus': {
                             'initial': None
                         },
                         '/Link/ChargeVoltage': {
                             'initial': None
                         },
                         '/Link/ChargeCurrent': {
                             'initial': None
                         },
                         '/Settings/ChargeCurrentLimit': {
                             'initial': 70
                         },
                         '/Settings/BmsPresent': {
                             'initial': None
                         },
                         '/DeviceOffReason': {
                             'initial': 0
                         },
                     },
                     productname='Solarcharger',
                     connection='VE.Direct port 1')
コード例 #13
0
s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Ac/ActiveIn/L1/P': {
                             'initial': 0
                         },
                         '/Ac/ActiveIn/ActiveInput': {
                             'initial': 0
                         },
                         '/Ac/ActiveIn/Connected': {
                             'initial': 1
                         },
                         '/Ac/Out/P': {
                             'initial': 0
                         },
                         '/Ac/Out/L1/P': {
                             'initial': 0
                         },
                         '/Dc/0/Voltage': {
                             'initial': 11
                         },
                         '/Dc/0/Current': {
                             'initial': 12
                         },
                         '/Dc/0/MaxChargeCurrent': {
                             'initial': None
                         },
                         '/Devices/0/Assistants': {
                             'initial': [0] * 56
                         },
                         '/FirmwareFeatures/BolFrame': {
                             'initial': None
                         },
                         '/FirmwareFeatures/BolUBatAndTBatSense': {
                             'initial': None
                         },
                         '/Soc': {
                             'initial': 10
                         },
                         '/State': {
                             'initial': None
                         },
                         '/VebusMainState': {
                             'initial': None
                         },
                         '/Hub4/AssistantId': {
                             'initial': None
                         },
                         '/Hub4/Sustain': {
                             'initial': None
                         },
                         '/Hub4/AcPowerSetpoint': {
                             'initial': None
                         },
                         '/Hub4/DisableFeedIn': {
                             'initial': None
                         },
                         '/Hub4/TargetPowerIsMaxFeedIn': {
                             'initial': 0
                         },
                         '/Hub4/FixSolarOffsetTo100mV': {
                             'initial': 0
                         },
                         '/BatteryOperationalLimits/MaxChargeVoltage': {
                             'initial': None
                         },
                         '/BatteryOperationalLimits/MaxChargeCurrent': {
                             'initial': None
                         },
                         '/BatteryOperationalLimits/MaxDischargeCurrent': {
                             'initial': None
                         },
                         '/BatteryOperationalLimits/BatteryLowVoltage': {
                             'initial': None
                         }
                     },
                     productname='Multi 12/3000',
                     connection='CCGX-VE.Bus port')
コード例 #14
0
pvac_output = DbusDummyService(servicename=args.name,
                               deviceinstance=222,
                               productname='Multi',
                               paths={
                                   '/Dc/0/Voltage': {
                                       'initial': 24,
                                       'update': 0
                                   },
                                   '/Dc/0/Current': {
                                       'initial': -3,
                                       'update': 0
                                   },
                                   '/Soc': {
                                       'initial': 80,
                                       'update': 0
                                   },
                                   '/State': {
                                       'initial': 1,
                                       'update': 0
                                   },
                                   '/Ac/ActiveIn/ActiveInput': {
                                       'initial': 0,
                                       'update': 0
                                   },
                                   '/Alarms/HighTemperature': {
                                       'initial': 0,
                                       'update': 0
                                   },
                                   '/Alarms/Overload': {
                                       'initial': 0,
                                       'update': 0
                                   },
                                   '/Ac/Out/P': {
                                       'initial': 80,
                                       'update': 0
                                   },
                                   '/Ac/Out/L1/P': {
                                       'initial': 0,
                                       'update': 0
                                   }
                               })
コード例 #15
0
print(__file__ + " is starting up, use -h argument to see optional arguments")
logger = setup_logging(debug=True)

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/State': {
                             'initial': None
                         },
                         '/Soc': {
                             'initial': 10
                         },
                         '/Dc/0/Voltage': {
                             'initial': 11
                         },
                         '/Dc/0/Current': {
                             'initial': 12
                         }
                     },
                     productname='Multi 12/3000',
                     connection='CCGX-VE.Bus port')

logging.info(
    'Connected to dbus, and switching over to gobject.MainLoop() (= event based)'
)
mainloop = gobject.MainLoop()
mainloop.run()
コード例 #16
0
logger = setup_logging(debug=True)

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Status': {
                             'initial': 0
                         },
                         '/Temperature': {
                             'initial': None
                         },
                         '/TemperatureType': {
                             'initial': 0
                         },
                         '/Scale': {
                             'initial': 1
                         },
                         '/Offset': {
                             'initial': 0
                         },
                     },
                     productname='Generic Temperature sensor',
                     connection='ADC port 1')

logger.info(
    'Connected to dbus, and switching over to gobject.MainLoop() (= event based)'
)
mainloop = gobject.MainLoop()
コード例 #17
0
s = DbusDummyService(servicename=args.name, deviceinstance=args.instance, paths={
		'/Ac/ActiveIn/P': {'initial': 0},
		'/Ac/ActiveIn/L1/P': {'initial': 0},
		'/Ac/ActiveIn/ActiveInput': {'initial': 0},
		'/Ac/ActiveIn/Connected': {'initial': 1},
		'/Ac/Out/P': {'initial': 0},
		'/Ac/Out/L1/P': {'initial': 0},
		'/Ac/NumberOfPhases': {'initial': 1},
		'/Ac/State/IgnoreAcIn1': {'initial': 0},
		'/Ac/State/IgnoreAcIn2': {'initial': 0},
		'/Alarms/HighTemperature': {'initial': 0},
		'/Alarms/L1/HighTemperature': {'initial': 0},
		'/Alarms/L1/LowBattery': {'initial': 0},
		'/Alarms/L1/Overload': {'initial': 0},
		'/Alarms/L1/Ripple': {'initial': 0},
		'/Alarms/LowBattery': {'initial': 0},
		'/Alarms/Overload': {'initial': 0},
		'/Alarms/Ripple': {'initial': 0},
		'/Alarms/TemperatureSensor': {'initial': 0},
		'/Alarms/VoltageSensor': {'initial': 0},
		'/Alarms/GridLost': {'initial': 0},
		'/Alarms/HighDcVoltage': {'initial': 0},
		'/Alarms/HighDcCurrent': {'initial': 0},
		'/Dc/0/Voltage': {'initial': 11},
		'/Dc/0/Current': {'initial': 12},
		'/Dc/0/MaxChargeCurrent': {'initial': None},
		'/Dc/0/Temperature': {'initial': None},
		'/Devices/0/Assistants': {'initial': [0]*56},
		'/Devices/0/ExtendStatus/GridRelayReport/Code': {'initial': None},
		'/Devices/0/ExtendStatus/GridRelayReport/Count': {'initial': None},
		'/Devices/0/ExtendStatus/WaitingForRelayTest': {'initial': 0},
		'/ExtraBatteryCurrent': {'initial': 0},
		'/FirmwareFeatures/BolFrame': {'initial': None},
		'/FirmwareFeatures/BolUBatAndTBatSense': {'initial': None},
		'/Soc': {'initial': 10},
		'/State': {'initial': None},
		'/Mode': {'initial': None},
		'/VebusMainState': {'initial': None},
		'/Hub/ChargeVoltage': {'initial': None},
		'/Hub4/AssistantId': {'initial': None},
		'/Hub4/Sustain': {'initial': None},
		'/Hub4/L1/AcPowerSetpoint': {'initial': None},
		'/Hub4/DisableFeedIn': {'initial': None},
		'/Hub4/TargetPowerIsMaxFeedIn': {'initial': 0},
		'/Hub4/FixSolarOffsetTo100mV': {'initial': 0},
		'/BatteryOperationalLimits/MaxChargeVoltage': {'initial': None},
		'/BatteryOperationalLimits/MaxChargeCurrent': {'initial': None},
		'/BatteryOperationalLimits/MaxDischargeCurrent': {'initial': None},
		'/BatteryOperationalLimits/BatteryLowVoltage': {'initial': None}},
	productname='Multi 12/3000',
	connection='CCGX-VE.Bus port')
コード例 #18
0
print(__file__ + " is starting up, use -h argument to see optional arguments")
logger = setup_logging(debug=True)

# Have a mainloop, so we can send/receive asynchronous calls to and from dbus
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(servicename=args.name,
                     deviceinstance=0,
                     paths={
                         '/Soc': {
                             'initial': 20
                         },
                         '/Dc/0/Voltage': {
                             'initial': 21
                         },
                         '/Dc/0/Current': {
                             'initial': 22
                         },
                         '/Dc/0/Power': {
                             'initial': 23
                         }
                     },
                     productname='BMV-700',
                     connection='VE.Direct port 1')

logger.info(
    'Connected to dbus, and switching over to gobject.MainLoop() (= event based)'
)
mainloop = gobject.MainLoop()
mainloop.run()
コード例 #19
0
DBusGMainLoop(set_as_default=True)

s = DbusDummyService(
    servicename=args.name,
    deviceinstance=args.instance,
    paths={
        '/Alarms/CellImbalance': {'initial': 0},
        '/Alarms/HighChargeCurrent': {'initial': 0},
        '/Alarms/HighChargeTemperature': {'initial': 0},
        '/Alarms/HighDischargeCurrent': {'initial': 0},
        '/Alarms/HighTemperature': {'initial': 0},
        '/Alarms/HighVoltage': {'initial': 0},
        '/Alarms/InternalFailure': {'initial': 0},
        '/Alarms/LowChargeTemperature': {'initial': 0},
        '/Alarms/LowTemperature': {'initial': 0},
        '/Alarms/LowVoltage': {'initial': 0},

        '/Soc': {'initial': 40},
        '/Dc/0/Voltage': {'initial': 25},
        '/Dc/0/Current': {'initial': 20},
        '/Dc/0/Power': {'initial': 500},
        '/Dc/0/Temperature': {'initial': 23.8},
        '/Info/BatteryLowVoltage': {'initial': 23},
        '/Info/MaxChargeCurrent': {'initial': 600},
        '/Info/MaxChargeVoltage': {'initial': 28.4},
        '/Info/MaxDischargeCurrent': {'initial': 600},
    },
    productname='ACME BMS battery {}'.format(args.instance),
    connection='CAN-bus')

logger.info('Connected to dbus, and switching over to gobject.MainLoop() (= event based)')
コード例 #20
0
pvac_output = DbusDummyService(servicename=args.name,
                               deviceinstance=222,
                               productname='Multi',
                               paths={
                                   '/Dc/V': {
                                       'initial': 24,
                                       'update': 0
                                   },
                                   '/Dc/I': {
                                       'initial': 3,
                                       'update': 0
                                   },
                                   '/Soc': {
                                       'initial': 80,
                                       'update': 0
                                   },
                                   '/State': {
                                       'initial': 1,
                                       'update': 0
                                   },
                                   '/Ac/Out/P': {
                                       'initial': 80,
                                       'update': 1
                                   },
                                   '/Ac/ActiveIn/L1/P': {
                                       'initial': 0,
                                       'update': 1
                                   },
                                   '/Ac/ActiveIn/L1/I': {
                                       'initial': 46,
                                       'update': 0
                                   },
                                   '/Ac/ActiveIn/L1/V': {
                                       'initial': 230,
                                       'update': 0
                                   },
                                   '/Ac/ActiveIn/L1/F': {
                                       'initial': 50,
                                       'update': 0
                                   },
                                   '/Ac/NumberOfPhases': {
                                       'initial': 1,
                                       'update': 0
                                   }
                               })