User Tools

Site Tools


open_source:ccgx:commandline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
open_source:ccgx:commandline [2019-01-22 10:43]
127.0.0.1 external edit
open_source:ccgx:commandline [2021-03-06 14:38] (current)
mvader [8. Enabling VRM two-way communication (Remote VEConfigure aka vrmpubnub)]
Line 1: Line 1:
-====== Venus command-line manual ======+====== Venus OS operational commandline manual ======
  
 ===== 1. Introduction ===== ===== 1. Introduction =====
  
-This page explains how to change settings and/or update firmware for various Victron products which are connected to a [[venus-os:start|Venus-device]], for example the Color Control GX, via the command line, ie ssh.+This page explains how to change settings and/or update firmware for various Victron products which are connected to a [[venus-os:start|GX device]], for example the Color Control GX, via the command line, ie ssh.
  
-For more software developer oriented command line tips & tricks, see [[https://github.com/victronenergy/venus/wiki/commandline-introduction|here]] on the Venus wiki.+This document is part of the Venus OS developer documentation. The main document is [[https://github.com/victronenergy/venus/wiki|the Venus OS wiki on github]].
  
 +For more software developer oriented command line tips & tricks, see [[https://github.com/victronenergy/venus/wiki/commandline-introduction|the Venus OS commandline manual for software development]] on the Venus wiki.
 ==== 1.1 No support warning ==== ==== 1.1 No support warning ====
  
 Note regarding support: this document is made available for convenience only. There is no support on this type of using our products. Using the command line is outside normal use; Note regarding support: this document is made available for convenience only. There is no support on this type of using our products. Using the command line is outside normal use;
  
-In case of questions, you can use the [[https://groups.google.com/forum/#!forum/victron-dev-venus|Venus developers mailing list]].+In case of questions, you can use the [[https://groups.google.com/forum/#!forum/victron-dev-venus|Venus developers mailing list]], or the [[https://community.victronenergy.com/spaces/31/index.html|modifications space on Victron Community]].
  
 Our support staff on all official channels, Disqus and elsewhere, does not know how these tools can be used. Our support staff on all official channels, Disqus and elsewhere, does not know how these tools can be used.
Line 22: Line 23:
 Changing settings with products featuring a VE.Bus comm. port (Inverters, Multis and Quattros) is normally done with VEConfigure. Changing settings with products featuring a VE.Bus comm. port (Inverters, Multis and Quattros) is normally done with VEConfigure.
  
-Firmware updates are normally done with VEFlash, a computer tool that is installed together with VEConfigure.+Firmware updates are normally done with VEFlash, a computer tool that is installed together with VEConfigure, or VictronConnect.
  
-To change settings remotely, use [[ccgx:ccgx_ve_power_setup|Remote VEConfigure]].+To change settings remotely, use  [[vrm_portal:remote-veconfigure|Remote VEConfigure.]]
  
 Remotely updating firmware of a VE.Bus product is only possible from the command line, see below. Remotely updating firmware of a VE.Bus product is only possible from the command line, see below.
Line 38: Line 39:
 Both firmware updating as well as changing settings is normally done with [[victronconnect:start|VictronConnect]]. Both firmware updating as well as changing settings is normally done with [[victronconnect:start|VictronConnect]].
  
-It is not possible to remotely change settings. Neither from the command line.+[[https://www.victronenergy.com/media/pg/VictronConnect_Manual/en/victonconnect-remote--vc-r----configuration-and-monitoring-via-vrm.html|VictronConnect Remote]] allows remote changing of settings. It is not available from the command line.
  
-Updating firmware remote is only possible from the command line, see below.+Updating firmware remotely is available via the [[vrm_portal:remote-firmware-update|Remote Firmware Update feature of VRM]] (in the device list), and via the command line, see below.
  
 ==== 1.3 Connecting to the command line and file transfer ==== ==== 1.3 Connecting to the command line and file transfer ====
Line 132: Line 133:
 On that computer, open the file by double clicking it, make the modifications, and save the file again. On that computer, open the file by double clicking it, make the modifications, and save the file again.
  
-Then transfer the new file back onto the [[venus-os:start|Venus-device]].+Then transfer the new file back onto the [[venus-os:start|GX device]].
  
 === Step 3. Writing the new settings to the system === === Step 3. Writing the new settings to the system ===
Line 143: Line 144:
  
 ==== 3.2 Updating VE.Bus firmware === ==== 3.2 Updating VE.Bus firmware ===
 +
 +WARNING: At Victron we don't use this tool. Part of the code is shared with the VE.Bus firmware update functionality in VictronConnect, and therefore proven. But not all. So use at you're own risk.
  
 Requires Venus v2.00 or later. Requires Venus v2.00 or later.
Line 155: Line 158:
 Updating a MultiGrid and also a MultiPlus-II is not (yet) possible with vbdup. Updating a MultiGrid and also a MultiPlus-II is not (yet) possible with vbdup.
  
-Make sure that the [[venus-os:start|Venus-device]] (fe. CCGX), as well as routers or any other used communications equipment, are __not__ powered by the VE.Bus devices. If they are, you'll lose power and connection as soon as the update is started, resulting in a dead system.+Make sure that the [[venus-os:start|GX device]] (fe. CCGX), as well as routers or any other used communications equipment, are __not__ powered by the VE.Bus devices. If they are, you'll lose power and connection as soon as the update is started, resulting in a dead system.
  
 The product that you want to update needs to have application firmware running: just bootloader is not enough. The update starts with requesting the hardware IDs (VE.Bus discovery) from the running application. Those hardware IDs are then used to address the VE.Bus devices once in bootloader mode. After the discovery, the hardware IDs aare stored in a file. In case, for example because of a power loss, the update fails, vbdup will automatically use the hardware IDs stored in that file. The product that you want to update needs to have application firmware running: just bootloader is not enough. The update starts with requesting the hardware IDs (VE.Bus discovery) from the running application. Those hardware IDs are then used to address the VE.Bus devices once in bootloader mode. After the discovery, the hardware IDs aare stored in a file. In case, for example because of a power loss, the update fails, vbdup will automatically use the hardware IDs stored in that file.
Line 285: Line 288:
 Update end send Update end send
 </code> </code>
 +
 +==== 4.4 vreg: changing settings from the command line ====
 +
 +<code>
 +# vreg --help
 +vreg - Victron registers
 +
 +  -b,--bin
 +   Output in binary format.
 +
 +  -g,--get
 +   Get a register.
 +
 +  -n,--nad
 +   The NAD of the target device.
 +
 +  -r,--run
 +   Keep running.
 +
 +  -s,--set
 +   Set a register. Data is set with e.g. un16:2800 un16:12
 +
 +COMMON OPTIONS:
 +
 +  -c, --canbus
 +   Specifies the CAN-bus interface to use, formatted as [driver]:[channel].
 +   kvaser:1 will for example select the first Kvaser channel.
 +   -c ? will list the available gateways.
 +
 +  -d, --dump
 +   Dump the contents of the CAN bus frames. Specifying multiple times increases verbosity.
 +
 +  -h, --help
 +   Print this help.
 +
 +  --log-before <count>
 +   When set to non zero <count> number of log lines, which are
 +   not enabled themselves, are nevertheless shown before an
 +   log which is enabled. For example an error message will be
 +   preceeded by <count> warning and info messages which occured
 +   before the error. Combined with -v also warning messages will
 +   be preceeded by info messages
 +
 +  --log-after <count>
 +   Like -log-before, but temporarily enables tracing of disabled messages
 +   after a warning or error occured.
 +
 +  --silent
 +   Only listen, no messages or acks are sent
 +
 +  -v --verbose
 +   Enable log messages. Specifying multiple times increases verbosity.
 +
 +Victron Energy B.V.
 +</code>
 +
 +Switching all devices on VE.Can off (careful, when having NMEA2000-out enabled, or having an Inverter RS, also AC will be switched off!):
 +<code>
 +vreg -c socketcan:can0 -s 0x0200 un32:0x000004
 +</code>
 +
 +switching a specific device off:
 +<code>
 +vreg -c socketcan:can0 -s 0x0200 un32:0x000004 -n 0x24
 +</code>
 +Note that in above example the VREG data field (un32) is padded with zeros; current firmware requires that, future fw won't any more.
 +
 +Switch a specific device on:
 +<code>
 +vreg -c socketcan:can0 -s 0x0200 un32:0x000001 -n 0x24
 +</code>
 +
 +Seeing which devices are off and which are on goes like this. Press ctrl-C to stop the command.
 +<code>
 +vreg -c socketcan:can0 -g 0x200 -r
 +</code>
 +
 ===== 5. VE.Direct products ===== ===== 5. VE.Direct products =====
  
-List all services running:+==== 5.1 See connected devices ====
  
-  svstat /service/*+<code> 
 +svstat /service/| grep vedirect    
 +/service/vedirect-interface.ttyO2: up (pid 2020) 1210220 seconds, normally down 
 +/service/vedirect-interface.ttyO4: up (pid 2105) 1210218 seconds, normally down 
 +</code>
  
-Look for the product that you want to update, and claim the serial port:+==== 5.2 Firmware update ==== 
 + 
 +First stop the driver:
  
   /opt/victronenergy/serial-starter/stop-tty.sh /dev/ttyUSB0   /opt/victronenergy/serial-starter/stop-tty.sh /dev/ttyUSB0
Line 322: Line 408:
   /opt/victronenergy/serial-starter/start-tty.sh /dev/ttyUSB0   /opt/victronenergy/serial-starter/start-tty.sh /dev/ttyUSB0
  
 +==== 5.3 Changing settings & other remote commands ====
 +
 +See here: https://github.com/victronenergy/venus/wiki/dbus-api.
 +
 +That API allows to read and write VREGs. See MPPT, BMV and other HEX Protocol documents on our white paper section on the website for more information. Once you understood it all; its possible to reset a BMV too 100% with a one liner from the command line, ie "dbus -y com.victronenergy.battery.ttyO1 [find the right path] SetVreg [VREG] [DATA].
 +
 +The API will be used for a feature thats in progress: remotely changing settings of MPPTs, BMVs and other products connected to a GX device on the internet.
 ===== 6. Screenshot ===== ===== 6. Screenshot =====
  
Line 338: Line 431:
   - If you want to set a password, go to Settings -> Remote Console -> Enable password check   - If you want to set a password, go to Settings -> Remote Console -> Enable password check
  
-===== 8. Enabling VRM two-way communication (Remote VEConfigure aka vrmpubnub) ===== 
-If you have a CCGX already installed, but VRM two-way communication is not enabled, follow these steps to enable it remotely: 
- 
-  - SSH into CCGX (make a root password by following instructions [[ccgx:root_access|here]]) 
-    - <code>dbus -y com.victronenergy.settings /Settings/Services/Vrmpubnub SetValue 1</code> 
-  - VE.Configure should now be able to connect to the CCGX 
  
open_source/ccgx/commandline.1548150231.txt.gz · Last modified: 2019-01-22 10:43 by 127.0.0.1